Miten XSD:ää käytetään?

XML-dokumentti voi viitata DTD:hen tai XML Schema:hen.

Yksinkertainen XML-dokumentti:

Tarkastele tätä nimeltään "note.xml" olevaa XML-dokumenttia:

<?xml version="1.0"?>
<note>
<vastaanottaja>George</vastaanottaja>
<lähetä>John</lähetä>
<otsikko>Muistutus</otsikko>
<body>Älä unohta kokousta!</body>
</note>

DTD-tiedosto

Tässä esimerkissä on nimeltään "note.dtd" oleva DTD-tiedosto, joka määrittelee yllä olevan XML-dokumentin elementit:

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

Rivi 1 määrittelee note-elementin neljä alielementtiä: "to, from, heading, body".

Rivit 2-5 määrittelevät to, from, heading, body-elementtien tyypin "#PCDATA".

XML Schema

Tämä esimerkki on nimeltään "note.xsd" XML Schema -tiedosto, joka määrittelee yllä olevan XML-dokumentin elementit:

<?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-elementti on monimutkainen tyyppi, koska se sisältää muita alielementtejä. Muut elementit (to, from, heading, body) ovat yksinkertaisia tyyppisiä, koska ne eivät sisällä muita elementtejä. Sinä oppit tulevaisuudessa lisää monimutkaisista ja yksinkertaisista tyyppityypeistä.

Viittaus DTD:ään

Tämä tiedosto sisältää viittauksen DTD:ään:

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "http://www.codew3c.com/dtd/note.dtd">
<note>
<vastaanottaja>George</vastaanottaja>
<lähetä>John</lähetä>
<otsikko>Muistutus</otsikko>
<body>Älä unohta kokousta!</body>
</note>

Viittaus XML Schema:aan

Tämä tiedosto sisältää viittauksen XML Schema:aan:

<?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">
<vastaanottaja>George</vastaanottaja>
<lähetä>John</lähetä>
<otsikko>Muistutus</otsikko>
<body>Älä unohta kokousta!</body>
</note>