لطفا برای این سند به تصحیح اشتباه که ممکن است در بر دارنده برخی از تصحیحات اصولی (در نسخه انگلیسی) باشد، مراجعه نمایید. همچنین ترجمه ها را ببینید.
همچنین این سند در این قالب های غیر تجویزی هم در دسترس است: چند قطعه فایل XHTML, نسخه پست اسکریپت, نسخه PDF, نسخه ZIP, و بایگانی Gzip'd TAR.
كليه ی حقوق چاپ و نشر 2002 W3C كه شامل تعهدات، علامت تجاری، استفاده از سند و مجوز نرم افزار می باشد، برای (MIT, INRIA, Keio) محفوظ است.
Copyright © 2002 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
این مشخصات ویرایش دوم XHTML 1.0، یک فرمول بندی از HTML 4 همچون یک برنامه XML 1.0 را مشخص می کند، و سه DTD مطابق با واحدهای تعیین شده توسط HTML 4 را تعیین می نماید. معناشناسی عناصر و ویژگی هایشان در توصیه W3C برای HTML 4 تعیین شده اند. اینها معناشناسی بنیادی برای توسعه پذیری XHTML را در آینده فراهم می نمایند. سازگاری با عوامل کاربر HTML موجود با دنبال کردن یک مجموعه کوچک از رهنمودها امکانپذیر است.
این بخش وضعیت این سند را در زمان انتشارش شرح می دهد. اسناد دیگری ممکن است جانشین این سند شوند. آخرین وضعیت این سری سند در W3C نگهداری شده است.
این سند ویرایش دوم اشتباهات اصلاح شدهی پیوستی به مجموعه خصوصیات XHTML 1.0 از تاریخ 1 اوت 2002 می باشد. تغییرات میان این نسخه و توصیه پیشین در یک نسخه نشانه گذاری شده diff توضیح داده شده است.
این ویرایش دوم یک نسخه جدید از XHTML 1.0 نیست (نخست در 26 ژانویه 2000 منتشر شده). تغییرات در این سند بازتاب تصحیحات کاربری در نتیجه نکات ارایه شده توسط انجمن و حاصل کار مداوم در داخل گروه کار HTML می باشد. آنجا تغییرات اساسی ای بجز مجتمع سازی اشتباهات در این سند وجود ندارند.
لیست خطاهای مشخص در این سند (نسخه انگلیسی) در آدرس http://www.w3.org/2002/08/REC-xhtml1-20020801-errata در دسترس می باشد.
لطفا خطاهای موجود در این سند را به www-html-editor@w3.org (بایگانی) گزارش دهید. بحث عمومی در رابطه با ویژگی های HTML بر روی فهرست پستی www- html@w3.org (بایگانی) موجود است.
این سند قبلا به عنوان بخشی از فعالیت W3C HTML ارایه شده است. اهداف گروه کار HTML (تنها اعضا) در منشور گروه کار HTML مطرح شده است.
در زمان انتشار، گروه کار معتقد بود آنجا آشکار سازی های حق امتیاز صفر مربوط به این مجموعه مشخصات بودند. یک لیست از آشکار سازی های مربوط به این مجموعه مشخصات ممکن است بر روی صفحه آشکار سازی های حق امتیاز متعلق به گروه یافت شده باشند.
لیستی از توصیه های موجود W3C و دیگر اسناد تخصصی در http://www.w3.org/TR یافت می شوند.
lang و xml:langاین قسمت آموزنده است.
XHTML یک خانواده از انواع اسناد موجود و آینده و واحدهای عمل آوری مجدد، زیر مجموعه و توسعهی HTML4] HTML 4] میباشد. انواع سند خانوادگی XHTML مبتنی بر XML هستند و در نهایت جهت کار در پیوستگی با عاملهای کاربر مبتنی بر XML طراحی شده اند. تشریح این خانواده و تکاملش در جزئیات بیشتر در [XHTMLMOD] بحث شده است.
XHTML 1.0 (این خصوصیات) اولین نوع سند در خانوادهی XHTML است. آن یک فرمول بندی جدید از سه نوع سند HTML 4 همچون کاربردهای XML 1.0 می باشد. [XML]. این بدین معنی است که همچون یک زبان برای محتوای هر دوی انطباق-XML استفاده شده است و اگر از برخی رهنمودهای نمونه پیروی نموده اند، در HTML 4 مطابق با عاملهای کاربر عمل نمایند. توسعه دهنده هایی که انتقال محتوایشان به XHTML 1.0 مزایای ذیل را تحقق می بخشد:
خانوادهی XHTML گام بعدی در سیر تکاملی اینترنت می باشد. با رفتن به سوی XHTML در امروز، توسعه دهنده های محتوا می توانند دنیای XML را با همهی مزایایش وارد نمایند و هنگامی که با اطمینان در محتوایشان منفعل مانده اند، هماهنگ با گذشته و آینده هستند .
HTML 4] HTML4] یک SGML (زبان نشانه گذاری عمومی شدهی استاندارد) برنامهی کاربردی منطبق با استاندارد بین المللی ISO 8879 است و همچون زبان در حال انتشار استاندارد وب جهانی بسیار مورد توجه بوده است.
SGML زبانی برای توصیف زبانهای نشانه گذاری است، مخصوصا آنهایی که در سند الکترونیکی رد و بدل کننده، مدیریت سند و انتشار سند استفاده شده اند.HTML نمونه ای از یک زبان معین در SGML است.
SGML پس از اواسط 1980 بوجود آمد و کاملا ثابت باقی مانده است. بسیاری از این پایداری ناشی از این واقعیت است که هر دوی feature-rich انعطاف پذیرند. این انعطاف پذیری در هر صورت در یک نرخ آمده و آن نرخ یک سطح از آن پیچیدگی را دارد که پذیرشش را در یک گوناگونی محیط های شامل وب جهانی مانع نشده است.
HTML، همچنانکه تصور شده، جهت مبادله علمی و دیگر اسناد تخصصی، برای متخصصین غیر سند مناسب بود. HTML، مشکل پیچیدگی SGML را با یک مجموعه کوچک مشخص از تگهای ساختاری و معنایی مناسب برای اسناد سادهی خویشاوند رفع نموده است. همچنین ساده کردن ساختار سند، پشتیبانی HTML را از ابر متن اضافه نمود. سپس بعدها امکانات چند رسانه ای افزوده گردید.
در یک فرصت کوتاه زمانی فوق العاده، از نظر عمومی چنان رشد و نمو پیدا کرد که با سرعت فوق تصوری به مقصود اصلی اش رسید. پس از شروع HTML، در آنجا ابداع سریع عناصر جدید جهت استفاده درون HTML (بعنوان یک استاندارد) و برای سازگاری HTML در راستای رشد عالی متخصص، بازارها است. این ازدیاد عناصر جدید مشکلاتی را در راستای یکپارچگی عملیات برای همهی اسناد در محیط های متفاوت بدنبال داشت.
™XML نام خلاصه شدهی زبان نشانه گذاری توسعه پذیر میباشد. [XML].
XML تصور شده بود که بعنوان یک روش بازیافت توان و انعطاف پذیری SGML بیشترین پیچیدگی هایش رفع شود. اگرچه یک شکل محدود شدهی SGML، اکس اچ تی ام ال است با این وجود بیشترین توان و کیفیات SGML را حفظ مینماید و در هر صورت همچنان بطور عادی همهی خصیصه های استفاده شدهی SGML را نگاه داشته است.
در حین نگهداری این ویژگی های مفید، XML بیشتر پیچیدگی ویژگیهای SGML را که تالیف و طراحی نرم افزارهای مناسب را مشکل و پر هزینه میسازند را از میان میبرد.
مزایای تغییر جهت بسوی XHTML 1.0 در بالا تشریح شده است. برخی از مزایای تغییر جهت بسوی XHTML به طور کلی عبارتند از:
این بخش اصلی است.
شرایط و ضوابط ذیل در این خصوصیات بکار رفته اند. این گسترهی شرایط تعاریف در [RFC2119] در جهت انطباق با تعاریف مشابه در ISO/IEC 9945-1:1990 [POSIX.1] می باشند:
این قسمت اصلی است.
این قسمت از XHTML تعریفی از همنوایی اکید XHTML 1.0 را تهیه نموده بطوری که محدود به عناصر و ویژگی هایی از فضاهای نامی XML و XHTML 1.0 است. قسمت 3.1.2 را برای XHTML با دیگر فضاهای نامی، به عنوان نمونه، شامل فراداده های بیان شده در RDF درون اسناد XHTML ببینید.
یک مطابقت اکید اسناد یک سند XML است که تنها نیازمند امکانات تشریح شده بصورت الزامی در این خصوصیات است. چنین سندی باید با همه معیارهای زیر هماهنگ باشد:
آن باید با محدودیت های بیان شده در یکی از سه DTD موجود در DTD ها و در Appendix B مطابق باشد.
عنصر ریشه ای سند باید html باشد.
عنصر ریشه ای سند باید محتوی یک اعلان xmlns برای فضای نامی XHTML
باشد [XMLNS]. فضای نامی برای XHTML به صورت
http://www.w3.org/1999/xhtml تعیین خواهد شد. یک نمونه از عنصر ریشه
ای می تواند بدین گونه به نظر برسد:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
در آنجا بایستی یک بیانیه DOCTYPE در سند قبل از عنصر ریشه وجود داشته باشد. شناسه عامه قرار داده شده در اعلان DOCTYPE بایستی به یکی از سه DTD های موجود در DTDs مورد استفاده شناسه عمومی قراردادی مربوطه رجوع نماید. شناسه سیستم ممکن است تغییر یافته باشد تا قراردادهای سیستم محلی منعکس شوند.
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
زیر مجموعه DTD نبایستی به گونه ای استفاده شده باشد که موجودیت هر پارامتر را در DTD باطل کند.
یک اعلان XML در همهی اسناد XML ضرورتی ندارد؛ هر چند نویسندگان سند XHTML به شدت تشویق شده اند که تا از اعلان XML در تمامی اسنادشان استفاده نمایند. چنین اعلانی هنگامی لازم است که رمزگذاری کاراکتر سند غیر از UTF-8 پیش فرض یا UTF-16 است و رمزگذاری توسط یک پروتکل سطح بالا تعیین نشده باشد. در اینجا مثالی از یک سند XHTML موجود است. در این مثال اعلان XML قرار داده شده است.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Virtual Library</title>
</head>
<body>
<p>Moved to <a href="http://example.org/">example.org</a>.</p>
</body>
</html>
فضای نام XHTML می تواند با دیگر فضاهای نام XML مطابق [XMLNS] استفاده شده باشد، گرچه اسناد این چنینی دقیقا منطبق با اسناد XHTML 1.0 همانند آنچه در بالا تعریف شده، نیستند. با کار W3C راههای آدرس دهی به تبیین تطبیق برای وارد کردن اسناد فضاهای نام چندگانه را مشخص می نماید. به عنوان یک نمونه، [XHTML+MathML] را ببینید.
مثال ذیل مسیری را که در XHTML 1.0 می توانست استفاده شده باشد را در پیوستگی با توصیه MathML نشان می دهد:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>A Math Example</title>
</head>
<body>
<p>The following is MathML markup:</p>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply> <log/>
<logbase>
<cn> 3 </cn>
</logbase>
<ci> x </ci>
</apply>
</math>
</body>
</html>
مثال زیر مسیری را که در نشانه گذاری XHTML 1.0 می توانست درون فضای نام XML دیگری بهم پیوسته شده باشد را نشان می دهد:
<?xml version="1.0" encoding="UTF-8"?>
<!-- initially, the default namespace is "books" -->
<book xmlns='urn:loc.gov:books'
xmlns:isbn='urn:ISBN:0-395-36341-6' xml:lang="en" lang="en">
<title>Cheaper by the Dozen</title>
<isbn:number>1568491379</isbn:number>
<notes>
<!-- make HTML the default namespace for a hypertext commentary -->
<p xmlns='http://www.w3.org/1999/xhtml'>
This is also available <a href="http://www.w3.org/">online</a>.
</p>
</notes>
</book>
یک انطباق دهنده عامل کاربر می بایست منطبق بر تمامی معیارهای زیر باشد:
ID را(مثل ویژگی id
بر روی بیشترین عناصر XHTML) بصورت شناسه های گسسته
تشخیص دهد.White space is handled according to the following rules. The following characters are defined in [XML] white space characters:
- SPACE ( )
- HORIZONTAL TABULATION (	)
- CARRIAGE RETURN (
)
- LINE FEED (
)
پردازنده XML کدهای انتهای خط سیستم های متفاوت را درون یک کاراکتر گذر خط واحد تعدیل می کند، تایید آن بسته به میزان استفاده از آن است.
عامل کاربر باید تعریفی از CSS را برای پردازش کاراکترهای فضای سفید استفاده نماید [CSS2]. یادداشت توصیه CSS2 که با صراحت آدرس صدور جابجایی فضای سفید در مجموعه کاراکتر غیر لاتین را نمی دهد. این نشانی دهی در یک نگارش بعدی از CSS در زمانی که این مرجع به روز درآورده شده است، خواهد بود.
آن یادداشت بترتیب یک سند XHTML متعارف را ارایه می دهد، قواعد بالا بایستی کاربردی و قواعدی در [XMLC14N] همچنین کاربردی در سند داشته باشند.
این بخش آموزنده است.
بنابر اینکه XHTML یک برنامه کاربردی XML است، شیوه های مسلم آن در SGML-based HTML 4 کاملا مجاز بودند [HTML4] بایستی دگرگون شده باشد.
برجستگی خوش ترکیب یک مفهوم جدید معرفی شده توسط [XML] می باشد. در اصل این توانایی که همه عناصر بایستی با هر یک از تگها بسته شوند یا در یک قالب خاص نوشته شده باشند (بطوری که در زیر تشریح شده) آنهم همه عناصر بایستی بدرستی جای گرفته باشند.
اگرچه روی هم افتادگی در SGML غیر مجاز است، در بسیاری از مرورگرهای موجود پذیرفته می شود.
صحیح: عناصر تودرتو.
<p>here is an emphasized <em>paragraph</em>.</p>
نادرست: عناصر رویهم افتاده
<p>here is an emphasized <em>paragraph.</p></em>
اسناد XHTML بایستی برای همه عناصر HTML و نامهای ویژگی از حروف کوچک استفاده نمایند. این تفاوت ضروری است زیرا XML نسبت به بزرگ یا کوچک بودن حروف حساس است، به عنوان مثال <li> و <LI> تگهای متفاوتی هستند.
در SGML-based HTML 4 عناصر مطمئن مجاز بوده اند که تگ پایانی را با عناصری که
بطور ضمنی ادامه داده اند، حذف کنند. XML اجازه نمی دهد
که تگهای پایانی حذف شده باشد. همه عناصر غیر از آنهایی که در
DTD اعلام شده اند همچون EMPTY بایستی یک تگ پایانی داشته
باشد. عناصری که در DTD اعلام شده اند همچون EMPTY
می توانند یک تگ پایانی داشته باشند یا از عنصر اختصاری تهی استفاده نمایند (Empty Elements را ببینید).
صحیح: عناصر پایان داده شده
<p>here is a paragraph.</p><p>here is another paragraph.</p>
نادرست: عناصر پایان داده نشده
<p>here is a paragraph.<p>here is another paragraph.
همه مقادیر ویژگی حتی آنهایی که بصورت عددی ظاهر می شوند، بایستی نقل شده باشند.
صحیح: مقادیر ویژگی نقل شده
<td rowspan="3">
نادرست: مقادیر ویژگی نقل نشده
<td rowspan=3>
XML از حداقل سازی ویژگی پشتیبانی نمی کند. جفت مقدار - ویژگی بایستی کاملا
مکتوب باشد. نام های ویژگی همچون compact و checked نمی
توانند در عناصر خارج از مقدار تعیین شده شان واقع شوند.
صحیح: ویژگی های حداقل سازی نشده
<dl compact="compact">
نادرست: ویژگی های حداقل ساز شده
<dl compact>
عناصر خالی یا یک تگ پایانی دارند یا تگ شروع باید با
</ خاتمه یابد. برای مثال، </br> یا <hr></hr>.
برای کسب اطلاعات در مورد شیوه هایی که تامین کننده سازگاری برگشتی با عامل های
کاربری HTML 4 است، رهنمودهای سازگاری HTML را ببینید.
صحیح: عناصر خالی پایان داده شده
<br/><hr/>
نادرست: عناصر خالی پایان داده نشده
<br><hr>
هنگامی که عاملهای کاربر ویژگی ها را پردازش نمایند، همچنین آنهایی که مطابق Section 3.3.3 و [XML] هستند:
در XHTML اسکریپت و عناصر سبک همچون داشتن محتوای #PCDATA اعلان
شده اند. در نتیجه, < و & همچون شروع نشانه گذاری
رفتار خواهد شد و همچون آنهایی که بصورت < و &
هستند؛ همچون ارجاعات موجود بترتیب به < و &
تشخیص داده خواهند شد. لفاف محتوای اسکریپت و عنصر سبک درون یک قسمت CDATA
نشانه گذاری شده از بسط هویتهای اینها اجتناب می نماید.
<script type="text/javascript"> <![CDATA[ ... unescaped script content ... ]]> </script>
قسمتهای CDATA توسط پردازشگر XML تشخیص
داده شده اند و همچون گره هایی در مدل شیء سند ظاهر می شوند،
قسمت 1.3 توصیه DOM سطح 1 را ببینید [DOM].
یک جایگزین است که از اسکریپت و اسناد سبک خارجی استفاده شود.
SGML به نویسنده یک DTD توانایی مستثنا کردن عناصر ویژه از محتوای موجود درون یک عنصر را اعطا می کند. چنین منعی ("ممانعتهای" فراخوانده) در XML مقدور نیست.
برای مثال، HTML 4 Strict DTD تودرتویی یک عنصر 'a' درون عنصر
دیگری از 'a' با هر عمق ولد (زیر مجموعه ای) را منع می کند. این امکان
ندارد که چنین منعیاتی در XML بزحمت خوانده نشود. حتی
اگر این ممانعتها در DTD تعیین نشده باشند، این قطعی است
که عناصر نبایستی تودرتو باشند. خلاصه ای از عناصر اینچنینی و عناصری که نبایستی
بصورت تودرتو درون یکدیگر قرار بگیرند در ممانعتهای عنصر
موجود است.
HTML 4 ویژگی name را برای عناصر a, applet, form, frame, iframe, img
و
map تعیین نموده است. HTML 4 همچنین ویژگی id را معرفی نموده
است. هر دوی این ویژگی ها جهت تعیین هویتهای تکه استفاده شده اند.
در XML، شناسه های گسسته از نوع ID
هستند و آنجا تنها می تواند یک ویژگی واحد از نوع ID برای هر عنصر
باشد. بنابراین در XHTML 1.0 ویژگی id تعریف شده تا از نوع ID
باشد. بترتیب تضمین اسناد XHTML 1.0 خوش ساختاری اسناد
XML است، اسناد XHTML 1.0 بایستی هنگامی از ویژگی id
استفاده کنند که تعیین شناسه های گسسته بر روی فهرست عناصر بالا باشد.
رهنمودهای سازگاری HTML را جهت آگاهی از تضمین انچورهای
اینچنینی که سازگار برگشتی هستند را ببینید هنگامی اسناد XHTML
بصورت نوع رسانه text/html تعیین می شوند.
یادداشت XHTML 1.0، ویژگی name از این عناصر رسما بد دانسته شده
است و در یک نسخه بعدی از XHTML برداشته خواهد شد.
HTML 4 و XHTML هر دو دارای برخی از ویژگی ها هستند که شامل مجموعه های محدود از
مقادیر از پیش تعریف شده اند. (مثال: ویژگی type عنصر input ).
در SGML و XML، اینها ویژگی های شمرده شده فراخوانی شده هستند. تحت HTML 4 تفسیر
این مقادیر نسبت به حروف کوچک و بزرگ غیر حساس بود، بنابراین یک مقدار TEXT
با text برابر بود. تحت XML، تفسیر این
مقادیر نسبت به حروف کوچک و بزرگ حساس است و در XHTML 1
همه این مقادیر بصورت حروف کوچک تعریف شده اند.
SGML و XML هر دو مراجعات به کاراکترها با استفاده از مقادیر هگزادسیمال را اجازه می دهند. در SGML این مراجع میتوانست با هر یک از ;#Xnn& یا ;#xnn& ساخته شود. در اسناد XML، شما از نسخه حروف کوچک استفاده نمایید. (یعنی: ;#xnn&)
این قسمت اصلی است.
هرچند آنجا نیازی برای اسناد XHTML 1.0 وجود ندارد که با عامل های کاربری موجود سازگار باشند، لیکن عملا انجام این آسان است. راهنمایی برای ایجاد اسناد سازگار می تواند در ضمیمه C یافت شود.
اسناد XHTML که از رهنمودهای بیان شده در ضمیمه C پیروی می کنند، "رهنمودهای سازگاری HTML" می توانند با نوع رسانه "text/html "در [RFC2854] برچسب دار شده باشند، بطوری که با اکثریت مرورگرها سازگار باشند. آن اسناد و هر سند دیگر مطابق با این خصوصیات هم می توانند با نوع رسانه اینترنت "application/xhtml+xml" بصورتی که در [RFC3236] تعیین شده اند، برچسب دار شوند. جهت کسب اطلاعات بیشتر در مورد استفاده انواع رسانه با XHTML، یادداشت آموزنده [XHTMLMIME] را ببینید.
این ضمیمه اصلی است.
اینها DTD ها و مجموعه های شکل موجود یک قسمت اصلی از این خصوصیات را تعیین می نمایند. مجموعه کامل فایلهای DTD به اضافه یک اعلان XML و کاتالوگ باز SGML گذاشته شده در فایل zip و فایل gzip'd tar برای این خصوصیات است. چشم اندازهای کاربرها برای کپی های محلی DTD ها با دانلودی که می بایست می شد و استفاده سریعتر بایگانی آنها از مرجع DTD های ویژه زیر استفاده شود.
این DTD ها نزدیکی زیادی به DTD های HTML 4 دارند. توصیه های W3C که شما نسخه های معتبر این DTD ها را که در خودشان تعریف شده اند را استفاده می نمایید تا هنگامی که شناسه های سیستم محتوا را معتبر سازی کنند. اگر شما نیاز دارید که از یکی DTD های محلی استفاده بنمایید، بایستی یکی از بایگانی های این نسخه را دریافت نموده باشید. به طور کامل نسخه های DTD ها در اینجا گذاشته شده اند:
فایل DTD/xhtml1-strict.dtd یک قسمت اصلی از این خصوصیات است. محتویات حاشیه نوشته شده این فایل دراین بخش مجزا به طور کامل در دسترس هستند.
فایل DTD/xhtml1-transitional.dtd یک قسمت اصلی از این خصوصیات است. محتویات حاشیه نوشته شده این فایل دراین بخش مجزا به طور کامل در دسترس هستند.
فایل DTD/xhtml1-frameset.dtd یک قسمت اصلی از این خصوصیات است. محتویات حاشیه نوشته شده این فایل دراین بخش مجزا به طور کامل در دسترس هستند.
برخی از مجموعه های موجود XHTML مشابه با HTML 4
هستند، اما به اعتبار اعلان های موجود XML 1.0 اصلاح شده
اند. یادداشت موجود برای علامت ارز یورو(;euro& یا
;#8364& یا ;#x20AC&) بعنوان بخشی از کاراکترهای ویژه
تعریف شده است.
فایل DTD/xhtml-lat1.ent یک بخش اصلی از این خصوصیات است. محتویات حاشیه نوشته شده این فایل در این قسمت مجزا برای تکمیل در دسترس هستند.
فایل DTD/xhtml-special.ent یک بخش اصلی از این خصوصیات است. محتویات حاشیه نوشته شده این فایل در این separate section برای تکمیل در دسترس هستند.
فایل DTD/xhtml-symbol.ent یک بخش اصلی از این خصوصیات است. محتویات حاشیه نوشته شده این فایل در این separate section برای تکمیل در دسترس هستند.
این ضمیمه اصلی است.
عناصر زیر ممنوعیتهایی دارند که می تواند در بر گیرنده آن عناصر باشد (SGML Exclusions را ببینید). این ممنوعیتها شامل همه اعماق همه تودرتو سازی می شوند، یعنی تمامی عناصر زاده شده (زیر مجموعه).
aa دیگری را در بر گیرد.preimg, object, big, small, sub,
یا sup را در بر بگیرند.buttoninput, select, textarea, label, button, form, fieldset, iframe
یا
isindex را در بر بگیرند.labellabel دیگری را در بر گیرد.formform دیگری را در بر گیرد.این ضمیمه اصلی است.
این ضمیمه رهنمودهای طراحی برای نویسندگانی که خودشان می خواهند اسناد
XHTML بر روی عامل های کاربری موجود ارایه نمایند را،
خلاصه می نماید. یادداشتی که انطباق عاملهای کاربری را مشخص نمی نماید چگونه می
بایستی اسناد HTML را پردازش کنند. هیچ یک مقصود نوع
رسانه اینترنت text/html را مشخص نمی نمایند. برای این تعاریف، بترتیب [HTML4] و [RFC2854] را
ببینید.
آگاه بودن از دستورالعملهای پردازش در برخی از عاملهای کاربری ارایه شده اند. همچنین تعدادی از عاملهای کاربری اعلان XML که با در نظر گرفتن آن سند ناشناخته XML را سریع تر از HTML تفسیر می نمایند و از اینرو نمی توان آنگونه که انتظار می رود سند را ارایه داد. برای سازگاری با انواعی از این مرورگرهای موروثی، شما می توانید از دستورالعمل های پردازش و اعلان های XML استفاده نکنید. بخاطر داشته باشید، هرچند هنگامی که اعلان XML درون یک سند نیست سند تنها می تواند از کاراکترهای پیش فرض UTF-8 یا UTF-16 استفاده نماید.
در برداشتن یک فضا قبل از دنباله / و <
از عناصر خالی، مثال: </ br /> ،<hr>
و </ "img src="karen.jpg" alt="Karen>. همچنین
استفاده از تگ ترکیب نحوی به حداقل رسانده شده برای عناصر خالی، مثال: </ br>،
بطوریکه تبدیل ترکیب نحوی <br></br>
توسط XML اجازه داده شده است که نتایج متغیری را در
عاملهای کاربری موجود ارایه نماید.
یک نمونه خالی معین که مدل محتوایش EMPTY نیست (برای مثال،
یک عنوان خالی یا پاراگراف) از شکل به حداقل رسانده شده استفاده نکنید (مثال: از
<p> </p> استفاده کنید و نه از </ p>).
استفاده از شیوه نامه های خارجی در صورتی است که شیوه نامه های شما از
> یا & یا
<[[ یا -- استفاده نموده باشند.
استفاده از اسکریپتهای خارجی در صورتی است که اسکریپت شما از
> یا & یا
<[[ یا -- استفاده کرده باشند.
تجزیه کننده های XML مذکور مجازند که به آرامی محتویات
توضیحات را پاک کنند. بنابراین، تکنیک گذشته اسکریپتهای "پنهانی" و شیوه نامه های
درون "توضیحات" که ایجاد اسناد سازگار برگشتنی محتمل است که مورد انتظار نباشند که
همچون عاملهای کاربری مبنی بر XML عمل نمایند.
از فواصل خط و کاراکترهای فضای خالی چندگانه درون مقادیر ویژگی اجتناب نمایید. اینها توسط عاملهای کاربری بطور ناسازگاری بکار رفته اند.
بیشتر از یک عنصر isindex را در head سند قرار ندهید.
عنصر isindex همراه با عنصر input بد دانسته شده است.
lang و xml:langاز هر دو ویژگی lang و xml:lang هنگامی که زبان یک
عنصر مشخص می شود، استفاده نمایید. مقدار ویژگی xml:lang مقدم است.
در XML، URI- مراجع [RFC2396]
که با شناسنده های تکه
"#foo" پایان می یابند نمی توانند با یک ویژگی "name="foo
به عناصر ارجاع داده شوند؛ بلکه آنها با یک ویژگی تعیین شده از نوع ID
می توانند ارجاع داده شوند، مثال: ویژگی id
در HTML 4. بسیاری از سرویس گیرنده های موجود HTML
استفاده از ویژگی های ID- نوع را در این مسیر پشتیبانی نمی
نمایند، بنابراین مقدارهای یکسانی می تواند برای هر دوی این ویژگی ها تهیه شده باشد
تا حداکثر سازگاری ارسال و برگشت را تامین نماید
( مثال: <a id="foo" name="foo">...</a>).
همچنین، پس از مجموعه مقادیر مجاز برای ویژگی های نوع ID بسیار
کوچکتر است از آنهایی است که نوع CDATA هستند، نوع ویژگی name
قبلا به NMTOKEN تغییر یافته است. این ویژگی چنان اجباری است که می
تواند تنها برخی از مقادیر همانند نوع ID را داشته باشد یا همچون
تولید Name در XML 1.0 قسمت 2.3,
تولید 5 باشد. متاسفانه این محدودیت نمی تواند در XHTML 1.0 DTDs بیان شده باشد.
زیرا این تغییر، توجه داشته باشید که اسناد موجود HTML
در حال تغیرند، باید برداشته شده باشد. مقادیر این ویژگی ها بایستی درون سند منحصر
به فرد باشند، معتبر و مراجعه ای به این شناسنده های جزء (هر دوی داخلی و خارجی) می
بایستی مقادیر تغییر یافته در جریان تبدیل را به روز در آورده باشند.
یادداشتی که جمع آوری مقادیر مجاز در XML 1.0 قسمت 2.3، تولید 5 است بسیار
بزرگتر از آن مجازی است که انواع تعیین شده ID و NAME در HTML 4
استفاده شده اند. هنگامی که شناسنده های جزء تعریفی سازگار - برگشتی باشند، تنها
تطبیق رشته های نمونه [A-Za-z][A-Za-z0-9:_.-]* می بایستی استفاده شده
باشد. جهت کسب اطلاعات بیشتر
قسمت 6.2 از [HTML4]
را ببینید.
سرانجام، یادداشتی که XHTML 1.0 بد دانسته ویژگی name از
عناصر a, applet, form, frame, iframe,
img, و map است و در نسخه های بعدی XHTML
برداشته می شود.
به صورت گذشته، رمز گذاری کاراکتر یک سند HTML توسط
یک وب سرور توسط پارامتر مجموعه برگشت نوع محتوای HTTP
هد یا توسط یک عنصر meta در سند خودش معین شده است. در یک سند
XML رمزگذاری کارکترهای سند در اعلان
XML تعیین شده است (مثال: <?"xml version="1.0" encoding="EUC-JP?>).
به ترتیب جهت اسناد قابل حمل موجود با رمزگذاری های کاراکتر ویژه، بهترین شیوه تهیه
وب سروری است که هدرهای صحیح را میسر می سازد. اگر این امکانپذیر نیست، سندی که
بخواهد به مجموعه اش رمزگذاری کاراکتر اضافه شود بایستی صریحا هر دوی اعلان
XML یک اعلان رمزگذاری و یک دستور meta
http-equiv را داشته باشد.
(مثال: </ "meta http-equiv="Content-type" content="text/html; charset=EUC-JP>). در
عاملهای کاربری مطابق با XHTML، مقدار اعلان رمزگذاری
اعلان XML اولویت خواهد داشت.
توجه: آگاه باشید که اگر یک سند بایستی شامل اعلان رمزگذاری کاراکتر در یک دستور meta http-equiv باشد، آن سند همواره می تواند توسط سرورهای HTTP و یا عاملهای کاربری تفسیر شده باشد بطوری که از نوع رسانه اینترنت تعریف شده در آن دستور باشد. اگر یک سند همچون انواع رسانه چندگانه سرویس داده شده است، سرور HTTP بایستی جهت مجموعه رمزگذاری سند استفاده شده باشد.
برخی از عاملهای کاربری نمی توانند ویژگی بولی را هنگامی که بطور کامل به شکل
کوچک نشده ظاهر شوند، تفسیر کنند، بطوری که توسط XML 1.0
مورد نیاز است تذکر این مسئله که عاملهای کاربری با HTML 4
اثر نمی کنند. ویژگیهای ذیل مورد بحث هستند: compact, nowrap, ismap, declare, noshade, checked,
disabled, readonly, multiple, selected, noresize, defer.
توصیه سند مدل شیء سطح 1 [DOM] واسط های سند مدل شیء را برای XML و HTML 4 تعریف می کند. سند مدل شیء HTML 4 عنصر HTML و نامهای ویژگی تعیین شده ای هستند که به حروف بزرگ برگشته اند. سند مدل شیء XML عنصر و نامهای ویژگی تعریف شده در مورد آنهایی است که تعیین شده اند. در XHTML 1.0، عناصر و ویژگی هایی هستند که بصورت حروف کوچک تعیین شده اند. این تفاوت ظاهری می تواند به دو صورت امکانپذیر باشد:
text/html سرویس داده شده اند از
طریق DOM می توانند از HTML DOM
استفاده نمایند و می توانند به عنصر و نامهای ویژگی بازگشتی موجود به حروف بزرگ از
واسط های آنها تکیه نمایند.text/xml, application/xml یا application/xhtml+xml
سرویس داده شده اند همچنین می توانند از XML DOM استفاده
نمایند. عناصر و ویژگیها به حروف کوچک برخواهند گشت.همچنین برخی از اسناد
XHTML می توانند یا نمی توانند در شیء درخت ظاهر شوند
زیرا آنها در مدل محتوا اختیاری هستند (مثال: عنصر tbody
درون table). این اتفاق می افتد زیرا برخی از عناصر
HTML 4 مجاز بوده اند که به حداقل رسانده شده باشند
بطوری که تگهای شروعی و پایانی هر دو از قلم انداخته شده اند (یک ویژگی SGML). این
در XML امکانپذیر نیست. ترجیحا بایستی که نویسندگان سند
عناصر خارجی را درج نمایند، XHTML بصورت دلخواه عناصر را
می سازد. عاملهای کاربری لازم است که بدین صورت وفق داده شوند. جهت کسب
اطلاعات بیشتر در این مورد، لطفا [DOM2] را
ببینید.در هر دوی SGML و XML ، کاراکتر آمپرسند ("&") شروع یک مرجع موجود را
اعلان می نماید (مثال: ;reg& برای سمبل آرم تجاری "®"). متاسفانه، عوامل
کاربری HTML بسیاری بصورت نادرست از کاراکتر آمپرسند در
اسناد HTML بی صدا نادیده پنداشته شده اند - با پرداختن
آمپرسندهایی که به نظر نمی رسد مایل باشند همچون آمپرسندهای تحت الفظی به نظر
برسند. عاملهای کاربری XML-based این استفاده نادرست را تحمل نمی
نمایند و هر سندی که بصورت غلط از یک سند استفاده نماید "معتبر" نخواهد بود و در
نتیجه مطابق با این خصوصیات نمی باشد. به ترتیب جهت تضمین اسنادی که با عاملهای
کاربری HTML و عاملهای کاربری XML-based سازگار هستند،
آمپرسندهای استفاده شده در سندی که بعمل آورده شده اند بطوریکه کاراکترهای تحت
الفظی باید خودشانرا بصورت یک مرجع موجود بیان نموده باشند (مثال: ";amp&").
برای نمونه، ویژگی href از عنصر a ارجاع داده شده به
اسکریپت CGI که پارامترها را بگیرد بصورت
http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user
بایستی بیان شده باشد نه اینکه همچون http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user
بیان شود.
توصیه شیوه نامه آبشاری سطح 2 [CSS2] خصوصیات سبک معینی هستند که جهت درخت تجزیه اسناد HTML یا XML بکار رفته اند. تفاوتها در تجزیه نتایج بصری یا شنوایی متفاوتی را بر اساس گزینشگرهای مورد استفاده بدنبال خواهد داشت. نکات ذیل این اثر را برای اسنادی که بدون تغییر همچون هر دو نوع رسانه سرویس داده شده اند، کاهش می دهد:
در HTML 4 و XHTML، عنصر style می تواند جهت تعیین قواعد سبک داخلی
سند استفاده شده باشد. در XML، یک اعلان شیوه نامه XML جهت تعیین قواعد سبک استفاده
شده است. به ترتیب جهت سازگاری با این قرارداد، عناصر style بایستی
اجزای مربوط به مجموعه شناسه کاربردی ویژگی id را داشته باشند و یک
اعلان شیوه نامهXML می بایستی مرجع این اجزا باشد. برای نمونه:
<?xml-stylesheet href="http://www.w3.org/StyleSheets/TR/W3C-REC.css" type="text/css"?>
<?xml-stylesheet href="#internalStyle" type="text/css"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>An internal stylesheet example</title>
<style type="text/css" id="internalStyle">
code {
color: green;
font-family: monospace;
font-weight: bold;
}
</style>
</head>
<body>
<p>
This is text that uses our
<code>internal stylesheet</code>.
</p>
</body>
</html>
برخی از کاراکترهایی که در اسناد HTML مجازند، در سند XML غیر مجازند. برای نمونه، در HTML، کاراکتر (Formfeed (U+000C بصورت فضای خالی مورد استفاده قرار گرفته است، در XHTML، بعلت تعریف کاراکترهای متعلق به XML، استفاده از آن غیر مجاز است.
مرجع کاراکتر نام بردهی ' (آپوستروف، U+0027) در XML 1.0
معرفی شده اما در HTML ظاهر نمی شود. لذا نویسندگان می
بایستی بجای 39#&; از ;apos&
استفاده نموده باشند تا آنچنان که انتظار می رود در عاملهای کاربری کار کند.
این ضمیمه آموزنده است.
این خصوصیات با مشارکت اعضای کار گروه W3C HTML نوشته شد.
در انتشار ویرایش دوم، اعضای شرکت کننده بدین شرح بودند:
در انتشار ویرایش نخست، اعضای شرکت کننده بدین شرح بودند:
این ضمیمه آموزنده است.