0

我的 XML 可能包含多个param条目,每个条目的key属性value如下:

<entry id="entry1">
    <classParams>
       <param key="pluginid" value="monitorPlugin" />
       <param key="pluginid2" value="monitorPlugin2" />
    </classParams>
</entry>

AND/OR 一个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,涉及两种条目类型和仅一种类型的属性定义?

4

2 回答 2

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>
于 2012-09-04T15:02:36.367 回答
0

我用这个定义做了它。我现在只使用id并将值放入param.

<!ELEMENT classParams ( #PCDATA  | param )* >
         <!ELEMENT param ( #PCDATA ) >
         <!ATTLIST param 
            id CDATA #REQUIRED
         >
于 2012-09-04T15:17:44.767 回答