Ao analisar um documento XML que tem um DTD sequencial, o analisador XMLNSC não coloca as informações DTD na árvore de mensagens. Entretanto, usando o código ESQL, é possível incluir as definições da entidade XML na árvore de mensagens, e essas definições são usadas quando a árvore de mensagens é produzida pelo analisador XMLNSC.
<BookInfo dtn="BookInfo" edn="author" edv="A.N.Other"/>
A seguinte mensagem de saída é gerada: <!DOCTYPE BookInfo [<!ENTITY author "A.N.Other">]>
<BookInfo><entref>&author;</entref></BookInfo>
ESQL para criar a mensagem de saída: DECLARE cursor REFERENCE TO InputRoot.XMLNSC.BookInfo;
DECLARE docTypeName CHARACTER cursor.dtn;
DECLARE authorRef CHARACTER 'author';
-- Create <!DOCTYPE BOOKInfo …
SET OutputRoot.XMLNSC.(XMLNSC.DocumentType)* NAME = docTypeName;
-- Create <!ENTITY author "A.N.Other" > …
SET OutputRoot.XMLNSC.(XMLNSC.DocumentType){docTypeName}.(XMLNSC.EntityDefinition) {authorRef} = cursor.edv;
-- Create the entity reference
SET OutputRoot.XMLNSC.(XMLNSC.Folder){docTypeName}.(XMLNSC.EntityReference)entref = authorRef;