Bagaimana cara menggunakan XSD?

Dokumen XML dapat mereferensi DTD atau XML Schema.

Dokumen XML sederhana:

Lihat berkas XML yang bernama "note.xml":

<?xml version="1.0"?>
<note>
<to>George</to>
<from>John</from>
<heading>Peningatan</heading>
<body>Jangan lupa pertemuan!</body>
</note>

Berkas DTD

Contoh di bawah ini adalah berkas DTD yang bernama "note.dtd", yang mendefinisikan elemen XML yang ada di atas:

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

Baris ke 1 mendefinisikan elemen note memiliki empat elemen anak: "to, from, heading, body".

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

XML Schema

Contoh di bawah ini adalah berkas XML Schema dengan nama "note.xsd" yang mendefinisikan elemen di 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>Peningatan</heading>
<body>Jangan lupa pertemuan!</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>Peningatan</heading>
<body>Jangan lupa pertemuan!</body>
</note>