XML元素是可以扩展的,它们之间有关联。
XML元素有简单的命名规则。
XML元素是可以扩展的
XML文档可以被扩展一边携带更多的信息。
请看下面的XML便条例子:
1<note>
2<to>Lin</to>
3<from>Ordm</from>
4<body>Don't forget me this weekend!</body>
5</note>
让我们来设想一个能够读取此XML文档的并能解读其中XML元素(
1<to>, <from>, 和<body>)的软件,可能的输出如下:
2
3**MESSAGE**
4
5**To:** Lin
6**From:** Ordm
7
8Don't forget me this weekend!
9
10---
11
12我们再来设想,如果便条的作者Ordm在这个XML文档中加入一些额外的信息,如下所示:
13
14
15 <note>
16<date>2002-12-24</date>
17<to>Lin</to>
18<from>Ordm</from>
19<heading>Reminder</heading>
20<body>Don't forget me this weekend!</body>
21</note>
22
23---
24
25那么原来的应用程序会中断或者崩溃么?
26
27不会。应用程序仍然会正确的解读<to>, <from>, 和<body> 等元素,并且产生同样的输出。
28
29**XML文档是可以扩展的!**
30
31* * *
32
33## XML元素是相互关联的
34
35**XML元素之间是父元素和子元素的关系。**
36
37为了更好的理解XML术语,必须了解XML元素之间的关系如何,以及元素的内容是如何被描述的。
38
39设想有这样一本书:
40
41**署名: XML 指南**
42
43第一章: XML入门简介
44
45 * 什么是HTML
46 * 什么是XML
47
48
49
50第二章: XML语法
51
52 * XML元素必须有结束标记
53 * XML元素必须正确的嵌套
54
55
56---
57
58我们可以用XML文档来描述这本书:
59
60
61 <book>
62<title> **XML 指南** </title>
63<prod id="33-657" media="paper"></prod>
64<chapter>XML入门简介
65 <para>什么是HTML</para>
66<para>什么是XML</para>
67</chapter>
68<chapter>XML语法
69 <para>XML元素必须有结束标记</para>
70<para>XML元素必须正确的嵌套</para>
71</chapter>
72</book>
73
74---
75
76在上面的代码中,Book元素是XML文档的根元素,title元素和chapter元素是book元素的子元素。Book元素是title元素和chapter元素的父元素。title元素,prod元素和chapter元素是平级元素,因为他们都有同一个父元素。
77
78* * *
79
80## XML元素的内容
81
82**XML元素有不同的内容。**
83
84XML元素指的是从该元素的开始标记到结束标记之间的这部分内容。
85
86XML元素有元素内容,混合内容,简单内容或者空内容。每个元素都可以拥有自己的属性。
87
88在上面的例子中,book元素有元素内容,应为 **book** 元素包含了其它的元素。Chapter元素有混合内容,因为它里面包含了文本和其他元素。para元素有简单的内容,因为它里面仅有简单的文本。prod元素有空内容,因为他不携带任何信息。
89
90在上面的例子中,只有prod元素有属性,id属性值是33-657,media属性值是paper。
91
92* * *
93
94## XML元素命名
95
96**XML元素命名必须遵守下面的规则:**
97
98 * 元素的名字可以包含子母,数字和其他字符。
99 * 元素的名字不能以数字或者标点符号开头。
100 * 元素的名字不能以XML(或者xml,Xml,xMl...)开头。
101 * 元素的名字不能包含空格。
102
103
104
105自己“发明”的XML元素还必须注意下面一些简单的规则:
106
107任何的名字都可以使用,没有保留字(除了XML),但是应该使元素的名字具有可读性,名字使用下划线是一个不错的选择。
108
109例如: <first_name>, <last_name>.
110
111尽量避免使用“-”,“.”,因为有可能引起混乱。
112
113只要你愿意元素的名字可以很长,但也不要太夸张了哦。命名应该遵循简单易读的原则,例如:<book_title>是一个不错的名字,而<the_title_of_the_book>则显得罗嗦了。
114
115XML文档往往都对应着数据表,我们应该尽量让数据库中的字段的命名和相应的XML文档中的命名保持一致,这样可以方便数据变换。
116
117非英文/字符/字符串也可以作为XML元素的名字,例如<蓝色理想><经典论坛>这都是完全合法的名字。但是有一些软件不能很好的支持这种命名,所以尽量使用英文字母来命名。
118
119在XML元素命名中不要使用":",因为XML命名空间需要用到这个十分特殊的字符。</the_title_of_the_book></book_title></last_name></first_name></body></from></to></body></from></to>