تعریف DTD خارجی در سند:
دو نوع DTD خارجی داریم:
۱- سیستمی (system)
شناسه سیستم یک آدرس URL است که می توان از آن جهت دستیابی به DTDاستفاده نمود. آدرس DTD می تواند به صورت مطلق یا نسبی مشخص شود.
مثال:
<!DOCTYPE class SYSTEM “class.dtd”>
۲- عمومی (public)
برای تعریف DTD (تعریف نوع سند) به صورت عمومی از شناسه عمومی استفاده می کنیم. یک شناسه عمومی دارای فرم زیر است:
reg.type//owner//DTD description//language//
reg.type : اگر DTD استاندارد باشد و به ثبت رسیده باشد علامت + و اگر غیراستاندارد باشد علامت ~ می گذاریم.
owner : نام DTD یا نام شرکتی است که DTDرا به ثبت رسانده است.
description : یک توضیح متنی ساده در خصوص DTD است.
language : کد دو حرفی استاندارد زبانی است که DTD به آن زبان نوشته شده است.
مثال :
<!DOCTYPE class PUBLIC ” ~//class//DTD a sample dtd for a university classroom//FA//”>
در صورتیکه DTD عمومی یک DTDاستاندارد نباشد لازم است شناسه سیستمی هم در کنار شناسه عمومی ذکر شود.
<!DOCTYPE class PUBLIC ” ~//class//DTD a sample dtd for a university classroom//FA//” “class.dtd”>
هنگام استفاده از شناسه عمومی در تعریف DTD در سند ، ویرایشگر به جستجوی نسخه عمومی در WEB
می پردازد و سعی می کند جدیدترین ویرایش از یک نسخه DTD را تهیه نماید و. اگر نتوانست DTD را از روی آدرس url مشخص شده برمی دارد.
نکته : درصورت استفاده از DTD خارجی در تعریف سند xml از صفت standalone=”no” استفاده می کنیم.
<?xml version=”1.0″ standalone=”no”?>