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 &lt; 1000 then</message>
实体引用 对应符号
&lt; <
&gt; >
&amp; &
&apos;
&quot; "

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 区域内的文本会被解析器忽略。