XML文件代码:
<?xml version="1.0"?>
<!DOCTYPE message[
<!ELEMENT message (header,body,(signature|footer))>
<!ELEMENT header (date,from,to+,subject,banner?)>
<!ELEMENT body (paragraph*)>
<!ELEMENT date (date,month,year)>
<!ELEMENT paragraph (#PCDATA)>
<!ATTLIST paragraph size CDATA #REQUIRED>
<!ELEMENT signature (#PCDATA)>
<!ELEMENT footer ANY>
<!ELEMENT day (#PCDATA)>
<!ELEMENT month (#PCDATA)>
<!ATTLIST month type (numberic|character) #REQUIRED>
<!ELEMENT year (#PCDATA)>
<!ATTLIST year format (numeric|character) "numeric" >
<!ELEMENT from (#PCDATA)>
<!ELEMENT to (#PCDATA)>
<!ATTLIST to relationship CDATA #IMPLIED>
<!ELEMENT subject (#PCDATA)>
<!ELEMENT banner (#PCDATA)>
]>
<message >
<header>
<date>
<day>12</day>
<month type="character">MAY</month>
<year>2006</year>
</date>
<from> luliuyan </from>
<to> luliuyan's wife</to>
<to relationship="very close">Your family</to>
<to relationship="not so close">Your friends</to>
<subject> Merry Christmas</subject>
<banner></banner>
</header>
<body>
<paragraph size="1 line">
Best wishes for Christmas
</paragraph>
<paragraph size="2 line">
I love you!!
</paragraph>
</body>
<footer>
<day>Christmas Day</day>
<from>The best for us</from>
</footer>
</message>
<!DOCTYPE message[
<!ELEMENT message (header,body,(signature|footer))>
<!ELEMENT header (date,from,to+,subject,banner?)>
<!ELEMENT body (paragraph*)>
<!ELEMENT date (date,month,year)>
<!ELEMENT paragraph (#PCDATA)>
<!ATTLIST paragraph size CDATA #REQUIRED>
<!ELEMENT signature (#PCDATA)>
<!ELEMENT footer ANY>
<!ELEMENT day (#PCDATA)>
<!ELEMENT month (#PCDATA)>
<!ATTLIST month type (numberic|character) #REQUIRED>
<!ELEMENT year (#PCDATA)>
<!ATTLIST year format (numeric|character) "numeric" >
<!ELEMENT from (#PCDATA)>
<!ELEMENT to (#PCDATA)>
<!ATTLIST to relationship CDATA #IMPLIED>
<!ELEMENT subject (#PCDATA)>
<!ELEMENT banner (#PCDATA)>
]>
<message >
<header>
<date>
<day>12</day>
<month type="character">MAY</month>
<year>2006</year>
</date>
<from> luliuyan </from>
<to> luliuyan's wife</to>
<to relationship="very close">Your family</to>
<to relationship="not so close">Your friends</to>
<subject> Merry Christmas</subject>
<banner></banner>
</header>
<body>
<paragraph size="1 line">
Best wishes for Christmas
</paragraph>
<paragraph size="2 line">
I love you!!
</paragraph>
</body>
<footer>
<day>Christmas Day</day>
<from>The best for us</from>
</footer>
</message>
分析:
看XML文件最重要的是要看它的结构:
从上面的示例我们可以知道,第一层次:message包含三个元素:header,body,signature或者footer(其中一个);
第二层次:
header又包含五个子元素:date,from,to("+"表示to元素出现次数为一到多次),subject,banner("?"表示banner元素出现次数为零到多次);
body有子元素paragraph("*"表示paragraph元素可以不出现,或出现一次或多次),而且paragraph有#PCDATA限制,表示不能包含其它元素,且只能是字符数据,另外paragraph含有属性size, 且size属性的类型是CDATA,表示是字符数据,#REQUIRED表示使用paragraph元素时必须使用size属性;
signature元素 也为字符类型;
footer元素类型为任意类型ANY;(本例中是包含其它子元素的类型);
第三层次:
date元素又包含day,month(有type属性),year(有format属性)三个子元素;
from元素;
to元素有relationship属性;
如果还有什么不知道的可以看昨天的关于DTD的理论部分,其实我今天说了好多废话的,只要把代码贴出来就行了,大家好好学习了,不要偷懒