لطفا به تصحیح نامه ی سند فعلی که ممکن است تعدادی از اشکالات و تصحیحات معمولی و استاندارد (در نسخه انگلیسی) آن ذکر شده باشد، مراجعه نمایید. همچنین ترجمه های این سند را ملاحظه فرمایید.
در ضمن این سند در قالب نسخه هایی غیر از نسخه ی اصلی هم در دسترس است که عبارتند از: فایل چند بخشی XHTML، نسخه ی پست اسکریپت، نسخه ی PDF، فایل ZIP، و فایل tgz.
كليه ی حقوق چاپ و نشر 2002 W3C كه شامل تعهدات، نشان تجاری، استفاده از سند و قوانین صدور مجوز نرم افزار 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 را شامل می شود. تغییرات میان این نسخه و توصیه نامه ی پیشین در نسخه ی نشانه گذاری شده ی متفاوتی تبیین شده است.
این ویرایش دوم نسخه جدیدی از 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 (آرشیو) در جریان است.
این سند قبلا به عنوان بخشی از فعالیت 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 شوند و در عین حال که هماهنگی و انطباق خود را با محتوای اسناد گذشته و آینده حفظ می نمایند می توانند از همهی مزایای آن هم استفاده کنند.
HTML4] HTML4] یک زبان SGML (زبان نشانه گذاری عمومی شدهی استاندارد) کاربردی منطبق با استاندارد بین المللی ISO 8879 است و به عنوان زبان استاندارد انتشار وب جهانی بسیار مورد توجه قرار گرفته است.
SGML زبانی برای توصیف زبانهای نشانه گذاری است، به ویژه زبانهایی که در تبادل سند الکترونیکی، مدیریت سند و انتشار سند استفاده شده اند. HTML نمونه ای از یک زبان مبتنی بر SGML است.
SGML در نیمه ی دوم سال 1980 بوجود آمده و کاملا ثابت باقی مانده است. بخش اعظم این پایداری ناشی از این واقعیت است که از نظر محتوا غنی و انعطاف پذیر است. با این حال رسیدن به چنین سطحی از انعطاف پذیری کار چندان آسانی نیست و همین سختی گوشه ای از پیچیدگی های آن می باشد و همین امر مانع پذیرش آن در محیط های متنوع، از جمله در وب جهانی است.
HTML، همچنانکه که در ابتدا انتظار می رفت، قرار بر این بود زبانی جهت تبادل علمی و اسناد فنی دیگر و مناسب برای استفاده ی دیگر متخصصان هم باشد. HTML، مشکل پیچیدگی SGML را با تعیین مجموعه ی کوچکی از تگهای ساختاری و معنایی مناسب برای نوشتن اسناد نسبتا ساده رفع نموده است. علاوه بر ساده کردن ساختار سند، HTML ابر متن را هم مورد پشتیبانی قرار داد. سپس قابلیت های چند رسانه ای نیز به آن افزوده شد.
در مدت زمان بسیار کوتاهی، HTML محبوبیت بسیار زیادی یافت و چنان رشد و نموی پیدا کرد که با سرعت به هدف اصلی خود نائل آمد. پس از ظهور HTML، ابداع عناصر جدید جهت استفاده درون HTML (به عنوان استاندارد) و برای سازگاری HTML با بازارهای رو به رشد و بسیار تخصصی، سرعت گرفت. این ازدیاد عناصر جدید منجر به ایجاد مشکلاتی در تولید اسناد مناسب برای سیستم عامل های مختلف و محیط های متفاوت شده است.
™XML نام خلاصه شدهی زبان نشانه گذاری توسعه پذیر [XML] میباشد.
XML به عنوان روشی جهت بازیافت قدرت و انعطاف پذیری SGML فارغ از اکثر پیچیدگی های آن، شکل گرفت. اگرچه XML شکل ساده شدهی 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 است. جهت کسب اطلاعاتی راجع به بکارگیری XHTML با دیگر فضاهای نامی، به عنوان نمونه، شامل فراداده های بیان شده در RDF درون اسناد XHTML، قسمت 3.1.2 را ملاحظه فرمایید.
سند 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 موجود در DTD های مورد استفاده ی شناسه ی عمومی رسمی مربوطه ارجاع داده شود. شناسه ی سیستم ممکن است تغییر یافته باشد تا قراردادهای سیستم محلی منعکس شوند.
<!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-16 یا UTF-8 پیش فرض است و رمزگذاری توسط یک پروتکل سطح بالا تعیین نشده باشد. در اینجا مثالی از یک سند 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 مطابق [XMLNS] ممکن است با دیگر فضاهای نامی XML بکار رود، گرچه چنین اسنادی دقیقا منطبق با اسناد 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) به عنوان شناسه های گسسته
تشخیص دهد.فضای تهی با توجه به قوانین ذیل به کار گرفته شده است. کاراکترهای زیر در کاراکترهای فضای تهی [XML] تعیین می شوند:
- SPACE ( )
- HORIZONTAL TABULATION (	)
- CARRIAGE RETURN (
)
- LINE FEED (
)
پردازنده ی XML کدهای انتهای خط سیستم های متفاوت را درون یک کاراکتر LINE FEED واحد تعدیل می کند، که مورد تایید برنامه ی کاربردی است.
مرورگر باید تعریف تعیین شده از 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
اعلام شده اند،
می توانند یک تگ پایانی داشته باشند یا از عنصر تهی اختصاری استفاده نمایند (به عناصر
تهی مراجعه کنید).
صحیح: عناصر پایان داده شده
<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>
هنگامی که مرورگرها، ویژگی ها را پردازش می نمایند، آنها مطابق بخش 3.3.3 از [XML] این کار را انجام می دهند:
در XHTML، اسکریپت و عناصر سبک بندی با داشتن محتوای PCDATA#
اعلان
شده اند. در نتیجه، >
و &
بصورت شروع نشانه گذاری
رفتار می نمایند و مواردی همچون ;lt&
و ;amp&
توسط
پردازنده ی XML بترتیب به >
و &
به عنوان ارجاعات موجود به رسمیت شناخته خواهند شد. لفاف محتوای اسکریپت یا عنصر سبک
بندی درون یک قسمت نشانه گذاری شده ی 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
استفاده نمایند.
جهت کسب اطلاعات راجع به حصول
اطمینان از انچورهای
اینچنینی که در هنگام ارایه ی اسناد XHTML
بصورت نوع رسانه text/html
سازگار با موارد قبلی هستند، به
رهنمودهای سازگاری 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] برچسب دار شوند، بطوری که با اکثریت مرورگرهای HTML سازگار باشند. آن اسناد و هر سند دیگر مطابق با این مشخصات (فنی) هم می توانند با نوع رسانه ی اینترنت "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 قسمت معمولی و استاندارد از این مشخصات (فنی) می باشد. محتوای مشروح این فایل به طور کامل در این بخش مجزا موجود است.
فایل DTD/xhtml-symbol.ent قسمت معمولی و استاندارد از این مشخصات (فنی) می باشد. محتوای مشروح این فایل به طور کامل در این بخش مجزا موجود است.
این ضمیمه معمولی و استاندارد است.
عناصر زیر دارای ممنوعیت هایی در رابطه با عناصری که در بر می گیرند، هستند (به قسمت استثناهای SGML مراجعه نمایید). این موارد منع شده، هر چقدر هم عناصر تو در تو باشند نیز صادق است، یعنی شامل تمامی عناصر زاده شده (زیر مجموعه) می گردند.
a
a
دیگری را در بر گیرد.pre
img
, object
, big
, small
, sub
,
یا sup
را در بر بگیرد.button
input
, select
, textarea
, label
, button
, form
, fieldset
, iframe
یا
isindex
را در بر بگیرد.label
label
دیگری را در بر گیرد.form
form
دیگری را در بر گیرد.این ضمیمه آموزنده است.
این ضمیمه رهنمودهای طراحی برای برنامه نویسانی که می خواهند اسناد
XHTML خود را بر روی مرورگرهای موجود ارایه نمایند،
خلاصه می کند. توجه داشته باشید که در این توصیه نامه چگونگی انطباق
HTML با مرورگرها و نحوه ی پردازش اسناد HTML
در آنها مشخص نشده است و همچنین معنای نوع
رسانه ی اینترنت text/html
را هم تعیین نمی نماید. برای این تعاریف، به ترتیب
به قسمت های [HTML4] و [RFC2854]
مراجعه فرمایید.
بخاطر داشته باشید که دستورالعمل های پردازش در برخی از مرورگرها رندر می شوند. همچنین تعدادی از مرورگرها اعلان XML را به گونه ای تفسیر می کنند که گویای این مفهوم باشد که سند بجای HTML، سند XML به رسمیت شناخته نشده ای است، و لذا به صورتی که انتظار می رود ممکن است رندر نشود. برای سازگاری با انواعی از این مرورگرهای موروثی و قدیمی، ممکن است بخواهید که از بکارگیری دستورالعمل های پردازش و اعلان های XML خودداری نمایید. بخاطر داشته باشید، اگر اعلان XML در یک سند نباشد، سند تنها می تواند از کاراکترهای رمزگذاری پیش فرض UTF-8 یا UTF-16 استفاده نماید.
یک فضا (فاصله) قبل از انتهای /
و <
از عناصر تهی قرار دهید، مثل: </ br />
،<hr>
و </ "img src="karen.jpg" alt="Karen>
. همچنین
از ترکیب تگ به حداقل رسانده شده برای عناصر تهی استفاده کنید، مثل: </ br>
،
به عنوان ترکیب جایگزین <br></br>
مجاز
توسط XML که نتایج متغیری را در
بسیاری از مرورگرهای موجود ارایه می نماید.
با توجه به نمونه ی عنصر تهی که مدل محتوایش EMPTY
نیست (برای
نمونه،
یک پاراگراف (P) یا عنوان (title)
تهی) از شکل به حداقل رسانده شده استفاده نکنید (مثال: از
<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 ساخته شده،
باشد. متاسفانه این محدودیت نمی تواند در DTD های XHTML 1.0 بیان شود.
بدلیل این تغییر، در هنگام تغییر اسناد موجود 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 بایستی جهت تنظیم رمزگذاری سند مورد استفاده قرار گیرد.
برخی از مرورگرهای HTML هنگامی که به شکل کامل (فول
اسکرین و به
حداقل نرسیده) ظاهر شوند، بطوری که توسط 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 این استفاده ی نادرست را تحمل نمی
نمایند و هر سندی که بصورت غلط از یک آمپرسند استفاده نماید "معتبر" نخواهد بود و در
نتیجه مطابق با این مشخصات (فنی) نمی باشد. به منظور حصول اطمینان از سازگاری اسناد
با مرورگرهای پیشین HTML و مرورگرهای مبتنی بر
XML، آمپرسندهای استفاده شده در سندی که بصورت
کاراکترهای تحت الفظی رفتار می نمایند، باید خودشان را به عنوان یک مرجع موجود بیان
کنند (مثل: ";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، استفاده از آن غیر مجاز است.
مرجع کاراکتر نام بردهی ;apos&
(آپوستروف، U+0027) در XML 1.0
معرفی شد اما در HTML ظاهر نمی شود. لذا نویسندگان بایستی بجای
;apos&
از ;39#&
استفاده نمایند تا همانگونه که انتظار می رود در مرورگرهای HTML
4 عمل نماید.
این ضمیمه آموزنده است.
این مشخصات (فنی) با مشارکت اعضای کار گروه W3C HTML نوشته شد.
در انتشار ویرایش دوم، اعضای شرکت کننده بدین شرح بودند:
در انتشار ویرایش نخست، اعضای شرکت کننده بدین شرح بودند:
این ضمیمه آموزنده است.