وقت به خیر دوستان عزیز. با آموزش XHTML از وب سایت آموزشی پی وی لرن همراهتون هستیم. با مقایسه ی XHTML و HTML همراه هستیم و تفاوت ها را بررسی می کنیم.
با توجه به این واقعیت که XHTML یک برنامه XML است ، برخی از روش هایی که در HTML 4 مبتنی بر SGML مجاز بوده است باید تغییر یابند. ما قبلاً سینتکس XHTML را در بخش قبل مشاهده کردیم ، بنابراین تفاوت بین XHTML و HTML کاملاً مشهود است. در ادامه به مقایسه ی XHTML و HTML می پردازیم.
Well-formedness مفهوم جدیدی است که توسط XML معرفی شده است. در اصل ، این بدان معنی است که همه عناصر باید دارای تگ های بسته باشند و شما باید آن ها را به درستی قرار دهید.
درست : عناصر تو در تو
1 | <p>Here is an emphasized <em>paragraph</em>.</p> |
نادرست : عناصر با هم همپوشانی دارند.
1 | <p>Here is an emphasized <em>paragraph.</p></em> |
اسناد XHTML باید از حروف کوچک برای همه عناصر HTML استفاده کنند و نام آن ها را مشخص کنند. این تفاوت ضروری است زیرا فرض می شود که سند XHTML یک سند XML است و XML حساس به حروف کوچک و بزرگ است. به عنوان مثال ، <li> و <LI> تگ های متفاوتی هستند.
تگ های پایان برای همه عناصر ضروری است.
در HTML ، عناصر خاصی مجاز به حذف تگ انتهایی هستند. اما XML اجازه نمی دهد تگ های انتهایی حذف شوند.
درست : المان خاتمه یافته است.
1 2 | <p>Here is a paragraph.</p><p>here is another paragraph.</p> <br><hr/> |
نادرست: المان خاتمه نیافته است.
1 2 | <p>Here is a paragraph.<p>here is another paragraph. <br><hr> |
تمام مقادیر خصوصیات از جمله مقادیر عددی باید داخل نقل قول قرار گیرند.
درست : مقادیر خصوصیت داخل نقل قول قرار گرفته است.
1 | <td rowspan="3"> |
نادرست : مقادیر خصوصیت داخل نقل قول قرار نگرفته است.
1 | <td rowspan=3> |
XML از کوتاه نویسی خصوصیت پشتیبانی نمی کند. جفت مقادیر خصوصیت باید به طور کامل نوشته شوند. نام خصیصه هایی مانند compact و checked در عناصر رخ نمی دهد بدون این که مقدار آن ها مشخص شود.
1 | <dl compact="compact"> |
نادرست : خلاصه نویسی خصوصیت
1 | <dl compact> |
وقتی یک مرورگر خصوصیت ها را پردازش می کند ، موارد زیر را انجام می دهد.
در XHTML ، المان استایل و اسکریپت نباید مستقیما دارای کاراکترهای “<” و “&” باشند، اگر وجود داشته باشند آن ها به عنوان شروع نشانه گذاری رفتار می کنند. کاراکترهایی مانند “<” و “&” به عنوان مرجع موجودیت توسط پردازنده XML برای نمایش کاراکترهای “<” و “&” شناخته می شوند.
بسته بندی محتوای اسکریپت یا المان استایل در یک بخش مشخص CDATA از گسترش این موجودیت ها جلوگیری می کند.
1 2 3 4 5 | <script type="text/JavaScript"> <![CDATA[ ... unescaped VB or Java Script here... ... ]]> </script> |
یک جایگزین برای استفاده از اسکریپت های خارجی و اسناد استایل است.
XHTML جایگزینی خصوصیت نام را با خصوصیت id توصیه می کند. توجه داشته باشید که در XHTML 1.0 ، خصوصیت نام این المان ها به طور رسمی منسوخ شده و در نسخه های بعدی XHTML حذف می شود.
HTML و XHTML هر دو خصوصیاتی دارند که دارای مجموعه ای از پیش تعریف شده و محدود از مقادیر هستند. به عنوان مثال ، نوع خصوصیت المان ورودی. در HTML و XML به این خصوصیات enumerated گفته می شود. تحت HTML 4 ، تفسیر این مقادیر غیر حساس به حروف کوچک و بزرگ (case-insensitive) بوده ، بنابراین مقدار TEXT معادل مقدار text است.
تحت XHTML ، تفسیر این مقادیر حساس به حروف کوچک و بزرگ است ، بنابراین همه این مقادیر به حروف کوچک تعریف می شوند.
HTML و XML هر دو مجوز منابع، برای کاراکترها را با استفاده از مقدار hexadecimal دارند. در HTML می تواند این منابع با استفاده از ;&#Xnn یا ;& &#xnn ایجاد شوند و آن ها معتبر هستند اما در اسناد XHTML ، شما باید فقط از ورژن های حروف کوچک مانند ;&#xnn استفاده کنید.
همه المان های XHTML باید در داخل المان ریشه ای <html> قرار بگیرند. تمام المان های دیگر می توانند زیر المانی داشته باشند که باید به درستی درون عنصر والدین خود قرار گیرند. ساختار اسناد اصلی را می بینیم.
1 2 3 4 5 6 | <!DOCTYPE html....> <html> <head> ... </head> <body> ... </body> </html> |
در این بخش از آموزش XHTML با مقایسه ی XHTML و HTML همراه بودیم. در جلسه ی آینده به Doctypes می پردازیم.