XSD nasıl kullanılır?

XML belgeleri DTD veya XML Şemasına atıfta bulunabilir.

Basit bir XML belgesi:

Bu "note.xml" adlı XML belgesini görün:

<?xml version="1.0"?>
<note>
<to>George</to>
<from>John</from>
<heading>Hatırlatma</heading>
<body>Toplantıyı unutmayın!</body>
</note>

DTD Dosyası

Aşağıdaki örnek, "note.dtd" adlı DTD dosyasıdır ve yukarıdaki XML belgesinin elementlerini tanımlar:

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

note element'in dört alt elementi var: "to, from, heading, body".

2-5 satırlar, to, from, heading, body öğelerinin türünü "#PCDATA" olarak tanımlar.

XML Şeması

Aşağıdaki örnek, "note.xsd" adlı bir XML Şema dosyasıdır ve yukarıdaki XML belgesinin öğelerini tanımlar:

<?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 öğesi bir bileşik tür, çünkü diğer alt öğeleri içerir. Diğer öğeler (to, from, heading, body) basit türler, çünkü diğer öğeleri içermezler. Bileşik türler ve basit türler hakkında daha fazla bilgiyi aşağıdaki bölümlerde öğreneceksiniz.

DTD'ye atıfta bulunur

Bu dosya DTD'ye atıfta bulunur:

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "http://www.codew3c.com/dtd/note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Hatırlatma</heading>
<body>Toplantıyı unutmayın!</body>
</note>

XML Şemasına atıfta bulunur

Bu dosya XML Şemasına atıfta bulunur:

<?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>Hatırlatma</heading>
<body>Toplantıyı unutmayın!</body>
</note>