ورود

View Full Version : DTD



Javad.Kashi
چهارشنبه 26 خرداد 1389, 14:10 عصر
سلام به همه :لبخندساده:
لطفا DTD را توضیح دهید


یا علی مدد

eshpilen
چهارشنبه 26 خرداد 1389, 16:52 عصر
واسه اینکه دندون اسب پیشکشی رو نمیشمارن باید بگم مطالب من استنباط خودمه و خیلی مستند نیست، اما فکر میکنم درست باشه و بر اساس یه مقداری مطالعه هست.
ببینید SGML یه زبانی هست که همهء این Markup language ها مثل HTML و XML و غیره ازش درست شدن. یعنی اینها زیرمجموعهء SGML هستن که یک روش ساختار بندی خیلی کلیه و البته با شرح فنی مفصلیه. درواقع میتونید HTML و XML و غیره رو مثل زیرمجموعهء یک مجموعهء خیلی بزرگتر بنام SGML فرض کنید.
خب در SGML خالص نام تگهای ما هیچ معنا و ساختار خاصی ندارن چون این یک زبان کلی هست و جهت گیری و کاربرد و حیطهء خاصی رو مشخص نمیکنه؛ زبانهایی مثل HTML آمدن و یکسری تگهای استاندارد محدود، با معنا و ساختار نمایشی برای خودشون تعریف کردن.
حالا زبانهایی مثل HTML که میان یک مجموعه تگ با اصول و قواعد خاصی تعریف میکنن، میتونن با استفاده از DTD این ساختار رو در زبان رسمی و قابل فهم برای رایانه شرح بدن و رسمیش کنن. یعنی در یک DTD تعریف میشه چه نام تگ هایی در HTML هست و مثلا فلان تگ میتونه داخل کدوم تگها ظاهر بشه و خیلی جزییات دیگه احتمالا مثل Attribute ها و Entity ها و اینا.
اینا رو گفتم چون همین الان سرسری یه نگاهی به این انداختم و فوری یادم اومد چون سینتاکس DTD رو خیلی وقت پیش مطالعه کرده بودم و دوزاریم افتاد که قضیش چیه: http://en.wikipedia.org/wiki/Document_Type_Definition

eshpilen
چهارشنبه 26 خرداد 1389, 16:54 عصر
البته بگم جایگزین های مفصل تر و قوی تری بجای DTD بوجود آمدن که تمام کارهای DTD رو میتونن انجام بدن به اضافهء چیزهای دیگه و قابلیت توصیف دقیقتر و چیزهای بیشتر، ولی DTD هنوز در کارهای محدود کفایت میکنه و نوشتنش راحتتره و خیلی خلاصه تر درمیاد.

eshpilen
چهارشنبه 26 خرداد 1389, 20:37 عصر
راستی در DTD چیزهایی مثل اینکه تگ <b> چکار میکنه نیامده ها!
فقط سینتاکس در DTD میاد. یعنی اینکه داکیومنتی که شما نوشتید اصلا اصول گرامری درستی داره یا نه میتونه از روی DTD تشخیص داده بشه.