اعلامیه نوع سند

یک **اعلامیه نوع سند**  یک دستورالعمل است، که یک سند XML یا SGML بویژه (مثل یک صفحه وب) را به یک «تعریف نوع سند» (DTD) (مثلا تعریف رسمی ۲٫۰ HTML) پیوند می‌دهد. در اسنادی که سریال سازی شده‌اند، این اعلامیه به صورت «یک رشته نشانه گذاری»، و مطابق با یک «ترکیب نحوی» بویژه، ظاهر می‌شود.

موتورهای چیدمان HTML در مرورگرهای وب مدرن برای «اعلامیه نوع سند» عمل «بو کشیدن» یا عمل «جایگزینی» انجام می‌دهند، که در آن اگر «اعلامیه نوع سند» text/html باشد، این موضوع به معنی حالت چیدمان است، مثل «حالت تغییر» یا «حالت استاندارد». در HTML5 (که بر اساس SGML نیست)، از «اعلامیه نوع سند» فقط برای «انتخاب حالت» استفاده می‌شود. به دلیل آنکه مرورگرهای وب، بر اساس «تجزیه کننده‌های HTML تک منظوره»، و نه «تجزیه کننده‌های مبتنی بر DTD همه منظوره»، پیاده‌سازی شده‌اند، مرورگرهای وب از «تعریف نوع سند» استفاده نمی‌کنند. «اعلامیه نوع سند» در HTML5 بدون استفاده است ولی قرار دادن آن لازم می‌باشد، و از آن فقط برای راه انداختن «حالت استاندارد» در مرورگرهای معمول استفاده می‌شود.

## «ترکیب نحوی» برای یک «اعلامیه نوع سند»
یک «ترکیب نحوی» عمومی برای یک «اعلامیه نوع سند» به صورت زیر است:
```html
<!DOCTYPE root-element PUBLIC "FPI" ["URI"] [

]>
```
یا
```xml
<!DOCTYPE root-element SYSTEM "URI" [

]>
```
موارد زیر در ترکیب نحوی اعلامیه نوع سند قرار دارند:

### عنصر ریشه
* در XML عنصر ریشه ای که نشان دهندهٔ سند است، اولین عنصر در سند می‌باشد. برای مثال، در XHTML عنصر ریشه  می‌باشد، و اولین عنصری است که باز می‌شود (بعد از اعلام doctype) و آخرین عنصری است که بسته می‌شود.

### کلمه کلیدی
* کلمات کلیدی SYSTEM و PUBLIC، نوع «تعریف نوع سند» (DTD) را تعیین می‌کنند. یعنی بیان می‌کنند که DTD روی سیستم خصوصی قرار دارد یا به روی مردم باز می‌باشد.

### معین کننده عمومی
* اگر کلمهٔ کلیدی PUBLIC انتخاب شود، در آن صورت این کلمهٔ کلیدی، توسط «تعیین کنندهٔ عمومی» که به آن تعیین کنندهٔ عمومی رسمی (Formal Public Identifier) با مخفف (FPI) گفته می‌شود، ادامه می‌یابد؛ این مقدار باید در علامت نقل قول دوتایی قرار گیرد.

### معین کنندهٔ سیستم
* بعد از FPI، «معین کنندهٔ سیستم» باید (به صورت اجباری) قرار می‌گیرد؛ این مقدار نیز باید در علامت نقل قول دوتایی قرار گیرد.
** مثال: برای مثال برای 1.1 XHTML، «تعیین کنندهٔ عمومی رسمی» مقدار "-//W3C//DTD XHTML 1.1//EN" می‌باشد و یک «تعیین کنندهٔ سیستم» ممکن برای XHTML 1.1، ارجاع URI با آدرس «http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd». است.
** اگر در عوض کلمه کلیدی SYSTEM انتخاب شود، باید فقط تعیین‌کننده سیستم قرار داده شود.

### زیرمجموعه درونی
قسمت نهایی، که در علامت کروشهٔ حرفی ([]) محصور شده‌است، «زیرمجموعه درونی» نام دارد؛ از این قسمت به عنوان اضافه/اصلاح موجودیت‌ها، یا اضافه/اصلاح رفتار کلمه کلیدی PUBLIC استفاده می‌شود. «زیرمجموعه درونی» همیشه اختیاری می‌باشد.

### اسناد مبتنی بر [[اس‌جی‌ام‌ال|SGML]]
از جهت دیگر، اعلام نوع سند در اسناد مبتنی بر SGML (مثل HTML) اندکی متفاوت است. در آنها «تعیین‌کننده عمومی» می‌تواند با «تعیین‌کننده سیستمی» پیوند بخورد. این پیوند می‌تواند توسط یک فایل کاتالوگ انجام گیرد که FPI را به یک «تعیین کنندهٔ سیستم» تبدیل می‌کند.

## ارائهٔ یک مثال از «اعلامیه نوع سند»
خط اول خیلی از صفحات وب جهان‌گستر به صورت زیر خوانده می‌شود:
```html
<!DOCTYPE html PUBLIC
  "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="ar" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
```
این «اعلامیه نوع سند» برای XHTML می‌باشد و یک DTD را توسط ارجاع (reference) در خود قرار داده‌است:
* عنصر ریشه  `html` اعلام شده‌است. پس اولین برچسبی (tag) که پس از اتمام اعلامیه DOCTYPE باز می‌شود تگ html است.
* تعریف نوع سند (DTD) از نوع عمومی می‌باشد.
* تعیین‌کننده عمومی در آن:  `-//W3C//DTD XHTML 1.0 Transitional//EN`
* تعیین‌کننده سیستمی در آن:  ``
* هیچ «زیر مجموعه درونی» در این مثال وجود ندارد.

## منابع
 

رده:استانداردهای اکس‌ام‌ال-مبنا
رده:اکس‌ام‌ال
رده:اچ‌تی‌ام‌ال۵