La declaración XML se representa en el árbol de mensaje mediante un elemento de sintaxis con el tipo de campo XMLNSC.XMLDeclaration.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE s1 PUBLIC "http://www.ibm.com/example.dtd" "example.dtd">
<s1>........</s1>
La Declaración XML tiene tres atributos opcionales; Version, Standalone, y Encoding. El analizador XMLNSC no define tipos de campo especiales para estos atributos. En su lugar, se identifican por el nombre, y por la posición como hijos del elemento Declaración XML.
CREATE FIRSTCHILD OF OutputRoot.XMLNSC TYPE XMLNSC.XmlDeclaration NAME 'XmlDeclaration';
SET OutputRoot.XMLNSC.(XMLNSC.XmlDeclaration)*.(XMLNSC.Attribute)Version = '1.0';
SET OutputRoot.XMLNSC.(XMLNSC.XmlDeclaration)*.(XMLNSC.Attribute)Encoding = 'UTF-8';
SET OutputRoot.XMLNSC.(XMLNSC.XmlDeclaration)*.(XMLNSC.Attribute)StandAlone = 'yes';
La primera línea es opcional; si se omite, el elemento XMLNSC.XMLDeclaration se crea automáticamente cuando tiene como referencia la segunda línea.//Crear el nodo raíz de dominio XML
MBElement xmlRoot =
root.createElementAsLastChild(MbXMLNSC.PARSER_NAME);
//Crear el nodo padre de declaración XML
MbElement xmlDecl =
xmlRoot.createElementAsFirstChild(MbXMLNSC.XML_DECLARATION);
xmlDecl.setName("XmlDeclaration");
MbElement version =
xmlDecl.CreateElementAsFirstChild(MbXMLNSC.ATTRIBUTE, "Version", "1.0");
MbElement encoding =
xmlDecl.CreateElementAsFirstChild(MbXMLNSC.ATTRIBUTE, "Encoding", "utf-8");
MbElement standalone =
xmlDecl.CreateElementAsFirstChild(MbXMLNSC.ATTRIBUTE, "Standalone", "yes");