【发布时间】:2013-11-28 18:38:41
【问题描述】:
这两个语句在 DTD 中有何不同 -
<!ATTLIST element-name attribute-name (value) #IMPLIED>
&
<!ATTLIST element-name attribute-name #FIXED value)
我尝试了以下两个示例,它们的工作方式相同 -
示例 1:
<?xml version ='1.0' encoding = 'UTF-8'?>
<!DOCTYPE ContactBook[
<!ELEMENT ContactBook (Contact, Contact)>
<!ELEMENT Contact (Name, Phone)>
<!ELEMENT Name (#PCDATA|text)* >
<!ELEMENT text (#PCDATA) >
<!ELEMENT Phone (#PCDATA) >
<!ATTLIST Phone type (Mobile) #IMPLIED>
]>
<ContactBook>
<Contact>
<Name><text>ABC</text></Name>
<Phone>123</Phone>
</Contact>
<Contact>
<Name>DEF<![CDATA[junk!]]></Name>
<Phone type='Mobile'>456</Phone>
</Contact>
</ContactBook>
示例 2:
<?xml version ='1.0' encoding = 'UTF-8'?>
<!DOCTYPE ContactBook[
<!ELEMENT ContactBook (Contact, Contact)>
<!ELEMENT Contact (Name, Phone)>
<!ELEMENT Name (#PCDATA|text)* >
<!ELEMENT text (#PCDATA) >
<!ELEMENT Phone (#PCDATA) >
<!ATTLIST Phone type CDATA #FIXED "Mobile">
]>
<ContactBook>
<Contact>
<Name><text>ABC</text></Name>
<Phone>123</Phone>
</Contact>
<Contact>
<Name>DEF<![CDATA[junk!]]></Name>
<Phone type='Mobile'>456</Phone>
</Contact>
</ContactBook>
【问题讨论】: