XML Entry-1
1 |
|
基础知识整理:
- 必须有根元素
- 元素标签对大小写敏感
- 标签必须闭合
- 元素必须备正确的嵌套
- 标签属性必须加引号(单/双都行)
在此极力推荐的理念是:元数据 [有关数据的数据] 应当存储为属性(如上面代码中的
id="501"
,它仅仅是一个标识符,用于标识不同的书籍,它并不是数据的组成部分);而数据本身应当存储为元素。避免使用属性的理由:
- 属性无法包含多重的值(元素可以)
- 属性无法描述树结构(元素可以)
- 属性不易扩展(为未来的变化)
- 属性难以阅读和维护
尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。
xml 文档的合法性验证:
通过 DTD 验证的 xml 文档是合法的 xml。访问DTD教程
1
2
3
4
5
6
7<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>另一种 DTD 的代替者是 XML Schema。访问XML Schema 教程
1
2
3
4
5
6
7
8
9
10
11
12<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>给 xml 添加样式
1
2
3
4
5
6
7
8
9
10
11
12
13
<!-- xslt,xml 的推荐样式文件 -->
<!-- css -->
<breakfast_menu>
<food>
<name>Belgian Waffles</name>
<price>$5.95</price>
<description>
two of our famous Belgian Waffles
</description>
<calories>650</calories>
</food>
</breakfast_menu>访问XSLT 教程。