XSD কিভাবে ব্যবহার করা যায়?

XML ডকুমেন্ট DTD বা XML Schema-কে উল্লেখ করতে পারে।

একটি সাধারণ XML ডকুমেন্ট:

দেখুন এই "note.xml" নামক XML ডকুমেন্টটি:

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

DTD ফাইল

নিচের এই উদাহরণ হল "note.dtd" নামক DTD ফাইলটি যা উপরের একটি XML ডকুমেন্টের ইলেকমেন্টকে বর্ণনা করে:

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

প্রথম লাইনটি note ইউনিটকে চারটি সাব-ইউনিট নির্ধারণ করে: "to, from, heading, body"。

পঞ্চম থেকে সপ্তম লাইনগুলি to, from, heading, body ইউনিটগুলির ধরন "#PCDATA"-এর হিসাবে নির্ধারণ করে。

XML Schema

নিচের এই উদাহরণ "note.xsd" নামক XML Schema ফাইলটি উপরোক্ত 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>