案例一
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE books[
<!ELEMENT books (book+)>
<!ELEMENT book (name,press,author,price)*>//当有*号时,表示属性可以有多个,但必须是成组出现,但是顺序不能错比如(
<name></name>
<name></name>
<press></press>
<author></author>
<price></price>
)
]>
<books>
<book>
<name></name>
<press></press>
<author></author>
<price></price>
<name></name>
<press></press>
<author></author>
<price></price>
</book>
</books>
案例二
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE books[
<!ELEMENT books (book+)>
<!ELEMENT book (name|press|author|price)>//当有|号出现时是互相排斥的,只能写一个元素
]>
<books>
<book>
<name></name>
</book>
</books>
案例三
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE books[
<!ELEMENT books (book+)>
<!ELEMENT book (name|press|author|price)>
]>
<books>
<book>//这里的book可以写多个,并且book中的属性可以不同
<name></name>
</book>
<book>
<press></press>
</book>
</books>
案例四
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE books[
<!ELEMENT books (book+)>
<!ELEMENT book (name*|press|author|price)>//这里的name*,中的name可以写多个,但是不可以写press
]>
<books>
<book>
<name></name>
<name></name>
<press></press>
</book>
</books>
案例五
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE books[
<!ELEMENT books (book+)>
<!ELEMENT book (name|press|author|price)*>//当*写在()外面时,同一个属性可以出现多次,并且可以出现其他的属性,而且各个属性之间的顺序可以颠倒
]>
<books>
<book>
<name></name>
<name></name>
<author></author>
<price></price>
<press></press>
</book>
</books>
案例六
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE books[
<!ELEMENT books (book+)>
<!ELEMENT book (name|press|author|price)*>//这个是批量生产,并且price ANY,所以价格是不一样的
<!ELEMENT name (#PCDATA)>
<!ELEMENT press (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT price ANY>
]>
<books>
<book>
<name>java软件编程</name>
<author>王</author>
<price>16</price>
<press>清华与北大联合出版</press>
</book>
<book>
<name>java软件编程</name>
<author>王</author>
<price>18</price>
<press>清华与北大联合出版</press>
</book>
</books>