XML语法格式和HTML语法格式的不同

资讯中心 浏览: 173次

HTML语法格式和XML语法格式都可以用来编写HTML5文档,但还是有些不同,XML语法格式必须严格遵守XML规范,而HTML语法格式是在HTML4.0的语法要求下稍微做了变化.

下面是HTML语法格式和XML语法格式的不同点,另外需要强调的是,HTML语法格式也可以按照此XML严格的格式编写.

1.文档必须是格式良好

>对于非空元素,必须包含结束标签.

以前在HTML中,例如<p>和<li>不一定要对应的</p></li>来关闭它们,但在XML语法格式中这是不合法的.XML要求严谨的结构,所有标签必须关闭.

>对于空元素,也必须有一个结束标签或者/>

也就是在空元素结束符"/"和">"前加一个空格,如<br><hr>

必须改成<br /><hr />

另外,对于内容模型为空的元素,例如<br>,最好还是使用最小化的标签语法,由于历史的原因,另一种XML允许的语法在很多现有浏览器中会导致不可靠的结果.

2.元素名区分大小写

与HTML不一样,XML语法格式是区分大小写的,<title>和<TITLE>是两个不同的标签,所以不能这样定义;

<title>文章标题</TITLE>

3.元素和属性必须使用小写字母

XML语法格式要求所有的标签和属性的名字都必须使用小写,例如<BODY>必须写成<body>.

另外,HTML元素和属性使用小写是推荐的好习惯,这有利于组织文档内容,而且HTML5DOM方法在处理元素和属性时都会使用小写字符,即使是参数使用了大写字条HTML5DOM方法也会首先转换成小写字符,然后再进行处理.

4.属性定义必须严格符合要求

属性值必须使用引号包括

在HTML格式的语法中,可以不需要给属性值加引号,但是在XML语法格式中,它们必须被加引号,如<table rows="3">

属性简化

在HTML格式的语法中,允许属性没有值,这时它重复本身或者等于一个逻辑值,但是XML语法格式规定所有属性都必须有一个值,没有值就是错误的.

在属性值中使用&

在属性值中含有&符号时,它必须使用字符实体引用来表示.

属性值中的空白处理

对于属性值中的空白,用户的浏览器将会把开头和结尾处的空白删去,对于中间的连接空白,会把它转化成单个的词分隔符.

5.使用lang和xml:lang属性

如果在指定元素的语言时同时使用了lang属性和xml:lang属性,那么xml:lang属性有优先权,不再推荐在XML语法中使用lang属性.

6.使用十六进制数字引用

在HTML文档中使用十六进制数字引用时,X可以是大写也可以是小写,但是在XML语法格式中,仅能使用小写.

7.预定义属性值必须区分大小写

虽然在HTML文档中有些属性值也区分大小写,但没有XML语法格式严格,对于一些有预定义属性值的属性,例如input元素的type属性,就是那么几个可取值,这些属性值必须全部小写.

8.命名空间

XML格式语法可以声明和使用命名空间

9.关于xml:id

xml语法格式不能使用xml:id属性作为ID标示,而是沿袭HTML的规定,直接使用id属性即可,无烦加xml:前缀.


返回列表
0 条评论

相关文档

更多

成功案例