مقدمه (XSD Introduction)
در این بخش با «طرح واره XML (XSD)» آشنا می شویم. «طرح واره (Schema)» یعنی نقشه دقیق ساختار داده. مثل برنامه کلاس که می گوید چه درسی کی است. این نقشه کمک می کند XML فقط «خوش فرم» نباشد، بلکه «درست» هم باشد.
XSD چیست؟
XSD یا «XML Schema Definition» ساختار یک سند XML را توصیف می کند. توصیف یعنی تعریف عناصر، ویژگی ها، تعداد فرزندان، ترتیب آن ها، و نوع داده ها. پس سند طبق یک قرارداد مشترک ساخته می شود.
چرا XSD مهم است؟
استانداردهای زیادی با XML ساخته می شوند. بسیاری با XSD تعریف شده اند. با XSD خطاها زودتر شناسایی می شوند. داده ها بین فرستنده و گیرنده یکسان فهمیده می شوند.
انواع داده در XSD
XSD از «نوع داده (Data Type)» پشتیبانی می کند. این کار اعتبارسنجی را ساده می کند. مثلاً تاریخ با الگوی YYYY-MM-DD ذخیره می شود. این باعث جلوگیری از برداشت های مختلف می شود.
XSD با سینتکس XML
XSD خودش XML است. بنابراین زبان تازه ای یاد نمی گیری. با همان ادیتور XML کار می کنی. با DOM و XSLT هم قابل پردازش و تغییر است. همچنین می توانی نوع های سفارشی بسازی و طرح واره ها را ترکیب کنی.
Well-Formed کافی نیست
«خوش فرم (Well-Formed)» یعنی قواعد نگارشی XML رعایت شده اند. اما ممکن است داده اشتباه باشد. XSD کمک می کند خطاهای معنایی را بگیریم. مثلاً تعداد سفارش اشتباه ثبت نشود.
مثال XSD
این مثال یک عنصر note را با چهار زیرعنصر «to»، «from»، «heading»، «body» تعریف می کند. نوع هرکدام رشته است.
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<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>
تمرین کوتاه
- یک فایل XSD بساز.
- عنصر اصلی را تعریف کن.
- زیرعنصرها و نوع داده را مشخص کن.
- سند XML را با طرح واره اعتبارسنجی کن.
نکته: برای راهنمای گام به گام، صفحه نحوه کار با XSD را ببین.
یادگیری بیشتر
- طرح واره XML (XSD) — راهنمای عملی.
- مثال های DTD — مقایسه با XSD.
- W3C XML Schema Part 1 — تعریف رسمی.
- W3C XML Schema Part 2 — نوع های داده.
جمع بندی سریع
- XSD نقشه دقیق ساختار XML است.
- نوع های داده را مشخص می کند.
- اعتبارسنجی را ساده می کند.
- با XML نوشته می شود.
- Well-Formed کافی نیست؛ XSD لازم است.