我的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,关于两种条目类型和仅一种类型的属性定义?
答案 0 :(得分:1)
这个DTD应该有用......
<!ELEMENT entry (classParams)>
<!ATTLIST entry
id CDATA #REQUIRED>
<!ELEMENT classParams (#PCDATA|param)*>
<!ELEMENT param (#PCDATA)>
<!ATTLIST param
key CDATA #REQUIRED
value CDATA #REQUIRED>
答案 1 :(得分:0)
我用这个定义做了。我现在只使用id
并将值放在param
中。
<!ELEMENT classParams ( #PCDATA | param )* >
<!ELEMENT param ( #PCDATA ) >
<!ATTLIST param
id CDATA #REQUIRED
>