How to Use XSD?

Τα έγγραφα XML μπορούν να αναφέρονται σε DTD ή XML Schema.

Μια απλή XML δέσμη:

Δείτε το αρχείο XML με το όνομα "note.xml":

<?xml version="1.0"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

Αρχείο DTD

Η παρακάτω παράδειγμα είναι ένα αρχείο DTD με το όνομα "note.dtd", το οποίο ορίζει τα στοιχεία του παραπάνω XML έγγραφου:

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

Το γραμμάτι 1 ορίζει το στοιχείο "note" να έχει τέσσερις υποστοιχους: "to, from, heading, body".

Τα γραμμάτα 2-5 ορίζουν τους τύπους των στοιχείων "to, from, heading, body" ως "#PCDATA".

XML Schema

Αυτό το παράδειγμα είναι ένα αρχείο XML Schema με το όνομα "note.xsd", το οποίο ορίζει τα στοιχεία του παραπάνω XML εγγράφου:

<?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>

Το στοιχείο "note" είναι τύπος συνδυασμού, επειδή περιέχει άλλους υποστοιχους. Οι άλλοι στοιχοι (to, from, heading, body) είναι απλοί τύποι, επειδή δεν περιέχουν άλλους στοιχους. Θα μάθετε περισσότερα για τους τύπους συνδυασμού και απλούς τύπους στις παρακάτω ενότητες.

Αναφορές στο DTD

Αυτό το αρχείο περιέχει αναφορές στο DTD:

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "http://www.codew3c.com/dtd/note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

Αναφορές στο XML Schema

Αυτό το αρχείο περιέχει αναφορές στο 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>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>