0
我的XML可以包含多個param
條目,每個key
和value
屬性喜歡這一點:如何定義可選元素的屬性?
<entry id="entry1">
<classParams>
<param key="pluginid" value="monitorPlugin" />
<param key="pluginid2" value="monitorPlugin2" />
</classParams>
</entry>
和/或一個單一classParams
只包含一個字符串是這樣的:
<entry id="entry2">
<classParams>
Im a string
</classParams>
</entry>
我DTD:
<!ELEMENT classParams (#PCDATA | param*)* >
<!ATTLIST id CDATA #REQUIRED value CDATA #REQUIRED >
<!ELEMENT param (#PCDATA) >
如何正確定義我的DTD,涉及到兩個條目只有一種類型的類型和屬性定義?
感謝您的回答。 'EMPTY'定義了什麼?如果我希望'key'或'id'是一個屬性,那麼這個定義是什麼?在同一時間不允許同時允許但至少總是需要一個? – Patrick
'EMPTY'意味着它是一個空的元素。在你的情況下,這應該是'#PCDATA'。 (我會編輯。)在DTD中,你不能對屬性聲明做「或」。你可以做的最好的做法是使兩者都有暗示,並以其他方式進行檢查。 –
感謝您的解釋。 – Patrick