添加的内容 删除的内容
(我来啦, replaced: 員 → 员, 內 → 内, 參考文獻 → 参考文献, 開 → 开 (4), 會 → 会, 處 → 处 (3), 務 → 务 (3), 語 → 语 (3), 構 → 构 (3), 將 → 将, 協 → 协, 調 → 调 (3), 來 → 来 (2), 義 → 义 (3), 對 → 对, 發 → 发 (4), 極 → 极, 譯 → 译, 類 → 类 (2), 稱 → 称 (6), 區 → 区, 為 → 为 (6), 於 → 于 (8), 種 → 种 (3), 瀏 → 浏 (2), 覽 → 览 (2), 據 → 据, 屬 → 属 (3), 議 → 议 (2), 電 → 电, 標 → 标 (8), 積 → 积, 實 → 实, 際 → 际, 並 → 并 (4), 後 → 后 (2), 確 → 确 (5), 現 → 现 (2), 腦 → 脑, 個 → 个 (11), 強 → 强 (2), 階 → 阶 (2), 遠 → 远 (2), 規 → 规, 註 → 注, 計 → 计, 擴 → 扩 (2), 結 → 结 (3), 繼 → 继 (2), 續 → 续 (2), 網 →…) |
小 (撤销繁简转换) 标签:回退 |
||
第1行: | 第1行: | ||
{{noteTA |
{{noteTA |
||
|1 = zh-hans:可扩展超文本标记语言; zh-hant:可延伸超文本 |
|1 = zh-hans:可扩展超文本标记语言; zh-hant:可延伸超文本標示語言; |
||
|G1 = IT |
|G1 = IT |
||
}} |
}} |
||
第22行: | 第22行: | ||
}} |
}} |
||
'''可扩展超文本标记语言'''({{lang-en|e'''X'''tensible '''H'''yper'''T'''ext '''M'''arkup '''L'''anguage}},{{lang|en|XHTML}}),是一种[[标记语言]],表现方式与[[超文本标记语言]]([[HTML]])类似,不过语法上更加严格。从继承关系上讲,HTML是一种基于[[标准通用标记语言]]([[SGML]])的应用,是一 |
'''可扩展超文本标记语言'''({{lang-en|e'''X'''tensible '''H'''yper'''T'''ext '''M'''arkup '''L'''anguage}},{{lang|en|XHTML}}),是一种[[标记语言]],表现方式与[[超文本标记语言]]([[HTML]])类似,不过语法上更加严格。从继承关系上讲,HTML是一种基于[[标准通用标记语言]]([[SGML]])的应用,是一種非常灵活的置標語言,而'''XHTML'''则基于[[可扩展标记语言]]([[XML]]),XML是[[SGML]]的一个子集。XHTML 1.0在2000年1月26日成为[[W3C]]的推荐标准。 |
||
XHTML1.1 |
XHTML1.1為XHTML最後的獨立標準,2.0止於草案階段。XHTML5則是屬於HTML5標準的一部份,且名稱已改為「以XML序列化的HTML5」,而非「可擴展的HTML」。在今日(2017年),XHTML5比起HTML5仍遠遠並非主流。 |
||
== 概述 == |
== 概述 == |
||
'''XHTML'''是 |
'''XHTML'''是「3種HTML 4文件根據XML 1.0標準重組」而成的<ref name="W3cWhatIsXhtml">http://www.w3.org/TR/xhtml1/#xhtml 'What is XHTML?' section in ''XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition)'' A Reformulation of HTML 4 in XML 1.0 ''W3C Recommendation 26 January 2000, revised 1 August 2002''</ref>。而[[W3C]]亦繼續建議使用[[HTML]] 4.01和積極地研究[[HTML5]]及XHTML的計劃。於2002年8月發表的XHTML 1.0的建議中,[[W3C]]指出'''XHTML'''家族將會是[[Internet]]的新階段。而轉換使用'''XHTML'''可以令開發人員接觸[[XML]]和其好處,並可以確保以'''XHTML'''開發的網頁於未來的相容性。 |
||
HTML语法要求比较松散,这样对网页编写者来说,比较方便,但对于机器来说,语言的[[语法]]越松散,处理起来就越困难,对于传统的 |
HTML语法要求比较松散,这样对网页编写者来说,比较方便,但对于机器来说,语言的[[语法]]越松散,处理起来就越困难,对于传统的電腦来说,还有能力兼容松散语法,但对于许多其他设备,比如手机,难度就比较大。因此产生了由[[文档类型定义|DTD]]定义规则,语法要求更加严格的XHTML。 |
||
大部分常见的浏览器都可以正确地解析XHTML,即使老一点的浏览器,XHTML作为HTML的一个子集,许多也可以解析。也就是说,几乎所有的网页浏览器在正确解析HTML的同时,可兼容XHTML。当然,从[[HTML]]完全转移到XHTML,还需要一些过程。 |
大部分常见的浏览器都可以正确地解析XHTML,即使老一点的浏览器,XHTML作为HTML的一个子集,许多也可以解析。也就是说,几乎所有的网页浏览器在正确解析HTML的同时,可兼容XHTML。当然,从[[HTML]]完全转移到XHTML,还需要一些过程。 |
||
第36行: | 第36行: | ||
跟[[CSS]](Cascading Style Sheets,层叠式样式表)结合后,XHTML能发挥真正的威力;这使实现样式跟内容的分离的同时,又能有机地组合网页代码,在另外的单独文件中,还可以混合各种XML应用,比如[[MathML]]、[[SVG]]。 |
跟[[CSS]](Cascading Style Sheets,层叠式样式表)结合后,XHTML能发挥真正的威力;这使实现样式跟内容的分离的同时,又能有机地组合网页代码,在另外的单独文件中,还可以混合各种XML应用,比如[[MathML]]、[[SVG]]。 |
||
从[[HTML]]到XHTML过渡的变化比较小,主要是为了适应[[XML]]。最大的变化在于文档必须是[[良构| |
从[[HTML]]到XHTML过渡的变化比较小,主要是为了适应[[XML]]。最大的变化在于文档必须是[[良构|結構良好]]的,所有[[标签]]必须闭合,也就是说开始标签要有相应的结束标签。另外,XHTML中所有的标签必须小写。而按照HTML 2.0以来的传统,很多人都是将标签大写,这点两者的差异显著。在XHTML中,所有的参数值,包括数字,必须用双引号括起来(而在[[SGML]]和HTML中,引号不是必须的,当内容只是数字、字母及其它允许的特殊字符时,可以不用引号)。所有元素,包括空元素,比如img、br等,也都必须闭合,实现的方式是在开始标签末尾加入[[斜扛]],比如<code><nowiki><img ... /></nowiki></code> 、<code><nowiki><br /></nowiki></code>。省略参数,比如<code><nowiki><option selected></nowiki></code>,也不允许,必须用<code><nowiki><option selected="selected"></nowiki></code>。两者的详细差别,可通过[http://www.w3.org/TR/xhtml1/#diffs W3C XHTML说明] 来查阅。 |
||
== 版本 == |
== 版本 == |
||
至现时为止,XHTML共有以下几个版本: |
至现时为止,XHTML共有以下几个版本: |
||
* '''XHTML 1.0 Strict(严格版)'''是参照“HTML 4.01 Strict”改编,但不包括被 |
* '''XHTML 1.0 Strict(严格版)'''是参照“HTML 4.01 Strict”改编,但不包括被棄用的元素。其[[文件类型描述]]为: |
||
<syntaxhighlight lang="xml"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"></syntaxhighlight> |
<syntaxhighlight lang="xml"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"></syntaxhighlight> |
||
* '''XHTML 1.0 Transitional(过渡版)'''是参照“HTML 4.01 Transitional”改编,包括已 |
* '''XHTML 1.0 Transitional(过渡版)'''是参照“HTML 4.01 Transitional”改编,包括已於Strict版本被棄用的呈現性元素(例如<code><center></code>, <code><font></code>等)。其[[文件类型描述]]为: |
||
<syntaxhighlight lang="xml"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></syntaxhighlight> |
<syntaxhighlight lang="xml"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></syntaxhighlight> |
||
* '''XHTML 1.0 Frameset(框架版)'''是参照“HTML 4.01 Frameset”改编, |
* '''XHTML 1.0 Frameset(框架版)'''是参照“HTML 4.01 Frameset”改编,並允許於網頁中定義[[框架元素]]。其[[文件类型描述]]为: |
||
<syntaxhighlight lang="xml"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"></syntaxhighlight> |
<syntaxhighlight lang="xml"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"></syntaxhighlight> |
||
* '''XHTML 1.1'''。其[[文件类型描述]]为: |
* '''XHTML 1.1'''。其[[文件类型描述]]为: |
||
第51行: | 第51行: | ||
<syntaxhighlight lang="xml"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd"></syntaxhighlight> |
<syntaxhighlight lang="xml"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd"></syntaxhighlight> |
||
另外,在[[Microsoft]] [[Internet Explorer]] 5.0所新增的<code><ruby></code>小字注解标签,在XHTML 1.1得到支援(参看[[旁 |
另外,在[[Microsoft]] [[Internet Explorer]] 5.0所新增的<code><ruby></code>小字注解标签,在XHTML 1.1得到支援(参看[[旁註標記]])。<br /> |
||
而第二版的XHTML 1.0 |
而第二版的XHTML 1.0於2002年8月成為[[W3C]]推薦的文件類型。<ref>{{Cite web |url=http://www.w3.org/TR/2002/REC-xhtml1-20020801/ |title=存档副本 |accessdate=2008-09-30 |||}}</ref> |
||
2.0止 |
2.0止於草案。 |
||
[[XHTML5]]不需要DTD。 |
[[XHTML5]]不需要DTD。 |
||
第60行: | 第60行: | ||
== 有效的XHTML文件 == |
== 有效的XHTML文件 == |
||
{{HTML}} |
{{HTML}} |
||
一 |
一個符合(附合)XHTML標準的文件即可稱為''有效''。此可以確保XHTML文件代碼的協調,亦能令文件的更容易被處理,而不需確保各種瀏覽器編譯的一致性。而[[W3C驗証服務]]則可以驗証文件是否有效。而實際上,很多[[網站開發工具]](例如[[Dreamweaver]])都支援以[[W3C]]標準驗証文件。 |
||
== 语法 == |
== 语法 == |
||
第68行: | 第68行: | ||
(翻译自 [http://www.w3.org/TR/xhtml1/#diffs W3C XHTML说明] )这部分涉及内容广泛。 |
(翻译自 [http://www.w3.org/TR/xhtml1/#diffs W3C XHTML说明] )这部分涉及内容广泛。 |
||
XHTML是[[XML]]的一种应用。基于这一事实,那些在以[[SGML]]为基础的[[HTML 4]]中,不完全合法的用法,应被改 |
XHTML是[[XML]]的一种应用。基于这一事实,那些在以[[SGML]]为基础的[[HTML 4]]中,不完全合法的用法,应被改寫。 |
||
=== 文档应该是 |
=== 文档应该是結構良好的 === |
||
[[良好 |
[[良好結構]](Well-formed)<ref>{{Cite web |url=http://www.w3.org/TR/xhtml1/#wellformed |title=存档副本 |accessdate=2005-04-17 |||}}</ref>是由[[XML]]<ref>{{Cite web |url=http://www.w3.org/TR/xhtml1/#ref-xml |title=存档副本 |accessdate=2005-04-17 |||}}</ref>引入的一个新概念。也就是说所有的元素都必须有结束标签或者以特殊的方式书写(如下所述),而且所有的标签必须合理地嵌套。 |
||
儘管如此,交叉使用在SGML中仍然是合法的,而且在 |
儘管如此,交叉使用在SGML中仍然是合法的,而且在現有的瀏覽器中也能够被广泛接受。 |
||
-{zh-hans: |
-{zh-hans: |
||
:正确:元素嵌套 |
:正确:元素嵌套 |
||
第79行: | 第79行: | ||
:错误:元素交叉 |
:错误:元素交叉 |
||
::<code><em><p>这是一个要强调的段落。</em></p></code>; zh-hant: |
::<code><em><p>这是一个要强调的段落。</em></p></code>; zh-hant: |
||
:正 |
:正確:元素嵌套 |
||
::<code><p><em> |
::<code><p><em>這是一個要強調的段落。</em></p></code> |
||
:錯 |
:錯誤:元素交叉 |
||
::<code><em><p> |
::<code><em><p>這是一個要強調的段落。</em></p></code>;}- |
||
=== 元素名 |
=== 元素名稱和屬性必須小寫 === |
||
XHTML文件要求所有的HTML元素名 |
XHTML文件要求所有的HTML元素名稱和屬性名稱都要小寫。因為XML本身大小寫意義不同,因此必須區分開來。比如,<code><li></code>和<code><LI></code>是完全不同的。 |
||
=== 要有结束标签 === |
=== 要有结束标签 === |
||
基于SGML的HTML 4里面,允许特定的标签省略结束标签;这些元素暗含有结束标记。XHTML不允许省略结束标记。所有元素(包括在DTD中声明为空的标签),都必须有结束标签。在[[文件 |
基于SGML的HTML 4里面,允许特定的标签省略结束标签;这些元素暗含有结束标记。XHTML不允许省略结束标记。所有元素(包括在DTD中声明为空的标签),都必须有结束标签。在[[文件類型描述|DTD]]中声明为空的元素可以用结束标签或者使用空元素速记法(参见[http://www.w3.org/TR/xhtml1/#h-4.6 空元素] )。 |
||
-{zh-hans: |
-{zh-hans: |
||
:正确的:结束的元素 |
:正确的:结束的元素 |
||
::<code><p> |
::<code><p>這是一個段落。</p><p>這是另一個段落。</p></code> |
||
:錯 |
:錯誤的:没有结束的元素 |
||
::<code><p> |
::<code><p>這是一個段落。<p>這是另一個段落。</code>;zh-hant: |
||
:正 |
:正確的:结束的元素 |
||
::<code><p> |
::<code><p>這是一個段落。</p><p>這是另一個段落。</p></code> |
||
:錯 |
:錯誤的:没有结束的元素 |
||
::<code><p> |
::<code><p>這是一個段落。<p>這是另一個段落。</code>;}- |
||
=== 属性值必须总是使用引号包裹 === |
=== 属性值必须总是使用引号包裹 === |
||
第138行: | 第138行: | ||
<script type="text/javascript"> |
<script type="text/javascript"> |
||
<![CDATA[ |
<![CDATA[ |
||
...沒有 |
...沒有轉義處理的內容... |
||
]]> |
]]> |
||
</script> |
</script> |
||
第167行: | 第167行: | ||
== XHTML5 == |
== XHTML5 == |
||
{{see also|XHTML5}} |
{{see also|XHTML5}} |
||
XHTML5 |
XHTML5並非可擴展HTML的後繼語言,而是對XML序列化的HTML5的稱呼,延續了一部分原本XHTML的精神而加入HTML5,成為HTML5規格的一部分。 |
||
== |
== 參考文獻 == |
||
{{Reflist}} |
{{Reflist}} |
||
第175行: | 第175行: | ||
* [http://www.w3.org/TR/xhtml1/ XHTML 1.0可扩展超文本标记语言(第二版)] |
* [http://www.w3.org/TR/xhtml1/ XHTML 1.0可扩展超文本标记语言(第二版)] |
||
* [http://www.w3.org/TR/xhtml-basic/ XHTML基础] |
* [http://www.w3.org/TR/xhtml-basic/ XHTML基础] |
||
* [http://validator.w3.org/ W3C |
* [http://validator.w3.org/ W3C驗証服務] |
||
* [http://www.w3.org/TR/xhtml11/ XHTML 1.1 - 基于模块的XHTML] |
* [http://www.w3.org/TR/xhtml11/ XHTML 1.1 - 基于模块的XHTML] |
||
* [http://www.w3.org/TR/xhtml2/ XHTML 2.0(草案)] |
* [http://www.w3.org/TR/xhtml2/ XHTML 2.0(草案)] |
||
第188行: | 第188行: | ||
* [[Unicode]] |
* [[Unicode]] |
||
* [[Acid2]] |
* [[Acid2]] |
||
* [[W3C |
* [[W3C驗証服務]]{{-}} |
||
{{W3C规范和标准}} |
{{W3C规范和标准}} |