XSD ¿Cómo?
Los documentos XML pueden tener una referencia a una DTD oa un Esquema XML.
Un documento XML simple
Mire este simple documento XML llamado "note.xml":
<?xml version="1.0"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Un archivo DTD
El siguiente ejemplo es un archivo DTD llamado "note.dtd" que define los elementos del documento XML anterior ("note.xml"):
<!ELEMENT note (to, from, heading, body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
La primera línea define el elemento de nota para que tenga cuatro elementos secundarios: "a, desde, encabezado, cuerpo".
La línea 2-5 define los elementos del cuerpo hacia, desde, encabezado y del tipo "#PCDATA".
Al esquema XML
El siguiente ejemplo es un archivo de esquema XML llamado "note.xsd" que define los elementos del documento XML anterior ("note.xml"):
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="https://www.w3schools.com"
xmlns="https://www.w3schools.com"
elementFormDefault="qualified">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
El elemento de nota es un tipo complejo porque contiene otros elementos. Los otros elementos (hasta, desde, encabezado, cuerpo) son tipos simples porque no contienen otros elementos. Aprenderá más sobre tipos simples y complejos en los siguientes capítulos.
Una referencia a un DTD
Este documento XML tiene una referencia a una DTD:
<?xml version="1.0"?>
<!DOCTYPE note SYSTEM
"https://www.w3schools.com/xml/note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Una referencia a un esquema XML
Este documento XML tiene una referencia a un esquema XML:
<?xml version="1.0"?>
<note
xmlns="https://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://www.w3schools.com/xml note.xsd">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>