2015-12-12 148 views
0

我有這樣的XMLDTD錯誤驗證

<catalogue> 
    <book year="1992"> 
     <title>Advanced Programming in the Unix environment</title> 
     <publisher>AW</publisher> 
     <price kind="retail">65.95</price> 
     <price kind="wholesale">50.00</price> 
    <ISBN>ISBN-020163346X</ISBN> 
    </book> 
    <publisher> 
     <abbreviation>AW</abbreviation> 
     <name>Morgan Kaufmann Publishers</name> 
     <country>USA</country> 
    </publisher> 
</catalogue> 

具有着我創建並添加發行商,如果我有這個標籤2次?我嘗試這樣

<!ELEMENT catalogue (book+,publisher+)> 
<!ELEMENT book (title,publisher,price+,ISBN)> 
<!ELEMENT title (#PCDATA)> 
<!ELEMENT price (#PCDATA)> 
<!ELEMENT ISBN (#PCDATA)> 
<!ATTLIST book year CDATA #REQUIRED> 
<!ATTLIST price kind CDATA #IMPLIED> 

<!ELEMENT publisher (abbreviation,name,country)> 

<!ELEMENT abbreviation (#PCDATA)> 
<!ELEMENT name (#PCDATA)> 
<!ELEMENT country (#PCDATA)> 

但在Netbians 元素類型「發行人」必須匹配「(簡稱,姓名,國家)」的內容的錯誤。 [6] 元素類型「發佈者」的內容必須匹配「(縮寫,名稱,國家)」。 [13] 元素類型「publisher」的內容必須匹配「(abbreviation,name,country)」。 [21] 元素類型「發佈者」的內容必須匹配「(縮寫,名稱,國家)」。 [28]

回答

0

我找到一個解決方案

<!ELEMENT publisher (#PCDATA | abbreviation |name | country )*>