如何使用 XSD?

Dokumen XML dapat mengacu ke DTD atau XML Schema.

Dokumen XML sederhana:

Lihat dokumen XML yang dinamai "note.xml":

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

Berkas DTD

Contoh di bawah ini adalah berkas DTD yang dinamai "note.dtd", yang mendefinisikan elemen dari dokumen XML di atas:

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

Definisi elemen note memiliki empat elemen anak: "to, from, heading, body".

Baris ke 2-5 mendefinisikan tipe elemen to, from, heading, body adalah "#PCDATA".

Schema XML

Contoh di bawah ini adalah berkas XML Schema yang bernama "note.xsd", yang mendefinisikan elemen-elemen dalam dokumen XML di atas:

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

Elemen note adalah tipe kompleks karena ia mengandung elemen anak lainnya. Elemen lainnya (to, from, heading, body) adalah tipe sederhana karena mereka tidak mengandung elemen lainnya. Anda akan belajar lebih banyak tentang tipe kompleks dan tipe sederhana di bab berikutnya.

Referensi DTD

Berkas ini mengandung referensi 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>

Referensi XML Schema

Berkas ini mengandung referensi 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>