为了使XML文档规范化,对XML文档的书写进行约束@H_403_2@
XML DTD
XML文档(test.xml)@H_403_2@
DTD约束文档(books.dtd)@H_403_2@
@H_403_2@<!ELEMENT books (book)>@H_403_2@
<!ELEMENT book (name,price)>@H_403_2@
<!ELEMENT name (#PCDATA)>@H_403_2@
<!ELEMENT price (#PCDATA)>@H_403_2@
@H_403_2@@H_403_2@@H_403_2@@H_403_2@
<!ELEMENT book (name,price)>@H_403_2@
<!ELEMENT name (#PCDATA)>@H_403_2@
<!ELEMENT price (#PCDATA)>@H_403_2@
@H_403_2@@H_403_2@@H_403_2@@H_403_2@
也可以写在一起:
@H_403_2@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE users [
@H_403_2@<!ELEMENT users (user*)>
@H_403_2@<!ELEMENT user (id,username,password,email,birthday)>
@H_403_2@<!ELEMENT id (#PCDATA)>
@H_403_2@<!ELEMENT username (#PCDATA)>
@H_403_2@<!ELEMENT password (#PCDATA)>
@H_403_2@<!ELEMENT email (#PCDATA)>
@H_403_2@<!ELEMENT birthday (#PCDATA)>
]>
<users>@H_403_2@
<!DOCTYPE users [
@H_403_2@<!ELEMENT users (user*)>
@H_403_2@<!ELEMENT user (id,username,password,email,birthday)>
@H_403_2@<!ELEMENT id (#PCDATA)>
@H_403_2@<!ELEMENT username (#PCDATA)>
@H_403_2@<!ELEMENT password (#PCDATA)>
@H_403_2@<!ELEMENT email (#PCDATA)>
@H_403_2@<!ELEMENT birthday (#PCDATA)>
]>
<users>@H_403_2@
@H_403_2@<user>
@H_403_2@<id>1</id>
@H_403_2@<username>1</username>
@H_403_2@<password>1</password>
@H_403_2@<email>1</email>
@H_403_2@</user>
</users>@H_403_2@
@H_403_2@<id>1</id>
@H_403_2@<username>1</username>
@H_403_2@<password>1</password>
@H_403_2@<email>1</email>
@H_403_2@</user>
</users>@H_403_2@
引入外部DTD@H_403_2@
@H_403_2@@H_403_2@@H_403_2@元素声明@H_403_2@
<!ELEMENT element-name category>@H_403_2@@H_403_2@
或@H_403_2@
<!ELEMENT element-name (element-content)>@H_403_2@@H_403_2@@H_403_2@
或@H_403_2@
<!ELEMENT element-name (element-content)>@H_403_2@@H_403_2@@H_403_2@
符号使用@H_403_2@@H_403_2@@H_403_2@
@H_403_2@
@H_403_2@
category@H_403_2@
@H_403_2@
属性定义@H_403_2@
实体定义@H_403_2@
实体定义有点像C中的宏定义@H_403_2@
例:@H_403_2@
XML Schema
在定义Schema文档时要用到预先定义的属性和元素,需要引入W3C组织规定的scheme,即xmlns="@H_403_2@http://www.w3.org/2001/XMLSchema@H_403_2@@H_349_301@"@H_403_2@@H_403_2@