Estructura de un Documento XML
Un documento XML se compone de varios elementos y estructuras que definen su contenido y validez. A continuación, se detallan los componentes clave:
Componentes Básicos
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | Declaración XML |
Espacios en blanco (espacio, retorno de carro, avance de línea, tabulador, etc) | |
<!--Comentarios--> | Comentarios |
<?xml-stylesheet type="text/css" href="your_documents_css.css"?> | Hoja de estilos externa para navegar por el documento XML |
<?documento de word = "test.doc"?> | Instrucciones de procesamiento |
<!DOCTYPE root_element [root_element (#PCDATA)]> | Declaración DOCTYPE interna |
<!DOCTYPE root_element SYSTEM "your_documents_dtd.dtd"> | Declaración DOCTYPE externa |
<root_element> | Etiqueta abierta de «root_element» |
<subelemento> | Etiqueta abierta de «subelemento» |
... Texto ... | Datos |
<subSubElement attr_name="attr_value"> | Etiqueta abierta de «subSubElement» con atributo «attr_name» igual a «attr_value» |
<![CDATA[... cualquier caracteres (incluido el marcado) ...]]> | Sección CDATA |
</subSubElement> | Etiqueta de cierre de «subSubElement» |
</subelemento> | Etiqueta de cierre de «subelemento» |
Estructura Detallada
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | Declaración XML | |||
Los espacios en blanco (espacio, retorno de carro, avance de línea, tabulador, etc) | ||||
<!--Comentarios--> | Comentarios | |||
<?xml-stylesheet type="text/css" href="your_documents_css.css"?> | Hoja de estilos externa para navegar por el documento XML | |||
<?documento de word = "test.doc"?> | Instrucciones de procesamiento | |||
<!DOCTYPE root_element [root_element (#PCDATA)]> | Declaración DOCTYPE interna | |||
<!DOCTYPE root_element SYSTEM "your_documents_dtd.dtd"> | Declaración DOCTYPE externa | |||
<root_element> | Etiqueta abierta de «root_element» | |||
<subelemento> | Etiqueta abierta de «subelemento» | |||
... Texto ... | Datos | |||
<subSubElement attr_name="attr_value"> | Etiqueta abierta de «subSubElement» con atributo «attr_name» igual a «attr_value» | |||
<![CDATA[... cualquier caracteres (incluido el marcado) ...]]> | Sección CDATA | |||
</subSubElement> | Etiqueta de cierre de «subSubElement» | |||
</subelemento> | Etiqueta de cierre de «subelemento» | |||
Documento bien formado (well-formedness) | <emptyElement/> | Etiqueta de elemento vacío | ||
Tiene un único elemento raíz | <anotherSubElement xmlns="http://www.xml.su/shema1"> | Etiqueta abierta de «anotherSubElement» con nombre «http://www.xml.su/shema1» por defecto | ||
Todo otro elemento están correctamente anidados: | ||||
– Todos los elementos son hijos del elemento raíz | <element1> | Etiqueta abierta de «element1» del espacio de nombres «http://www.xml.su/shema1« | ||
– Todos los elementos están correctamente emparejados | </element1> | Etiqueta de cierre de «element1» | ||
– El nombre del elemento en una etiqueta de comienzo y una etiqueta de fin son exactamente los mismos | <elemento2 xmlns:sh="http://www.xml.su/shema2"> | Etiqueta abierta de «elemento2» con nombre «http://www.xml.su/shema2» para el prefijo sh | ||
– Los nombres de atributo se utiliza sólo una vez dentro de un mismo elemento | <sh:emptyElement/> | Etiqueta vacía de «sh:emptyElement» del espacio de nombres «http://www.xml.su/shema2« | ||
Documento XML válido | </elemento2> | Etiqueta de cierre de «elemento2» | ||
Cumplir con las limitaciones impuestas a la posición de cada elemento en el documento | </anotherSubElemen> | Cierre etiqueta de «anotherSubElemen» | ||
Cumplir con los constaints colocados en los atributos de cada elemento | ... | Cualquier superposición de elementos (anidados), elementos vacíos, datos de texto, CDATA, comentarios y espacios en blanco | ||
Exigir una definición de tipo de documento o esquema XML para especificar las restricciones | ... | |||
</root_element> | Etiqueta de cierre de «root_element» | |||
Declaración XML | Comentarios | |||
<?xml | La declaración XML es una instrucción de procesamiento que identifica el documento como XML. Todos los documentos XML deben comenzar con una declaración XML. Reglas:
Nota:
| <!--comments--> | Los comentarios se utilizan para ocultar el texto por parte del usuario final, cuando el documento de salida en la pantalla. Son útiles como notas al autor del documento, o de otros autores que pueden modificar el documento. Reglas:
| |
Instrucciones de procesamiento | ||||
Las instrucciones de procesamiento se utilizan para integrar la información destinada a aplicaciones propietarias. La declaración XML es un ejemplo de una instrucción de procesamiento. Las instrucciones de procesamiento que comienzan con ‘xml’ o ‘XML’ se han reservado para la normalización en la versión de la especificación XML 1.0 en adelante. | ||||
<?PI-target?> |
Reglas:
| |||
Lista de los atributos posibles que se pueden utilizar en la declaración XML. |
Nombre del atributo: | Atributo Valor posible: | Atributo Descripción: |
---|---|---|
versión | 1.0 | Especifica la versión del estándar XML que el documento XML cumple. El atributo de versión debe incluirse si la declaración XML se declara |
codificación | UTF-8, UTF-16, ISO-10646-UCS-2, ISO-10646-UCS-4, ISO-8859-1 a la norma ISO-8859-9, ISO-2022-JP, Shift_JIS, EUC-JP | Estos son los nombres de codificación de caracteres más comunes en uso hoy en día. Para obtener una lista completa de codificaciones consultar la página web de IANA. |
independiente | si, no | Use ‘sí’ si el documento XML tiene una DTD interna. Utilice «no» si el documento XML está vinculado a una DTD externa, o cualquier otra restricción de entidad externa. |
Secciones CDATA
Las secciones CDATA se utilizan para mostrar marcas sin que el procesador XML tratando de interpretar el lenguaje de formato. Son particularmente útiles cuando se quiere mostrar secciones de código XML.
<![CDATA[... cualquier caracteres (incluido el marcado) ...]]>
Reglas:
La cadena ‘]]>’ No se puede colocar dentro de una sección CDATA, por lo tanto, secciones CDATA anidadas no están permitidas.
Declaración DOCTYPE y las DTDs
La declaración de tipo de documento (DOCTYPE) consta de una interna, o hace referencia a una Definición de Tipo de Documento (DTD) externa. También puede tener una combinación de DTD tanto internas como externas. La DTD define las restricciones sobre la estructura de un documento XML. Se declara todo tipo de elemento del documento, los tipos de los elementos secundarios, y el orden y número de cada tipo de elemento. También declara los atributos, entidades, notaciones, instrucciones de procesamiento, comentarios y referencias de educación física en el documento.
Un documento puede utilizar subconjuntos DTD internos y externos. El subconjunto DTD interno está especificado entre los corchetes de la declaración DOCTYPE. La declaración de la DTD subconjunto externo se coloca delante de los corchetes inmediatamente después de la palabra clave SYSTEM.
Importante:
DTD (Declaración de tipo de documento) en una página
Documentación:
- Extensible Markup Language (XML)
- Extensible Markup Language (XML) 1.0 (Tercera Edición)
- El Extensible Stylesheet Language Family (XSL)
- W3C XML Pointer, Base XML y XML Linking (XLink)
- W3C XML Query (XQuery)
- XML Schema
- Modelo de Procesamiento de XML Grupo de Trabajo
- Caracterización de XML Binario Grupo de Trabajo Público Page
- Intercambio Eficiente de XML Grupo de Trabajo Público Page
Validadores:
- W3C Markup Validator – También conocido como el validador de HTML, ayuda a controlar los documentos Web en formatos como HTML y XHTML, SVG o MathML
- Checklink – Anclajes cheques (hipervínculos) en un documento HTML / XHTML. Es útil para encontrar enlaces rotos, etc
- CSS Validator – valida hojas de estilo CSS o documentos utilizando hojas de estilo CSS.
- RDF Validator
- Alimente Validator – Que ayuda a controlar fuentes de noticias en formatos como ATOM, RSS de varios sabores.
- P3P Validator – Comprueba si un sitio es P3P habilitado y controla el protocolo y la sintaxis de la política-Reference-File y Política
- XML Schema Validator
- Mutat – una herramienta de prueba centrado en el hombre (marco)
El interior DTD:
Definición de tipo de documento (DTD): elementos / atributos / entidades / anotaciones / procesamiento de instrucciones / comentarios / referencias PE
Reglas:
- La declaración de tipo de documento debe ser colocado entre la declaración XML y el primer elemento (elemento raíz).
- El DOCTYPE debe ir seguida por el nombre del elemento raíz.
- La palabra clave DOCTYPE debe ser en mayúsculas.
«Privados» DTD externas: <!DOCTYPE root_element SYSTEM "DTD_location">
«Público» DTD externas: <!DOCTYPE root_element PUBLIC "DTD_name" "DTD_location">
Las DTD externas son útiles para crear una DTD común que puede ser compartido entre varios documentos. Los cambios que se realizan en el DTD externa actualiza automáticamente todos los documentos que hacen referencia a él. Hay dos tipos de DTD externas: privado y público.
Las DTD externas privadas se identifican con la palabra clave SYSTEM, y están destinados a ser utilizados por un solo autor o grupo de autores.
Las DTD externas públicas se identifican por la palabra clave PUBLIC y están destinados para un amplio uso. El «DTD_location» se utiliza para encontrar el público DTD si no puede ser localizado por el «DTD_name».
Reglas:
- Si alguno de los elementos, atributos o entidades que se utilizan en el documento XML que se hace referencia o se define en una DTD externa,
standalone = "no"
deben ser incluidos en la declaración XML.
DTD_location
: URL relativa o absoluta
DTD_name
sigue la sintaxis: «prefijo // owner_of_the_DTD // description_of_the_DTD // ISO 639_language_identifier»
Los prefijos están permitidos en el nombre DTD.
Prefijo:
Definición:
ISO: La DTD es un estándar ISO. Todas las normas ISO son aprobados.
+: La DTD es un no-aprobado la norma ISO.
-: La DTD es un no-no aprobado la norma ISO.