XML-DTD 学习笔记
一.XML知识
<?xml version="1.0" encoding="ISO-8859-1"?>
<Student>
<stu>
<id>1</id>
<name>justin</name>
<age>21</age>
</stu>
</Studeng>
1.<? xml version="1.0" encoding="ISO-8859-1" ?> 是版本及编码说明
2.<Student></Student>是根元素.包含在里面的称为子元素.
3.元素标签一一对应,即一个开对应一个关.不对乱对应.XML里大小写敏感.
4.每个元素可拥有自己的属性,如:<stu id="1" name="justin" age="18"></stu>
5.一个语法正确(元素标签对应,大小写正确,版说明正确)的XML文档是一个"结构良好"的XML文档
一个语法正确,并且符合DTD规范或Schema规范的XML文档是一个"有效"的XML文档
一个"有效"的XML一定是一个"结构良好"的XML文档.反之,一个"结构良好"的XML文档不一定是一个"有效"的XML文档
二.DTD知识
DTD分为内部DTD和外部DTD.DTD有自己的语法
定义一个内部DTD格式如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE RootNote[
<!ELEMENT RootNote (SubNote[+|*|?|'|'])>
<!ELEMENT NoteName (#PCDATA)>
<!ELEMENT NoteName (#ANY)>
<!ELEMENT NoteName (#EMPTY)>
...
]>
说明:<!ELEMENT RootNote (SubNote[+|*|?|'|'])> 拥有子结点的数量由这些符合来限定.
+ : 最少出现一次 >=1
* : 可有可无 >=0
? : 出现一次或不出现 =0 or =1
: 只能出现一次 =1
<!ELEMENT NoteName (#PCDATA)>
<!ELEMENT NoteName (#ANY)>
<!ELEMENT NoteName (#EMPTY)>
结点数据类型:
#PCDATA :一般数据类型,以字符串的形式。
#ANY :元素內容可属于任何资料。
#EMPTY :空元素,表示在标签间沒有任何资料,通常是用以指定相关属性。如:<NoteName/>
这个DTD结点出现的顺序还要按照规定的给出.如果顺利不一致,则错误!