一概念
XML文档的元素都是自定义的,但也不能胡乱定义。
比如有几个工程师一起为项目在写XML,但每人都按各自的思维进行天马行空的编写,那整合在一起时,不能做到统一处理。
这时就有了XML文档的规则的概念。
XML文档规则用来规定XML文档中由哪些标记(元素)组成,标记能有多少,顺序如何,属性值的规范等。也就是规定XML的格式和内容。目的是为了解析器在解析该XML文档时提供方便。
二 XML的文档规则有两种
DTD
Document Type Definition(文档类型定义)DTD定义可以在XML文档中出现的元素,这些元素出现的次序,它们可以如何相互嵌套以及XML文档结构的其它详细信息
XML Schema
模式可以定义我们能在DTD中使用的所有文档结构,还可以定义数据类型和比DTD更复杂的规则
三 DTD
1 使用DTD有什么优势
通过 DTD,您的每一个 XML 文件均可携带一个有关其自身格式的描述。
通过 DTD,独立的团体可一致地使用某个标准的 DTD 来交换数据。
而您的应用程序也可使用某个标准的 DTD 来验证从外部接收到的数据。
您还可以使用 DTD 来验证您自身的数据。
有了XML文档规则之后,XML 文档可以分为三个类型:
无效的文档:不满足XML的基本的语法特点,或者该文档不遵守DTD或者XML Schema
格式良好的:满足XML的基本的语法特点,但是不遵守DTD或者XML Schema。
有效的文档:即满足了XML的基本的语法特点,又遵守DTD或者 XML Schema
2 定义DTD的位置
DTD可以定义在XML中
单独为一个*.dtd文件
3 单独定义DTD文件
<?xml version="" encoding="UTF-8"?>
<!ELEMENT students (student*)>
<!ELEMENT student ((name|username),age,address,phone?)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT username (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT address (#PCDATA)>
<!ELEMENT phone (#PCDATA)>
<!ATTLIST age xusui CDATA #IMPLIED>
4 使用DTD文档
<?xml version="" encoding="UTF-8"?>
<!DOCTYPE students SYSTEM "" >
<students>
<student>
<name>wujin</name>
<age xusui="31">30</age>
<address>bao'An</address>
<phone>0755</phone>
</student>
<student>
<username>baiGuJing</username>
<age xusui="26">25</age>
<address>fuTian</address>
</student>
</students>
5 DTD定义在XML文档中
<?xml version="" encoding="GBK" standalone = "yes" ?>
<!DOCTYPE students [<!ELEMENT students (student*)>
<!ELEMENT student (name,age,address,phone?)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT address (#PCDATA)>
<!ELEMENT phone (#PCDATA)>
<!ATTLIST age xusui CDATA #IMPLIED> ]>
<students>
<student>
<name>andy</name>
<age>49</age>
<address>luohu luohukejidasha</address>
</student>
<student>
<name>goudan</name>
<age xusui="当年减出生年加1">28</age>
<address>shanxi xi an</address>
<phone>02988755660</pho
XML编程 重点讲义备忘 2 来自淘豆网m.daumloan.com转载请标明出处.