我不知道我的问题是否被正确提出。我有一个包含 DTD 的 XML 文档。我已经定义了 ATTLIST,如果我多次使用相同的属性,我想限制或修改 XML 验证将引发错误或失败的 DTD。我的 XML 文档如下所示:
<?xml version="1.0" encoding="utf-8"?>
<!-- DTD START -->
<!DOCTYPE dtype
[
<!ELEMENT dtype (ea?, eb?, ec, ed?) >
<!ELEMENT ea (data+) >
<!ELEMENT eb (ee+) >
<!ELEMENT ec (data+) >
<!ELEMENT ed (data+) >
<!ELEMENT ee (data+) >
<!ELEMENT data (#PCDATA) >
<!ATTLIST ee
ef CDATA #REQUIRED
>
<!ATTLIST data
element CDATA #REQUIRED
value CDATA #IMPLIED
unit CDATA #IMPLIED
min CDATA #IMPLIED
max CDATA #IMPLIED
avg CDATA #IMPLIED
>
]>
<!-- DTD END -->
<!-- DATA START -->
<dtype>
<ec>
<data element="A" unit="counts" min="0.6621" avg="0.6819" max="0.7089" />
<data element="B" unit="counts" min="0.0463" avg="0.0473" max="0.0503" />
<data element="C" unit="counts" min="0.1238" avg="0.1264" max="0.1344" />
</ec>
</dtype>
<!-- DATA END -->
<!-- should be detected as not ok ! -->
<!--
<dtype>
<ec>
<data element="A" unit="counts" min="0.6621" avg="0.6819" max="0.7089" />
<data element="B" unit="counts" min="0.0463" avg="0.0473" max="0.0503" />
<data element="B" unit="counts" min="0.1238" avg="0.1264" max="0.1344" />
<data element="C" unit="counts" min="0.1348" avg="0.1644" max="0.1654" />
</ec>
</dtype>
-->
例如,我想限制 DTD 以允许一个属性element="B"
。
这可能吗?