0
我想創建一個DTD的XML文件,但在Netbeans它不會給我任何錯誤,但在氧氣XML它聲明 意外的元素「childone」 。父元素類型的內容必須匹配「((c:childone,c:childtwo)|(childone,childtwo,childthree,childfour))」。DTD錯誤在氧氣但不是在Netbeans如此混淆
的XML我有如下:
<rootelement>
<c:childone></c:childone>
<c:childtwo></c:childtwo>
<childone></childone>
<childtwo></childtwo>
<childthree></childthree>
<childfour></childfour>
</rootelement>
的DTD我有如下:
<!ELEMENT rootelement ((c:childone,c:childtwo)|(childone,childtwo,childthree,childfour))>
<!ELEMENT c:childone (#PCDATA)>
<!ELEMENT c:childtwo (#PCDATA)>
<!ELEMENT childone (#PCDATA)>
<!ELEMENT childtwo (#PCDATA)>
<!ELEMENT childthree (#PCDATA)>
<!ELEMENT childfour (#PCDATA)>
我現在很困惑,請大家幫忙。希望我正確地格式化了這個。
我實際上正在創建一個DTD和模式。但是我先創建了DTD,然後是模式。 c:是命名空間的前綴。我還在學習。我以爲我可以有一個「或」來選擇帶有c的前綴的那個或者沒有在DTD中的那些,但顯然不是。 – Dino
或者是兩個不同的內容集之間。正如你寫的那樣,你可以有一個集(前綴)或另一個集(非前綴),但不能同時存在。如果你想讓混合,語法必須這樣說。 除非你有一個非常具體的理由來處理它們,這些天我會跳過DTD。 – keshlam
啊我看到技術上我的DTD必須改變,否則我必須刪除其中一個元素,或者是前面的元素,或者是之前沒有的元素。 – Dino