Tutorial XML

INICIO XML Introducción XML XML Cómo utilizar Árbol XML Sintaxis XML Elementos XML Atributos XML Espacios de nombres XML Pantalla XML Solicitud Http XML Analizador XML DOM XML XPath XML XML XSLT XQuery XML Enlace X XML Validador XML DTD XML Esquema XML Servidor XML Ejemplos XML Cuestionario XML Certificado XML

XML-AJAX

AJAX Introducción AJAX XMLHttp Solicitud AJAX Respuesta AJAX Archivo XML AJAX AJAXPHP Ajax ASP Base de datos AJAX Aplicaciones AJAX Ejemplos de AJAX

DOM XML

DOM Introducción Nodos DOM Acceso DOM Información del nodo DOM Lista de nodos DOM Atravesando DOM Navegación DOM DOM obtener valores Nodos de cambio de DOM Eliminar nodos DOM Nodos de reemplazo de DOM DOM Crear nodos Agregar nodos DOM Nodos de clonación de DOM Ejemplos de DOM

Tutorial XPath

Introducción a XPath Nodos XPath Sintaxis XPath Ejes XPath Operadores XPath Ejemplos de XPath

Tutorial XSLT

XSLT Introducción Idiomas XSL Transformación XSLT XSLT <plantilla> XSLT <valor-de> XSLT <para-cada> XSLT <ordenar> XSLT <si> XSLT <elegir> Aplicar XSLT XSLT en el cliente XSLT en el servidor XSLT Editar XML Ejemplos de XSLT

Tutorial de XQuery

Introducción a XQuery Ejemplo de XQuery XQuery FLWOR XQuery HTML Términos de XQuery Sintaxis XQuery XQuery Agregar Seleccionar XQuery Funciones XQuery

DTD XML

Introducción a DTD Bloques de construcción DTD Elementos DTD Atributos DTD Elementos DTD vs Attr Entidades DTD Ejemplos de DTD

Esquema XSD

XSD Introducción XSD Cómo XSD <esquema> Elementos XSD Atributos XSD Restricciones XSD

Complejo XSD

Elementos XSD XSD vacío Solo elementos XSD Solo texto XSD XSD mixto Indicadores XSD XSD <cualquiera> XSD <cualquieratributo> Sustitución XSD Ejemplo XSD

Datos XSD

Cadena XSD Fecha XSD XSD Numérico Miscelánea XSD Referencia XSD

Servicios web

Servicios XML XML WSDL JABÓN XML XML RDF RSS XML

Referencias

Tipos de nodos DOM Nodo DOM Lista de nodos DOM DOM NamedNodeMap Documento DOM Elemento DOM Atributo DOM Texto DOM DOM CDATA Comentario DOM DOM XMLHttpSolicitud Analizador DOM Elementos XSLT Funciones XSLT/XPath

DTD XML


Un documento XML con la sintaxis correcta se denomina "bien formado".

Un documento XML validado con una DTD es tanto "bien formado" como "válido".


¿Qué es un DTD?

DTD significa Definición de tipo de documento.

Una DTD define la estructura y los elementos y atributos legales de un documento XML.


Documentos XML válidos

Un documento XML "válido" está "bien formado", y se ajusta a las reglas de una DTD:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

La declaración DOCTYPE anterior contiene una referencia a un archivo DTD. El contenido del archivo DTD se muestra y explica a continuación.


DTD XML

El propósito de una DTD es definir la estructura y los elementos y atributos legales de un documento XML:

Nota.dtd:

<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>

La DTD anterior se interpreta así:

  • !DOCTYPE nota - Define que el elemento raíz del documento es nota
  • !ELEMENT nota - Define que el elemento nota debe contener los elementos: "a, desde, encabezado, cuerpo"
  • !ELEMENT to - Define que el elemento to sea del tipo "#PCDATA"
  • !ELEMENT from - Define que el elemento from sea del tipo "#PCDATA"
  • !ELEMENT encabezado: define el elemento de encabezado para que sea del tipo "#PCDATA"
  • !ELEMENT cuerpo: define el elemento del cuerpo para que sea del tipo "#PCDATA"

Sugerencia: #PCDATA significa datos de caracteres analizables.



Uso de DTD para la declaración de entidad

Una declaración DOCTYPE también se puede usar para definir caracteres especiales o cadenas, que se usan en el documento:

Ejemplo

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE note [
<!ENTITY nbsp "&#xA0;">
<!ENTITY writer "Writer: Donald Duck.">
<!ENTITY copyright "Copyright: W3Schools.">
]>

<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<footer>&writer;&nbsp;&copyright;</footer>
</note>
Inténtalo tú mismo "

Sugerencia: una entidad tiene tres partes: comienza con un ampersand (&), luego viene el nombre de la entidad y termina con un punto y coma (;).


¿Cuándo usar un DTD?

Con una DTD, grupos independientes de personas pueden acordar usar una DTD estándar para intercambiar datos.

Con una DTD, puede verificar que los datos que recibe del mundo exterior son válidos.

También puede utilizar una DTD para verificar sus propios datos.

Si desea estudiar DTD, lea nuestro Tutorial de DTD .


¿Cuándo NO usar una DTD?

XML no requiere una DTD.

Cuando experimenta con XML, o cuando trabaja con archivos XML pequeños, crear DTD puede ser una pérdida de tiempo.

Si desarrolla aplicaciones, espere hasta que la especificación sea estable antes de agregar una DTD. De lo contrario, su software podría dejar de funcionar debido a errores de validación.