XML DTD约束报错:父元素内容需匹配(Subdivision)的解决求助
问题原因及解决方法
你的报错根源在DTD的定义上:
<!ELEMENT Subdivisions (Subdivision)>
这个定义表示<Subdivisions>元素只能包含一个<Subdivision>子元素,但你的XML里有多个<Subdivision>,不符合DTD的内容模型要求,因此oXygen抛出验证错误。
解决步骤
修改DTD中Subdivisions元素的定义,使用量词允许多个<Subdivision>子元素:
- 如果要求至少有一个
<Subdivision>,用+:<!ELEMENT Subdivisions (Subdivision+)> - 如果允许零个或多个
<Subdivision>,用*:<!ELEMENT Subdivisions (Subdivision*)>
根据你的XML内容,使用+更贴合需求,修改后重新验证XML,错误就会消失。
内容的提问来源于stack exchange,提问作者Vanilla
相关产品推荐
相关产品推荐

