Java DTD中不允许向xml元素添加属性
我必须使用外部DTD,它指定某个元素只能具有id属性:Java DTD中不允许向xml元素添加属性,java,xml,Java,Xml,我必须使用外部DTD,它指定某个元素只能具有id属性: <!ELEMENT x (y | z)> <!ATTLIST x id ID #IMPLIED> 因此,我理解错误的含义及其发生的原因,但正如我所说,DTD是外部的,遗憾的是,我无法改变它。是否有一种解决方法或黑客可以用来添加我自己的自定义属性?您可以在解析器中禁用DTD验证,或者尝试定义。可以同时使用内部和外部,并让内部覆盖外部属性的某个部分吗?@user1985273:是的,您可以这样做。谢谢,这正是我需要的。
<!ELEMENT x (y | z)>
<!ATTLIST x id ID #IMPLIED>
因此,我理解错误的含义及其发生的原因,但正如我所说,DTD是外部的,遗憾的是,我无法改变它。是否有一种解决方法或黑客可以用来添加我自己的自定义属性?您可以在解析器中禁用DTD验证,或者尝试定义。可以同时使用内部和外部,并让内部覆盖外部属性的某个部分吗?@user1985273:是的,您可以这样做。谢谢,这正是我需要的。在我的DOCTYPE中添加了以下内容,并且效果良好:
<x id="x">...</x>
<x id="x" custom="custom">...</x>
Attribute "custom" must be declared for element type "x".