2011-03-28 18 views
6

test.xml:बाहरी XML में DTD संदर्भित

<?xml version='1.0' encoding='UTF-8'?> 
<!DOCTYPE email SYSTEM "test.dtd"> 
<email> 
<von>[email protected]</von> 
<zu>[email protected]</zu> 
<titel>Hello</titel> 
<text>Dear John....;-).</text> 
<prior type="schnell"/> 
</email> 

test.dtd: test.dtd में

<?xml version='1.0' encoding='UTF-8'?> 
<!DOCTYPE email [ 
<!ELEMENT email (von,zu,titel,text,prior)> 
<!ELEMENT von (#PCDATA)> 
<!ELEMENT zu (#PCDATA)> 
<!ELEMENT titel (#PCDATA)> 
<!ELEMENT text (#PCDATA)> 
<!ATTLIST prior type CDATA #REQUIRED > 
]> 

त्रुटि कोड

मार्कअप घोषणाओं निहित या द्वारा की ओर इशारा किया दस्तावेज प्रकार की घोषणा अच्छी तरह से बनाई जानी चाहिए। [2]

कृपया मदद करें !!

उत्तर

13

आपके पास डुप्लिकेट DOCTYPE घोषणाएं हैं।

test.xml

<?xml version='1.0' encoding='UTF-8'?> 
<!DOCTYPE email SYSTEM "test.dtd"> 
<email> 
<von>[email protected]</von> 
<zu>[email protected]</zu> 
<titel>Hello</titel> 
<text>Dear John....;-).</text> 
<prior type="schnell"/> 
</email> 

test.dtd

<!ELEMENT email (von,zu,titel,text,prior)> 
<!ELEMENT von (#PCDATA)> 
<!ELEMENT zu (#PCDATA)> 
<!ELEMENT titel (#PCDATA)> 
<!ELEMENT text (#PCDATA)> 
<!ELEMENT prior EMPTY> 
<!ATTLIST prior type CDATA #REQUIRED > 

आप एक्सएमएल फ़ाइल के तहत आपके DTD चाहते हैं (आंतरिक: आप एक बाहरी DTD को संदर्भित करना चाहते हैं सबसेट):

<?xml version='1.0' encoding='UTF-8'?> 
<!DOCTYPE email [ 
<!ELEMENT email (von,zu,titel,text,prior)> 
<!ELEMENT von (#PCDATA)> 
<!ELEMENT zu (#PCDATA)> 
<!ELEMENT titel (#PCDATA)> 
<!ELEMENT text (#PCDATA)> 
<!ELEMENT prior EMPTY> 
<!ATTLIST prior type CDATA #REQUIRED > 
]> 
<email> 
<von>[email protected]</von> 
<zu>[email protected]</zu> 
<titel>Hello</titel> 
<text>Dear John....;-).</text> 
<prior type="schnell"/> 
</email> 

नोट: आप अपने prior तत्व के लिए एक तत्व घोषणा भी खो रहे हैं।