每天多一点之XML规则
1、语法规则
1、文件头必须要有xml声明语句
<?xml version="1.0" encoding="UTF-8"?>
2、所有XML元素都必须有关闭标签
3、标记大小写敏感
4、一个标签中可以嵌套若干个子标签。但所有标签必须合理的嵌套,绝不允许交叉嵌套。
错误(a标签与b标签交叉):<i><a>Hello<b>World</a></b></i> 正确:<i><a>Hello</a><b>World</b></i>
5、有且只有一个根元素。
6、属性值必须加引号:
如果属性值本身包含双引号(单引号),那么有必要使用单引号(双引号)包围它,就像这个例子:
<gangster name='George "Shotgun" Ziegler'>或者可以使用实体引用:
<gangster name="George "Shotgun" Ziegler">7、实体引用
8、XML 中的注释 <!-- This is a comment –>
注释内容不要出现--
不要把注释放在标记中间
注释不能嵌套
可以在除标记外的任何地方写注释
9、XML 标签中出现的所有空格和换行,xml解析程序都会当作标签内容进行处理:
<i>
<i>HackerD</i> 不等于 HackerD
</i>
10、XML 以 LF 存储换行
11、CDATA
有时我们希望传递一些特殊字符(除]]外): <>@!#$%^&*( 可以使用 CDATA节点
基本用法:
<intro><![CDATA[这个是好$$128qw8o8<Lk;>;akdf0sa98u329408><<K>>>学生]]></intro>
2、XML 命名规则
XML 元素必须遵循以下命名规则:
名称可以含字母、数字以及其他的字符
名称不能以数字或者标点符号开始
名称不能以字符 “xml”(或者 XML、Xml)开始
名称不能包含空格
名称中间不能包含:(冒号留给命名空间用)
可使用任何名称,没有保留的字词。
3、最佳命名习惯
使名称具有描述性。使用下划线的名称也很不错。
名称应当比较简短,比如:<book_title>,而不是:<the_title_of_the_book>。
避免 "-" 字符。如果您按照这样的方式进行命名:"first-name",一些软件会认为你需要提取第一个单词。
避免 "." 字符。如果您按照这样的方式进行命名:"first.name",一些软件会认为 "name" 是对象 "first" 的属性。
避免 ":" 字符。冒号会被转换为命名空间来使用(稍后介绍)。
XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素。有一个实用的经验,即使用数据库的名称规则来命名 XML 文档中的元素。
非英语的字母比如 éòá 也是合法的 XML 元素名,不过需要留意当软件开发商不支持这些字符时可能出现的问题。
4、尽量避免使用XML 属性:
因使用属性而引起的一些问题:
- 属性无法包含多重的值(元素可以)
- 属性无法描述树结构(元素可以)
- 属性不易扩展(为未来的变化)
- 属性难以阅读和维护
请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。
不要做这样的蠢事(这不是 XML 应该被使用的方式):
<note day="08" month="08" year="2008"
to="George" from="John" heading="Reminder"
body="Don't forget the meeting!">
</note>
5、元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素。
6、XML的应用:
1、程序间数据传输
2、做配置文件
3、充当小型数据库