gpt4 book ai didi

xml - DTD 语法 - 允许子元素 OR pcdata

转载 作者:行者123 更新时间:2023-12-04 05:33:39 27 4
gpt4 key购买 nike

我的 .xml 结构可能有以下数据:

<entry id="one-string">
<class>nmWinMultiReports_main</class>
<classParams>string</classParams>
</entry>
<entry id="multiple-elements">
<class>nmJavaScript_main</class>
<classParams>
<pluginid>monitorPlugin</pluginid>
<bla>string</bla>
<tag>abc</tag>
</classParams>
</entry>

我如何定义 .dtd 文件以允许 classParams 1. 是一个字符串或 2. 多个子元素(每个一次)?

我试过:

<!ELEMENT class ( #PCDATA ) >
<!ELEMENT classParams ( #PCDATA | pluginid | bla | tag ) >
<!ELEMENT pluginid ( #PCDATA ) >
<!ELEMENT bla ( #PCDATA ) >
<!ELEMENT tag ( #PCDATA ) >

最佳答案

DTD 不能强制执行您描述的约束;获得类似约束的最简单方法是添加一个新元素(称为 string )并声明 classParams 为接受 stringpluginid的序列等等,作为 child :

<!ELEMENT string (#PCDATA) >
<!ELEMENT classParams (string
| (pluginid, bla, tag))
>

或者,如果
<classParams><string>foo</string></classParams> 

看起来太重了,你可以申报 entryclassParamsclassParamString作为内容:
<!ELEMENT entry (class, (classParams | classParamString)) >
<!ELEMENT classParamString (#PCDATA) >
<!ELEMENT classParams (pluginid, bla, tag) >

关于xml - DTD 语法 - 允许子元素 OR pcdata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12261206/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com