HEML与XHTML的区别
发布时间: 2014/3/10 15:41:47 被阅览数: 3455 次 来源: 徐州云网信息技术有限公司 |
HTML与XHTML的区别一节主要是翻译了w3c的 Differences with HTML 4 文章. XHTML文档须具有良好完整的排版(well-formed) 编排良好性(Well-formedness)是XML引入的一个新概念.从本质上说,元素须有结束标签,或者须以特殊方式书写,而且元素须嵌套. 尽管SGML规定重叠(overlapping)是非法的,但现有的浏览器普遍允许重叠. 正确:嵌套元素(nested elements) <p> <em>XHTML教程</em>.</p> <p> <em>XHTML教程</p>.</em> 对于所有HTML元素和属性名, XHTML文档须使用小写. 因为XML是大小写敏感的.如 <li> 和 <LI> 是不同的标签. 对非空元素,须使用结束标签 在基于SGML的HTML4中的一些隐含结束意义的元素允许忽略结束标签.XML不允许忽略结束标签.除了在DTD中被声明为空的元素,所有元素须有结束标签. 正确:结束的元素(terminated elements) <p>的XHTML教程.</p><p>的CSS教程.</p> <p>的XHTML教程.<p>的CSS教程. 所有的属性值须在引号中,即使是以数字形式的属性值 正确:在引号中的属性值(quoted attribute values) <table rows="3"> <table rows=3> XML不支持属性小化.属性-属性值须完整成对的写出.像disabled,checked这样的属性名不能在不指定属性值的情况下出现. 正确:非小化属性(unminimized attributes) <input checked="checked"> <input checked> 空元素须有结束标签,或者起始标签须以/>结束.例如,<br/>或<hr></hr>.参看HTML兼容性指导HTML Compatibility Guidelines中的信息,以保证向后兼容HTML 4用户代理程序. 正确:结束的空元素(terminated empty elements) <br/><hr/> <br><hr> 用户代理处理属性值时将根据XML的下面方法操作Section 3.3.3: 删去引导和后序空白符 XHTML中,script和style 元素被声明为#PCDATA内容形式,因此,<和&被看作是标识的开始,<和&等HTML实体将被XML处理器看作为实体引用而分别被认为是<和&.将script和style元素的内容隐蔽在CDATA标记中避免了这些实体的扩张. <script> 替代的方式是使用外部script和style文档. SGML排斥 SGML给作者的DTD可以指定在一个元素内部禁止出现的元素.这样的禁止在XML中是不可能的. 例如,严格的HTML 4 DTD"禁止"任何深度的’a’元素对另一’a’元素的嵌套.在XML中无法写出这些的"禁止".虽然这些禁止不能被定义在DTD中,但是一些元素不应该被嵌套.对不能被嵌套的元素Element Prohibitions的总结. 具有’id’和’name’属性的元素 HTML4定义了name属性的元素有a,applet,form,frame,iframe,img and map.HTML4还引入了id属性.这两个属性都是被设计用为片段标识符. 在XML中,片段标识符是ID,每个元素只能有一个ID类型的属性.因此,在XHTML1.0中,id属性被定义为ID类型.为保证XHTML1.0文档是结构良好(well-structured)的XML文档,在定义一个片段标识符时,XHTML文档须使用id属性,即使是对那些以前用name属性的元素.参看 HTML Compatibility Guidelines,确保XHTML文档以text/html媒体类型使用时,这些"锚(anchors)"能向后兼容. 注意,在XHTML 1.0中,name属性是不赞成使用的,在以后的XHTML版本中将被删除. 做个总结: 标签不能重叠,可以嵌套 |
上两条同类新闻: |