لطفا بهتصحیح نامه ی سند فعلی که ممکن است تعدادی از اشکالات و تصحیحات معمولی و استاندارد (در نسخه انگلیسی) آن ذکر شده باشد، مراجعه نمایید. همچنینترجمه های این سند را ملاحظه فرمایید.
در ضمن این سند در قالب نسخه هایی غیر از نسخه ی اصلی هم در دسترس است که عبارتند از:فایل چند بخشی XHTML،نسخه ی پست اسکریپت،نسخه ی PDF،فایل ZIP، وفایل tgz.
كليه ی حقوق چاپ و نشر 2002W3C كه شاملتعهدات،نشان تجاری،استفاده از سند وقوانین صدور مجوز نرم افزارW3C می باشد، برای (MIT,INRIA,Keio)محفوظ است.
Copyright © 2002W3C®(MIT,INRIA,Keio), AllRights Reserved. W3Cliability,trademark,document use andsoftware 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 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"> 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 نوشته شد.
در انتشار ویرایش دوم، اعضای شرکت کننده بدین شرح بودند:
در انتشار ویرایش نخست، اعضای شرکت کننده بدین شرح بودند:
این ضمیمه آموزنده است.