xml的全名叫做Extensible Markup Lanuage(可扩展标记语言)
有很多人说xml的出现是为了取代html,无论这个对否。现在xml的作用主要体现在:传输和存储数据,其焦点是数据的内容。
1.xml的特点之一就是数据内容的没有任何行为。
<note>
<to>you</to>
<from>I</form>
<content>i love you</content>
</note>
这段xml文中就表示了一段文件,我们可以看出from I的话i love you对you说的。但是我们要想去发送,还必须用到编程语言,这也就是我们说的xml是不作为的!
2.xml中是没有特定标签的,每个人都可以定义自己的标签!
3一个结构良好的xml文档中必须有:
一个跟标签(即可以形成一棵dom树)。
标签必须是关闭的,也就是说<note></note>不可以有类似html中的换行<br/>类似的了。
一个标签的名称是区分大小写的,也就是说<note>和<NOTE>是不同的!
标签必须是不交替嵌套的,<to><form>you</to></form>是错误的。
标签元素的属性必须加引号的。
4xml的一些符号是不可用的,必须有相应的替代符号来取代:
< | < | 小于 |
> | > | 大于 |
& | & | 和号 |
' | ' | 单引号 |
" | " | 引号 |
6.xml的文档书写中,可以有空格,会被保留,但是如果有多个,只会保留一个!
7.xml的命名有几点要注意:
- 名称可以含字母、数字以及其他的字符
- 名称不能以数字或者标点符号开始
- 名称不能以字符 “xml”(或者 XML、Xml)开始
- 名称不能包含空格
8.在w3c中也展示了一些好的xml书写,我们应该借鉴一下:
下面的三个 XML 文档包含完全相同的信息:
第一个例子中使用了 date 属性:
<note date="08/08/2008"
>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
第二个例子中使用了 date 元素:
<note>
<date>08/08/2008</date>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
第三个例子中使用了扩展的 date 元素(这是我的最爱):
<note>
<date>
<day>08</day>
<month>08</month>
<year>2008</year>
</date>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
也就是说在书写xml的时候呢尽量使避免使用属性的!原因,在w3c中也又给出:
- 属性无法包含多重的值(元素可以)
- 属性无法描述树结构(元素可以)
- 属性不易扩展(为未来的变化)
- 属性难以阅读和维护
因此呢:我们在书写xml文档的时候,应该:元数据(数据的数据)作为属性,数据作为元素!
9.我们会约束xml文档,这是用css来格式化xml的时候用的:<?xml-stylesheet type="text/css" href="cd_catalog.css"?>
xml的首选约束格式化语言是XSLT (eXtensible Stylesheet Language Transformations) 远比 CSS 更加完善!
10CDATA是会被xml解析器忽略的东西:CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束
也就是说<![CDATA[everything will be invisiable]]>