XHTML1.0:标记新的开端




新标准熟悉和入门内容:还在用HTML编写文档?如果是就不符合当前标准了2000年1月26日XHTML1.0成为万维网联盟(W3C)建议根据W3CHTML不再是Web标记标准取而代的XHTML1.0已替代旧宠儿标志着通信技术令人兴奋新时代已经来临

那么XHTML1.0到底是什么?对Web开发人员来说它意味着什么?下面从W3C描述讲起:XHTML1.0是XML应用HTML再形成这意味着如果用XHTML1.0编制文档则将XML固有规则和概念应用到Web标记很自然还有个摇摆问题:现在可以用XHTML1.0标记Web文档吗?答案很明确:“是所要做全部只是学会正确组织文档结构选择所需正确文档类型定义(DTD)以及学会几种管理代码开发新思路方法

但是XHTML1.0如何会如此轻易上手呢?在编写文档时您将看到它使用您所熟悉HTML作为其词汇在思路方法上有较小变化而在思路上有主要区别XHTML1.0允许Web作者依据标准进行编码并开始改变有关未来发展和更改
观点

为什么需要另种标记语言?
HTML使用起来相当好确实我们直受到提出确实管用跨浏览器、跨平台解决方案挑战但是在Web从90年代早期形式发展到今天我们所知充满活力活动Web过程中也意味着在前进途中消耗、破坏甚至制造了新HTML规则

学过HTML4.0准则开发人员都知道在HTML4.0标准出现时已经确定了改进HTML准则最终目标HTML4.0些主要考虑包括:

通过将基本格式化和样式分离来整理文档反对使用随心所欲或有问题元素
要求声明文档类型(并希望在声明中作者遵循HTML4.0 3个DTD中规则)
这些原则都在XHTML1.0中存在但是它们和XML中概念组合在这些概念帮助改进标记超出只加强其基本语法作用XHTML1.0目标很多但是包括以下几个:

提供Web标记中可扩展性基础
通过过去、现在和将来浏览器提供相同或更好互操作性
通过即将来临XHTML版本、其它XML应用和刚刚出现技术(如无线和新型设备开发)使作者为不断发展机遇作好准备采用XHTML1.0最有说服力理由恐怕是:开发人员(特别是通过HTML自学、或依靠可视设计工具来实现其目标开发人员)可以通过学习该标准来轻易地移至其它XML应用然后他们就可以看到XML和可扩展性力量过程相似:即HTML词汇加上些新结构和语法思路方法所以XHTML1.0使XML及其应用领域不再令人畏惧

通过使用熟悉语言和些新概念很容易转入不太熟悉领域例如XHTML1.0知识可以简化转移到即将出现XHTML版本以及无线和其它应用相关XML技术过程(如WML(无线标记语言)、SMIL(同步多媒体语言)和SVG(可伸缩矢量图形))

探询根源
探询XHTML根源有助于理解XHTML基本原理及指引它规则
XML和HTML根源相同都是SGML即标准通用标记语言(StandardizedGeneralMarkupLanguage)点很重要:SGML本身不是门语言它是人们所知元语言-- 即包含开发其它语言所依据规则语言

XML和其根源SGML也是元语言正如这样其规则用于创建XML应用而XHTML是将另门SGML语言HTML用作其词汇XML应用

如果关系看起来有些复杂那是它确实有些复杂SGML首先产生HTML然后是XML当觉察到HTML担心和限制时XML规则就很明显地可以使HTML成长为帮助开发人员脱离这些限制标记语言

首先需求
为了使XHTML1.0文档符合其元语言(XML)必须考虑几个需求和规则如下所示:

建议、但不要求使用XML声明将XHTML1.0文档声明成XML文档
要求XHTML1.0文档包含个DOCTYPE指明这是XHTML1.0文档并指出该文档所用DTD
XHTML1.0文档有个根元素<html>该HTML元素开始标记应该包含XML名称空间xmlns和该名称空间合适值
文档语法和结构必须符合XHTML语法规则
实现该目标步是正确组织XHTML1.0文档结构将从添加正确声明和文档信息开始

文档声明、类型和名称空间
XHTML1.0文档可以包含几个结构元素以便被认为是正确:个XML声明、个DOCTYPE声明并包括名称空间
XML声明允许作者将其文档声明成XML并包括文档所用编码
<?xmlversion=\"1.0\"encoding=\"UTF-8\"?>
如前面提到建议使用此声明但这不是必需不强制使用部分原因是:如果使用则某些浏览器(包括IE4.5forMac和Netscape4.0forWindows)将显示不正确XHTML页面因此大多数对互操作性感兴趣XHTML1.0作者不使用它但是编码信息在很多情况下很重要(特别在使用国际化文档时)所以如果不使用XML声明则鼓励在meta标记中添加编码信息(在后面清单2中显示)



在XML文档声明下面-如果选择不使用它则位于文档顶部-必须放置DOCTYPE声明DOCTYPE允许作者声明所用文档类型在本例中文档类型是XHTML1.0该文档要符合特定XHTML1.0DTD为strict

XHTML1.0中只有 3种DTD它们来自HTML4.0其内容如下:

Strict:Strict遵循最严格XHTML规则在以该类型编写文档中只允许出现当前元素、属性和实体不允许出现HTML4.0所反对元素(如font或center)也不允许过时元素Strict声明如下:
<!DOCTYPEhtmlPUBLIC\"-//W3C//DTDXHTML1.0Strict//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1- strict.dtd\">
Transitional:transitionalXHTML1.0文档更宽容它允许作者使用所反对和当前思路方法可以在transitional文档中使用font或center或任何其它所反对标记只要文档本身标记正确即可不应该使用过时元素如果在用XHTML1.0编写transitional文档将包括以下声明:
<!DOCTYPEhtmlPUBLIC\"-//W3C//DTDXHTML1.0Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd\">
Frame:frameDTD只为frame文档保留符合该DTDframe文档可以使用strict或transitional标记要以XHTML1.0创建frame文档在文档顶部包括这个DOCTYPE:
<!DOCTYPEhtmlPUBLIC\"-//W3C//DTDXHTML1.0Frame//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frame.dtd\">
确定了是否使用XML声明并且添加了定义要遵循标记规则DOCTYPE声明的后需要将HTML根添加到文档并相应设置XHTML名称空间:
<htmlxmlns=\"http://www.w3.org/1999/xhtml\">
此时要添加些必需结构元素如head、title和body清单1显示包括XML声明XHTML1.0transitional文档外壳在清单2中将看到不带XML声明transitional文档但是个meta标记来声明所用

清单1:带有XML声明TransitionalDTD格式XHTML1.0文档
<?xmlversion=\"1.0\"encoding=\"UTF-8\"?>
<!DOCTYPEhtmlPUBLIC\"-//W3C//DTDXHTML1.0Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<htmlxmlns=\"http://www.w3.org/1999/xhtml\">
<head>
<title>TransitionalDocumentwithXMLDeclaration</title>
</head>
<body>
</body>
</html>
在清单2中将看到不带XML声明transitional文档但是个meta标记来声明所用

清单2:不带XML声明TransitionalDTD格式XHTML1.0文档
<!DOCTYPEhtmlPUBLIC\"-//W3C//DTDXHTML1.0Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<htmlxmlns=\"http://www.w3.org/1999/xhtml\">
<head>
<title>TransitionalDocumentwithout

[1][2]下

Tags: 

延伸阅读

最新评论

发表评论