1 处理说明一些用户代理程序会显示处理说明。但是,注意当文档中没有XML声明时,文档只能用缺省的字符编码UTF-8 或 UTF-16。
2 空元素在空元素结束符 / 和 > 前加一个空格,如
,
和
. 还有,使用最小化的标签语法,如
,因为另一种XML允许的语法
在很多现有用户代理程序会导致不可靠的结果。
3 元素最小化和空元素内容内容模型不是空的元素,在为空的场合(如空title或空段落),不要用最小化形式(如 用
,不用
).
4 嵌入的样式表和Script如果你的样式表使用 或 --,用外部样式表。如果你的script用 或 --,用外部script。 注意XML分析程序会在不告知的情况下除去注释的内容。因此,以前用注释的方法”隐藏”script和样式表的习惯使文档可以向后兼容,但是可能在基于XML的执行时不能按预期工作。
5 在属性值内部分行在属性值中避免使用分行和多个空格符。用户代理程序处理这些情况时不一致。
6 Isindex在文档的head部分不要使用超过一个 isindex 元素. isindex 元素不被赞成使用,赞成使用input元素。
7 lang 和 xml:lang 属性在指定元素的语言时同时使用 lang 和 xml:lang 属性。xml:lang 属性在前。
8 片段标识符在 XML中,以"#foo"形式结束片段标识符URI [RFC2396] 不是指元素有一个属性name="foo",而是指元素有一个被定义为ID类型的属性,如,HTML 4中的id属性。很多HTML客户程序不以这种方式支持ID类型属性,所以,可以将相同的值同时附给这两个属性,以保证最大程度的向后和向前兼容。(如
...).
此外,因为ID类型属性的合法值集比CDATA类型属性的值集小得多,name属性被改为NMTOKEN。这个属性被限制为只有和ID类型或XML1.0 2.5节中的Name产品同样的值。不幸的是,XHTML的DTD不能表示出这个限制。因为这个改变,在转换现有的HTML文档时要加以注意。 如果在转换时值可能会改变,这些属性的值在文档中必须是唯一的,有效的,任何对这些片段标识符的引用(不管是内部还是外部)必须更新。
最后,注意不赞成在 a,applet,form,frame,iframe,img,和 map 元素中使用name属性,在以后的XHTML版本中,它将被去除。
9 字符编码要指定文档中的字符编码,同时在xml声明中使用编码属性指定 (如. ) 和在meta中用 http-equiv 语句 (如
).xml紊
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn