¿Cómo usar XSD?

Los documentos XML pueden referirse a DTD o XML Schema.

Un documento XML simple:

Vea el documento XML llamado "note.xml":

<?xml version="1.0"?>
<note>
<to>George</to>
<from>John</from>
<heading>Recordatorio</heading>
<body>No olvide la reunión!</body>
</note>

Archivo DTD

A continuación, se muestra un ejemplo de un archivo DTD llamado "note.dtd", que define los elementos del documento XML anterior:

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

La primera línea define los elementos secundarios del elemento note: "to, from, heading, body".

Las líneas 2-5 definen que los tipos de los elementos to, from, heading, body son "#PCDATA".

Schema XML

El siguiente ejemplo es un archivo de XML Schema llamado "note.xsd", que define los elementos del documento XML anterior:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.codew3c.com"
xmlns="http://www.codew3c.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 "note" es de tipo compuesto porque contiene otros elementos secundarios. Otros elementos (to, from, heading, body) son de tipo simple, porque no contienen otros elementos. Aprenderás más sobre tipos compuestos y simples en los capítulos siguientes.

Referencias a DTD

Este archivo contiene referencias a DTD:

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "http://www.codew3c.com/dtd/note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Recordatorio</heading>
<body>No olvide la reunión!</body>
</note>

Referencias a XML Schema

Este archivo contiene referencias a XML Schema:

<?xml version="1.0"?>
<note
xmlns="http://www.codew3c.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.codew3c.com note.xsd">
<to>George</to>
<from>John</from>
<heading>Recordatorio</heading>
<body>No olvide la reunión!</body>
</note>