XHTML的特征(规范)
因为XHTML是XML的一个应用,一些在基于SGML的HTML 4中完全合法的习惯在XHTML中必须改变。
文档必须是编排良好的
编排良好性Well-formedness是[XML]引入的一个新概念。从本质上说,这意味着元素必须有结束标签,或者必须以特殊方式书写(在下面说明)。
元素必须嵌套,尽管SGML规定层叠非法,但现有的浏览器普遍允许层叠。
正确:嵌套元素。
<p>here is an emphasized <em>paragraph</em>.</p>
不正确:层叠元素。
<p>here is an emphasized <em>paragraph.</p></em>
元素和属性名必须小写
对所有HTML元素和属性名,XHTML 文档必须使用小写。 因为XML是大小写敏感的,所以这个差别是必须的。如 <li> 和 <LI> 是不同的标签。
对非空元素,必须使用结束标签
在基于 SGML的 HTML 4 中,一些隐含结束意义的元素允许忽略结束标签。而在基于XML的XHTML中,这种忽略不被允许。除了在DTD中被声明为空的元素,所有元素必须有结束标签。
正确:结束了的元素。
<p>here is a paragraph.</p><p>here is another paragraph.</p>
不正确:未结束元素。
<p>here is a paragraph.<p>here is another paragraph.
属性值必须在引号中
所有的属性必须用引号,即使是数字。
正确:在引号中的属性值
<table rows="3">
不正确:不在引号中的属性值。
<table rows=3>
属性最小化
XML 不支持属性最小化. 属性值对必须写全。象compact,checked这样的属性名不能不指定属性值而在元素中出现。
正确:没有最小化的属性
<dl compact="compact">
不正确:最小化属性
<dl compact>
空元素
空元素要么必须有结束标签,要么起始标签以/>结束. 例如,<br/>或<hr></hr>. 请参看HTML兼容性指导 HTML Compatibility Guidelines 中的信息,以保证向后兼容HTML 4用户代理程序
正确:结束的空元素
<br/><hr/>
错误:未结束的空标签
<br><hr>
属性值中的空白字符处理
对属性值,用户代理程序将删去引导和后序空白符,将一个或多个空白符(包括换行)转换成单个字符间空间(在西方书写体中是一个ASCII空格) See Section 3.3.3 of [XML]。
Script and Style 元素
在XHTML中,script和style元素声明为#PCDATA内容形式,因此,< 和 & 被看作是标识的开始,<和& 这样的实体被XML处理程序看作为实体引用而分别被认为是< 和 & . 将script和style元素的内容包裹在CDATA记号部分中避免了这些实体的扩张。
<script>
<![CDATA[
... unescaped script content ...
]]>
</script>
CDATA 部分被 XML 处理程序识别,是文档对象模型中一个结点。请参看1.3节Section 1.3的DOM LEVEL 1推荐标准[DOM]。
替代的方式是使用外部script和style文档。
SGML 禁止
SGML 给作者的DTD可以指定在一个元素内部禁止出现的元素。这样的禁止在XML中是不可能的。
例如,严格的 HTML 4 DTD 禁止任何深度的’a’元素对另一’a’元素的嵌套。在XML中无法写出这样的禁止。尽管这些禁止不能在DTD中定义,一些元素不应该被嵌套。在标准化的附录B Appendix B中是这些元素的汇总。
具有 'id' 和 'name' 属性的元素
HTML 4 定义了name属性的元素有 a,applet,form,frame,iframe,img,and map. HTML 4还引入了 id 属性. 这两个属性都是被设计作为片段标识符。
在XML中,片段标识符是ID类型,每个元素只能有一个ID类型的属性。因此,在XHTML1.0中,id属性被定义为ID类型。为保证 XHTML1.0文档是结构良好的XML文档,在定义一个片段标识符时,XHTML文档必须使用id属性,即使是对那些以前用name属性的元素。请参看 HTML Compatibility Guidelines 的信息,确保XHTML文档以text/html媒体类型使用时,这些”锚”能向后兼容。
注意,在XHTML 1.0中,name 属性不被正式支持,在以后的XHTML版本中将被删除。
转载于:https://www.cnblogs.com/fengmitianxia/p/3361344.html
XHTML的特征(规范)相关推荐
- XHTML的使用规范
2019独角兽企业重金招聘Python工程师标准>>> 什么是XHTML? XHTML指的是可扩展超文本标记语言 XHTML与HTML4.01几乎是相同的 XHTML是更严格更纯净的 ...
- XHTML 学前概述
XHTML概述 什么是XHTML? XHTML-eXtensible HyperText Markup Language 可扩展的超文本标记语言 XHTML的目标是取代HTML XHTML与HTML ...
- web标准 浏览器介绍 开发工具介绍 HTML介绍 HTML颜色介绍 规范 HTML结构详解 {前端之前端初识}...
前端之前端初识 前端初识 本节目录 一 web标准 二 浏览器介绍 三 开发工具介绍 四 HTML介绍 五 HTML颜色介绍 六 规范 七 HTML结构详解 一 web标准 web准备介绍: 1.w3 ...
- x_html语言名词解释,第2章++XHTML标记语言(97页)-原创力文档
第2章 XHTML标签语言 2.1 XHTML基础 2.2 段落和文字标签 2.3 列表标签 2.4 超级链接标签 2.5 插入图片标签 2.6 页面布局标签 2.7 框架标签 2.8 表单标签 2. ...
- Discuz代码研究-编码规范
来源:http://www.cnblogs.com/janas/archive/2013/08/20/3271408.html Discuz中的编码规范很值得PHP开发人员借鉴.里面既介绍了编码时代码 ...
- xhtml文件的后缀名是什么?
xhtml文件的后缀名是什么? html文件的后缀名是htm或者html.那么,xhtml文件的后缀名是什么呢?如果也是htm或html.那么,如何区分到底是html文件还是xhtml文件呢?谢谢.. ...
- HTMLCSS编码规范
HTML编码规范 制定本规范的目的是为了统一HTML编码风格,便于团队间的协作以及后期维护.主要有以下几个方面: 1)文档类型使用最新的HTML5定义方式,如下所示: <!DOCTYPE htm ...
- 初识HTML和WEB标准
初识HTML和WEB标准 什么是 HTML? HTML 超文本标记语言的缩写(Hyper Text Markup Language) HTML 并不是编程语言,而是一种标记语言(markup lang ...
- Ajax与WebGIS
现在越来越多的桌面应用转向Web平台,而人们也一直希望日益丰富的Web应用能够做到简单易用.高效并具有良好的交互性能.随着Google推出Google Maps.GMail等一系列服务让人们看到了曙光 ...
- 手机浏览器页面知识收集
wap手机网页css(wap css) 大部分手机现在都支持XHTML浏览器,这意味着我们只需在stylesheets的类型设置成"handheld"即 * { position: ...
最新文章
- 软件工程第四周作业之四则运算-C#实现
- 直播 | ICML 2021论文解读:具有局部和全局结构的自监督图表征学习
- 怎么解除airpods定位_华强北airpods
- VA_X_Setup1849.zip
- cmd c语言 图形,CMD-C彩图隐写方案
- 深入理解密码学基本概念和应用
- Fuel 9.0安装的Openstack Controller节点进程整理
- FTP和SSH的区别
- 【kali技巧】kali更新系统
- android 图片跑马灯动画,Android实现图文垂直跑马灯效果
- 美团外卖移动端性能监测体系实现
- idea 2020.3更新后如何实现run parallel
- c++11 入门基础
- 为何需要警惕人工智能
- golang(3)高质量编程与性能分析
- 本地容灾异地备份,本地容灾和异地容灾
- java cleartype_等宽雅黑宋体2.1(支持ClearType和GDI++)
- gige vision协议栈
- 计算机cpu针脚,cpu针脚弯了怎么办 cpu针脚弯了解决方法【详解】
- 最新阿里Java后端开发面试题100道(P6-P7)
热门文章
- 用垃圾建设台湾海峡陆桥的主意是否可行
- 人类为何喜欢十进制的数
- 诚心劝言:自养动物不杀
- OPPO推送:怎样开通?
- jmail mysql_教你怎么使用Jmail发送匿名的邮件(不要身份认证)
- Dxg——[版本管理工具Git SVN]开发笔记整理分类合集【所有的相关记录,都整理在此】
- C++ List的用法(整理)[转载]
- 武装突袭3fps服务器不稳定,大神教你解决win10系统玩《武装突袭3》超级卡顿的详细技巧...
- 电子科大考研计算机考研经验,电子科技大学
- linux java 错误日志_求大神解决啊啊 啊,看看这个怎么了,在LINUX运行完的错误日志...