La declaración de tipo de documento XML incluye el elemento de sintaxis DocTypeDecl y sus descendientes. Juntos componen la construcción de DOCTYPE.
A continuación, se listan los descendientes, algunos de los cuales tienen atributos, junto con los nombres de correlación de cada elemento de sintaxis XML. Para obtener más información acerca de todos estos elementos, consulte Declaración de tipo de documento.
Elemento de sintaxis | Nombre de la correlación |
---|---|
AttributeDef | (XML.AttributeDef) |
AttributeDefDefaultType | (XML.AttributeDefDefaultType) |
AttributeDefType | (XML.AttributeDefType) |
AttributeDefValue | (XML.AttributeDefValue) |
AttributeList | (XML.AttributeList) |
DocTypeComment | (XML.DocTypeComment) |
DocTypeDecl | (XML.DocTypeDecl) |
DocTypePI | (XML.DocTypePI) |
DocTypeWhiteSpace | (XML.DocTypeWhiteSpace) |
ElementDef | (XML.ElementDef) |
EntityDecl | (XML.EntityDecl) |
EntityDeclValue | (XML.EntityDeclValue) |
ExternalEntityDecl | (XML.ExternalEntityDecl) |
ExternalParameterEntityDecl | (XML.ExternalParameterEntityDecl) |
IntSubset | (XML.IntSubset) |
NotationDecl | (XML.NotationDecl) |
NotationReference | (XML.NotationReference) |
ParameterEntityDecl | (XML.ParameterEntityDecl) |
PublicId | (XML.PublicId) |
SystemId | (XML.SystemId) |
UnparsedEntityDecl | (XML.UnparsedEntityDecl) |
Las secciones siguientes de ESQL le muestran cómo crear contenido DocTypeDecl en un mensaje de salida generado por el nodo Compute. También puede utilizar los mismos nombres de correlación para interrogar a todos estos elementos en un mensaje XML de entrada.
-- Crear una declaración de DocType denominada 'test' SET OutputRoot.XML.(XML.DocTypeDecl)test = ''; -- Establecer un ID público y del sistema para la declaración DocType SET OutputRoot.XML.(XML.DocTypeDecl).(XML.SystemId) = 'test.dtd'; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.PublicId) = '//this/is/a/URI/test'; -- Crear un subconjunto interno para contener las definiciones DTD SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset) = ''; -- Crear una declaración de anotación denominada 'TeX' SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.NotationDecl)TeX = ''; -- La declaración de anotación contiene un SystemId y un PublicId SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.NotationDecl)TeX.(XML.SystemId) = '//TexID'; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.NotationDecl)TeX.(XML.PublicId) = '//this/is/a/URI/TexID';
La sección siguiente muestra cómo configurar entidades:
-- Crear una declaración de entidad denominada 'ent1' SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.EntityDecl)ent1 = ''; -- Esto debe contener un valor de declaración de entidad SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.EntityDecl)ent1.(XML.EntityDeclValue) = 'this is an entity'; -- Del mismo modo, para una declaración de entidad de parámetro SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.ParameterEntityDecl)ent2 = ''; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.ParameterEntityDecl)ent2.(XML.EntityDeclValue) ='#PCDATA | subel2'; -- Crear ambos tipos de entidades externa, cada una de ellas con un -- ID público y un ID del sistema SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.ExternalParameterEntityDecl)extent1 = ''; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.ExternalParameterEntityDecl)extent1.(XML.SystemId) = 'more.txt'; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.ExternalParameterEntityDecl)extent1.(XML.PublicId) = '//this/is/a/URI/extent1'; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.ExternalEntityDecl)extent2 = ''; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.ExternalEntityDecl)extent2.(XML.SystemId) = 'more.txt'; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.ExternalEntityDecl)extent2.(XML.PublicId) = '//this/is/a/URI/extent2'; -- Crear una declaración de entidad analizada denominada 'unpsd' SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.UnparsedEntityDecl)unpsd = ''; -- Tiene un ID SystemId, PublicId y una referencia de anotación SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.UnparsedEntityDecl).(XML.SystemId) = 'me.gif'; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.UnparsedEntityDecl).(XML.PublicId) = '//this/is/a/URI/me.gif'; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.UnparsedEntityDecl).(XML.NotationReference) = 'TeX';
La sección siguiente muestra DocTypeWhiteSpace, DocTypeProcessingInstruction y DocTypeComment:
-- Crear un espacio en blanco en la declaración de DocType SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.DocTypeWhiteSpace) = ' '; -- Crear una instrucción de proceso denominada 'test' SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.DocTypePI)test = 'Do this'; -- Añadir un DocTypeComment SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.DocTypeComment) = 'this is a comment';
La sección siguiente muestra cómo configurar los elementos:
-- Crear diferentes elementos SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). XML.ElementDef)subel2 = '(#PCDATA)'; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.ElementDef)subel1 = '(subel2 | el4)+'; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.ElementDef)el1 = '(#PCDATA)'; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.ElementDef)el2 = '(#PCDATA | subel2)*'; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.ElementDef)el3 = '(#PCDATA | subel2)*'; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.ElementDef)el4 = '(#PCDATA)'; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.ElementDef)el5 = '(#PCDATA | subel1)*'; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.ElementDef)el6 = '(#PCDATA)';
La sección siguiente muestra cómo configurar las listas de atributos:
-- Crear una AttributeList para el elemento subel1 SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.AttributeList)subel1 = ''; -- Crear un atributo denominado 'size' con valores enumerados -- 'big' o 'small' SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.AttributeList)subel1.(XML.AttributeDef)size = ''; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.AttributeList)subel1.(XML.AttributeDef)size. (XML.AttributeDefType) = '(big | small)'; -- Establecer el valor por omisión del atributo en 'big' SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.AttributeList)subel1.(XML.AttributeDef)size. (XML.AttributeDefValue) = 'big'; -- Crear otro atributo, esta vez especificando -- DefaultType como #REQUIRED SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.AttributeList)subel1.(XML.AttributeDef)shape = ''; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.AttributeList)subel1.(XML.AttributeDef)shape. (XML.AttributeDefType) = '(round | square)'; -- Crear otra lista de atributos para el elemento el5 con -- un atributo que contiene CDATA como #IMPLIED SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.AttributeList)el5 = ''; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.AttributeList)el5.(XML.AttributeDef)el5satt = ''; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.AttributeList)el5.(XML.AttributeDef)el5satt. (XML.AttributeDefType)CDATA = ''; SET OutputRoot.XML.(XML.DocTypeDecl).(XML.IntSubset). (XML.AttributeList)el5.(XML.AttributeDef)el5satt. (XML.AttributeDefDefaultType) = 'IMPLIED';
Esto genera la siguiente declaración de DocType (tenga en cuenta que se han añadido retornos de carro para facilitar su visualización):
<!DOCTYPE test PUBLIC "//this/is/a/URI/test" "test.dtd" [<!NOTATION TeX PUBLIC "//this/is/a/URI/TexID" "//TexID"> <!ENTITY ent1 "this is an entity"> <!ENTITY % ent2 "#PCDATA | subel2"> <!ENTITY % extent1 PUBLIC "//this/is/a/URI/extent1" "more.txt"> <!ENTITY extent2 PUBLIC "//this/is/a/URI/extent2" "more.txt"> <!ENTITY unpsd PUBLIC "//this/is/a/URI/me.gif" "me.gif" NDATA TeX> <?test Do this?> <!--this is a comment--> <!ELEMENT subel2 (#PCDATA)> <!ELEMENT subel1 (subel2 | el4)+> <!ELEMENT el1 (#PCDATA)> <!ELEMENT el2 (#PCDATA | subel2)*> <!ELEMENT el3 (#PCDATA | subel2)*> <!ELEMENT el4 (#PCDATA)> <!ELEMENT el5 (#PCDATA | subel1)*> <!ELEMENT el6 (#PCDATA)> <!ATTLIST subel1 size (big | small) "big" shape (round | square) #REQUIRED> <!ATTLIST el5 el5satt CDATA #IMPLIED> ]>
Conceptos relacionados
Flujos de mensajes
ESQL
Diseño de mensajes
Tareas relacionadas
Diseño de un flujo de mensajes
Definición del contenido del flujo de mensajes
Gestión de archivos ESQL
Referencia relacionada
Nodo Compute
Nodo Database
Nodo Filter
ESQL
Sentencia SET
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
ac17320_ |