一、语法
基本结构:
实例一:
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<note data="2008/08/08">
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
XML 文档编写前要使用文档申明,声明要给出具体编码,必须有根元素,其元素必须有闭标签,且对大小写敏感。XML元素的属性名也可以自定义,但属性值必须要用引号括起来。
要注意的是元数据(有关数据的描述)应当存储为属性,而数据本身应当存储为元素,尽量减少使用属性,因为属性不易拓展。
实体引用:
实例二:
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<note data="2008/08/08">
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<message>if salary < 1000 then</message>
<body>Don't forget the meeting!</body>
</note>
在XML中如果把"<"符号放在元素中,会被解释器当成新的元素开始,为了避免这个错误,用实体引用来代替 "<" 字符,以下是5个预定义的实体引用。
|---------|--------|--------|
| 实体 | 符号 | 名称 |
| < | < | 小于 |
| > | > | 大于 |
| & | & | 和号 |
| ' | ' | 单引号 |
| " | " | 引号 |
二、命名规则
XML元素命名有以下规则:
- 不能以数字或标点符号开头
- 不能以字符xml开头
- 不能包含空格
- 使名称具有描述性,可以使用下划线的命名方式
三、 命名冲突
当两个不同文档使用相同的元素名称时,就会发送命名冲突。
例:
文档一:
XML
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
文档二:
XML
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
当两个xml文档被一起使用时候,table标签则会发生冲突。
1.前缀
通过添加前缀避免冲突
文档一:
XML
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
文档二:
XML
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
2.命名空间(xmlns属性)
语法:xmlns:namespace-prefix="namespaceURI",其中namespace-prefix是自定的,可以不写,不写代表默认命名空间,namespaceURI是一个可访问的url,具体内容为XML Schema定义,用来定义xml文档的结构,以此防止冲突。
文档一:
XML
<table xmlns="http://www.w3.org/TR/html4/">
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
文档二:
XML
<table xmlns="http://www.w3school.com.cn/furniture">
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>