مقدمه :
در یک عبارت، XML یک متن ساختیافته است. یک نامه، متن ساختیافته است زیرا شامل تاریخ، متن و ... است. هر بخش از یک کتاب یا نامه توسط ساختار آن سند تعریف میشود. برای نمایش ساختار، هر یک از این بخشها میتواند توسط Tagها نشانهگذاری شود (همانند HTML.)
Tagهایی که برای نشانهگذاری اسناد بکارمیروند، جزء مبانی XML هستند. XML روش ایجاد متن ساختیافته به صورتی که توسط ماشین و افراد قابل خواندن باشد، است.
XML برای تشریح هر نوع متن ساختیافته که شامل سایر زبانهای نشانهگذاری نیز میباشد، میتواند بکاربردهشود. چندین زبان نشانهگذاری وجوددارد که بر پایه XML هستند و برای شرح هر چیزی شامل گرافیک و معادلات ریاضی بکاربردهشوند.
مروری بر XML :
مانند یک سند HTML، هر سند XML شامل Tagها و دادهها میباشد. بر خلاف HTML، نام Tagها در XML اختیاری بوده و هر چیزی میتواند باشد. برای مثال :
<B>
<Iz>
<56h11bn>
همگی Tagهای شروع معتبری در XML هستند، ولی برای HTML از این سه Tag فقط <B> معتبر است.
همچنین همانند HTML در بین Tag شروع و پایان میتوان دادهها را قرار داد.
<B>something</B>
<Iz>other</Iz>
در XML، مجموعهی Tag شروع، داده و Tag پایان، یک عنصر نامیده میشود.
در این شکل، قسمتهای مختلف یک عنصر XML را میتوان دید :
یک عنصر، شامل یک Tag شروع، یک Tag پایان، تعدادی خصوصیت اختیاری، داده کاراکتری اختیاری و چند زیرعنصر، به عنوان یک گره نامیده میشود. زیرعنصرها را گرههای فرزند نامگذاری میکنیم. در یک عنصر، قطعا Tagهای شروع و پایان وجوددارند. مانند :
<first></first>
<last></last>
نام عنصر باید منحصر به فرد باشد و همچنین این نام به کوچک و بزرگ بودن حروف، حساس است.
یک عنصر، خود میتواند شامل سایر عناصر یا شامل دادههای کاراکتری باشد.
خصوصیت، جزیی از یک عنصر است. مانند : <first id = "4"> که id = "4" خصوصیت است و first نام عنصر. یک خصوصیت مشابه یک آرایه است که هر دو شامل کلیدو مقدار هستند.
Tagهای XML در یک سند، باید دو مشخصه داشتهباشند :
• خوشترکیب : یک فایل XML را خوشترکیب گوییم، در صورتی که :
همه Tagها، پایان داشته باشند و تمامی عناصر بدرستی تودرتو باشند و تمامی خصوصیات در بین دو نشانه نقل قول " " باشند.
• اعتبار : یک سند معتبر باید خوشترکیب بوده و مطابق یک DTD یا schemaی مشخص باشد.
مثال :
این XML نه خوشترکیب است و نه معتبر :
<root>
<title>
<name>some text</title>
</name>
• <root> پایان ندارد و باید پایان داشته باشد.
• <title> و <name> به شکل نادرستی تودرتو هستند. <name> باید قبل از <title> پایان یابد.
• DTD وجود ندارد، بنابراین این مثال معتبر نیست.
این XML خوشترکیب است ولی معتبر نیست :
<root>
<title>
<name>some text</name>
</title>
</root>
• <root> پایانیافته است.
• <title> و <name> به شکل درستی تودرتو هستند.
• DTD وجود ندارد، بنابراین امکان اعتبارسنجی وجودندارد.
این XML خوش ترکیب و همچنین معتبر است :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [
<!ELEMENT name (#PCDATA)>
<!ELEMENT root (title)>
<!ELEMENT title (name)>
]>
<root>
<title>
<name>some text</name>
</title>
</root>
• <root> پایانیافته است.
• <title> و <name> به شکل درستی تودرتو هستند.
• DTD وجود دارد. بنابراین امکان اعتبارسنجی وجود دارد. البته میتوان DTD را در یک فایل مجزا قرارداد و به آن آدرسدهی نمود.