XML语法
1.XML文档必须要包含根元素,即所有标签要在根元素内
2.XML声明:
<?xml version="1.0" encoding="utf-8"?>
3.所有的XML元素都要有一个关闭标签,即有前即有后
4.大小写敏感,即a标签和A标签不是一个标签
5.实体引用:
在 XML 中,一些字符拥有特殊的意义。
如果您把字符 “<” 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。
<message>if salary < 1000 then</message>
为避免错误应该这么写
<message>if salary < 1000 then</message>
实体引用 | 对应符号 |
---|---|
< | < |
> | > |
& | & |
' | ’ |
" | " |
6.XML中空格会被保留:HTML 会把多个连续的空格字符裁减(合并)为一个,在 XML 中,文档中的空格不会被删减。
7.XML属性必须要加引号,属性难以阅读和维护。请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。
不要做这样的蠢事(这不是 XML 应该被使用的方式):
<note day="10" month="01" year="2008"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>
XML命名规则
XML 元素必须遵循以下命名规则:
1.名称可以包含字母、数字以及其他的字符
2.名称不能以数字或者标点符号开始
3.名称不能以字母 xml(或者 XML、Xml 等等)开始
4.名称不能包含空格
可使用任何名称,没有保留的字词。
最佳命名习惯:
1.使名称具有描述性。使用下划线的名称也很不错:<first_name>、<last_name>。
2.名称应简短和简单,比如:<book_title>,而不是:<the_title_of_the_book>。
3.避免 “-” 字符。如果您按照这样的方式进行命名:“first-name”,一些软件会认为您想要从 first 里边减去 name。
4.避免 “.” 字符。如果您按照这样的方式进行命名:“first.name”,一些软件会认为 “name” 是对象 “first” 的属性。
5.避免 “:” 字符。冒号会被转换为命名空间来使用(稍后介绍)。
6.XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素。有一个实用的经验,即使用数据库的命名规则来命名 XML 文档中的元素。
7.在 XML 中,éòá 等非英语字母是完全合法的,不过需要留意,您的软件供应商不支持这些字符时可能出现的问题。
XMLHttpRequest
XMLHttpRequest 对象用于在后台与服务器交换数据。
xmlhttp=new XMLHttpRequest();
命名空间
当两个不同的文档使用相同的元素名时,就会发生命名冲突。
XML 命名空间 - xmlns 属性:
在 XML 中的命名冲突可以通过使用名称前缀从而容易地避免。
当在 XML 中使用前缀时,一个所谓的用于前缀的命名空间必须被定义。
命名空间是在元素的开始标签的 xmlns 属性中定义的。
<root>
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table xmlns:f="http://www.w3cschool.cc/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
命名空间 URI 不会被解析器用于查找信息。其目的是赋予命名空间一个惟一的名称。不过,很多公司常常会作为指针来使用命名空间指向实际存在的网页,这个网页包含关于命名空间的信息。
CDATA
某些文本,比如 JavaScript 代码,包含大量 “<” 或 “&” 字符。为了避免错误,可以将脚本代码定义为 CDATA。
CDATA 部分中的所有内容都会被解析器忽略。
<script>
<![CDATA[
function matchwo(a,b)
{
if (a < b && a < 0) then
{
return 1;
}
else
{
return 0;
}
}
]]>
</script>
XML编码
<?xml version="1.0" encoding="UTF-8"?>
XML的下一步学习
XSLT 用于把 XML 转换为其他格式,比如 HTML。
所有现代的浏览器有一个内建的 XML 解析器,可读取和操作 XML。
DOM(Document Object Model)定义了一个访问 XML 的标准方式。
XMLHttpRequest 对象提供了一个网页加载后与服务器进行通信的方式。
XML 命名空间提供了一种避免元素命名冲突的方法。
CDATA 区域内的文本会被解析器忽略。