XHTML در HTML
درس قبل، Server-Sent Events (SSE) یاد داد مرورگر EventSource باز کند و جریان متن یکطرفه از سرور بگیرد — بهروزرسانی زنده، نه تاریخ نحو سند. این درس استریم را ترک میکند و مسیر تاریخچهٔ اختیاری کورس HTML را با XHTML میبندد: HTML نوشتهشده با قواعد XML. هنوز کتابها یا قطعههای قدیمی با برچسب XHTML ۱.۰ / ۱.۱ دیده میشود. دامنه عملی است — چه چیز سختگیرتر بود، HTML5 چه عوض کرد، کدام عادت هنوز کمک میکند — نه schemaی XML یا جنگ MIME.
چرا XHTML در کورس HTML
مبتدی به عنوانهای «XHTML Strict» میخورد و فکر میکند باید همهٔ صفحات را بازنویسی کند. لازم نیست — HTML5 هدف رایج آموزش و مرورگر است. دانستن سختگیری قدیمی توضیح میدهد چرا آموزشها تگ کوچک، ویژگی نقلقولشده و <br /> میخواهند. بعد از «سرور رویداد هل میکند»، تقسیم اینجا فرق دارد: قواعد و تاریخ مارکآپ، نه API لحظهای.
پاسخ مستقیم
۱) XHTML = HTML بهصورت XML (انتظار نحو سختگیرانهتر). ۲) عادتهای کلاسیک: نام کوچک، مقادیر نقلقولشده، عناصر خالی صریح (<br />). ۳) پیشفرض مدرن: HTML5 با <!DOCTYPE html>. ۴) مارکآپ تمیز هنوز برای دسترسیپذیری و نگهداری مهم است. ۵) برای پروژههای جدید این کورس، الگوهای HTML5. ۶) این صفحه برای ترجمه نصیحت قدیمی XHTML به عمل HTML5 است — نه اجبار سایت MIME خالص XHTML.
📊 HTML5 vs classic XHTML habits
| Topic | HTML5 (this course) | XHTML-style strictness |
|---|---|---|
| Doctype | <!DOCTYPE html> | Older XHTML DOCTYPE lines |
| Empty elements | <br> / <img> fine | Often <br /> / <img … /> |
| Attribute quotes | Strongly recommended | Required in XHTML |
| Element case | Lowercase by convention | Lowercase required in XHTML |
| Error recovery | Forgiving HTML parsers | XML rules were stricter |
| This course depth | Required (daily practice) | History + habits to recognize |
| Not this lesson | Full CSS layout course | XML schemas / MIME product design |
تضاد کوچک تگ خالی
همان معنا، دو سبک نوشتن. در صفحات معمول HTML5 هر دو پذیرفتهاند؛ شکل اسلش نشانهٔ خواندن مطلب دوران XHTML است.
<!-- HTML5-friendly empty tags -->
<p>Line one<br>Line two</p>
<img src="photo.jpg" alt="Demo photo">
<!-- XHTML-looking empty-element form -->
<p>Line one<br />Line two</p>
<img src="photo.jpg" alt="Demo photo" />
خواندن تضاد
<br>و<br />هر دو در مرور HTML5 روزمره یعنی شکست خط/انتهایی نحو عنصر خالی در نوشتار XML-مانند XHTML بود- نقلقول دور
srcوaltعادت خوب HTML5 و در XHTML الزامی بود - حروف کوچک
img/brبا هر دو عرف جور است - این SSE نیست — بدون
EventSourceیا استریم - فقط بهخاطر
<br />نوع MIME را عوض نکنید - مقدمه را کوچک نگه دارید
صفحهٔ کوچک خوشفرم
سند کوتاهی که عادتهای مورد احترام هر دو عصر را دارد: doctype، charset، ویژگی نقلقولشده، عناصر بستهشده. حتی با مارکآپ مرتب روی doctype HTML5 بمانید.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Well-formed mini page</title>
</head>
<body>
<h1>Clean markup still helps</h1>
<p>Quoted attributes and closed tags keep the tree clear.</p>
<img src="photo.jpg" alt="A demo photo">
</body>
</html>
خواندن صفحهٔ کوچک
<!DOCTYPE html>یعنی HTML5، نه doctype قدیمی XHTMLlang،charsetو نقلقولها عادت پایدارند- هر عنصر غیر-void بازشده بسته میشود — انضباط دوران XML که هنوز کمک میکند
altدسترسیپذیری است نه نوستالژی- هنوز به استریم SSE ربطی ندارد
- اگر آموزش قدیمی
xmlnsو Strict نشان داد، عادتها را اینجا نگاشت کنید و برای کار جدید HTML5 نگه دارید - گام بعدی معمولاً CSS است — نه اجبار MIME XML در پروداکشن
انتخاب HTML5، عادت XHTML، یا آموزش قدیمی
- صفحهٔ جدید این کورس: doctype HTML5 + عادتهای تمیز
- کتاب ۲۰۰۵ «XHTML Strict»: قواعد → کوچک، نقلقول، بستن تگ؛ doctype HTML5 بماند
- دیدن
<br />: سبک دوران XHTML؛ ممکن است داخل فایل HTML5 هم بیاید - بهروزرسانی زنده از سرور: آن SSE بود
- محاسبهٔ خارج از thread: آن Web Workers بود
- ساخت schemaی XML یا محصول
application/xhtml+xml: فراتر از این مقدمه/مقایسه
تمرین — مقایسه کنید، HTML5 بمانید، عصرها را جدا کنید
- تضاد تگ خالی را بخوانید؛ بگویید کدام شکل دوران XHTML است.
- جدول عادت را مرور کنید؛ نقلقول و حروف کوچک را ببینید.
- صفحهٔ کوچک را بخوانید؛ تأیید کنید doctype HTML5 است.
- جمله: SSE رویداد سرور استریم میکند؛ XHTML تاریخ/سختگیری مارکآپ است.
- جمله: پروژههای مبتدی جدید باید HTML5 را هدف بگیرند نه «XHTML Strict برای همیشه».
- (اختیاری) یک قطعهٔ شلخته را با نقلقول و بستن تگ مرتب کنید بدون ترک doctype HTML5.
- یادداشت کورس: این آخرین موضوع صف بازنویسی کیفیت HTML را میبندد.
اشتباهات آسان
- اجبار حالت MIME / پارس XML کامل بدون دانستن ریسک شکست
- بخشندگی HTML5 را مجوز مارکآپ ناسازگار یا غیرقابلدسترس دانستن
- قاطی کردن تصادفی سبک XHTML و HTML5 بدون توافق تیم
- اشتباه گرفتن این درس تاریخ با SSE (اینجا EventSource نیست)
- باور اینکه هر سایت مدرن باید XHTML ۱.۱ Strict باشد
- کپی doctype قدیمی XHTML به پروژهٔ جدید «برای کیفیت»
- فکر کردن نقلقول ویژگی «فقط برای XHTML» است (در HTML5 هم عادت قوی است)
خلاصه
- XHTML همان HTML با قواعد XML-مانند سختگیرانهتر بود
- HTML5 با
<!DOCTYPE html>پیشفرض مدرن این کورس است - حروف کوچک، نقلقول و تگهای واضح هنوز کمک میکنند
- آموزش قدیمی XHTML را ترجمه کنید؛ تنها آیندهٔ قانونی ندانید
- SSE هل زنده از سرور بود؛ این درس تاریخ مارکآپ است
- صف بازنویسی HTML این کورس اینجا تمام میشود — مسیر بعدی معمولاً CSS است وقتی منتشر شود
🧠 دانش خود را بیازمایید
دانش خود را بیازمایید
خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کردهاید
📝 دستورالعملها
- هر سوال را با دقت بخوانید
- بهترین پاسخ را برای هر سوال انتخاب کنید
- میتوانید آزمون را هر چند بار که میخواهید تکرار کنید
- پیشرفت شما در بالا نمایش داده میشود