将属性添加到DTD中不允许的xml元素

时间:2018-03-13 15:29:41

标签: java xml

我必须使用外部DTD,它指定某个元素只能有id属性:

<!ELEMENT x (y | z)>
<!ATTLIST x id ID #IMPLIED>

所以这样的事情是有效的

<x id="x">...</x>

但如果我尝试这样的事情:

<x id="x" custom="custom">...</x>

我的解析器给出了以下错误:

Attribute "custom" must be declared for element type "x".

所以我理解错误说的是什么以及它为什么会发生,但正如我所说DTD是外部的,遗憾的是我无法改变它。是否有可用于添加我自己的自定义属性的变通方法或黑客?

1 个答案:

答案 0 :(得分:1)

您可以在解析器中禁用DTD验证,也可以尝试定义internal DTD