DTD e XSD
DTD (Document Type Definition)
Il modo originale per definire la struttura di un documento XML. Può essere dichiarato inline o esternamente.
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Promemoria</heading>
<body>Non dimenticare!</body>
</note>
XSD (XML Schema Definition)
Un’alternativa più potente e basata su XML a DTD. XSD supporta tipi di dati (stringhe, interi, date, ecc.) e namespace.
<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>
XSD è oggi lo standard preferito per la validazione XML.