在xml规范中,它说:
[定义:当该类型的元素可能包含字符数据时,元素类型具有混合内容,可选地穿插子元素。]在这种情况下,子元素的类型可能受到约束,但不是它们的顺序或数量发生次数
有没有办法解决这个问题,使这个xml有效:
<parent>
A text node
<child/>
</parent>
但是这个xml无效:
<parent>
A text node
<child/>
<child/>
</parent>
另外,你知道为什么不允许这样做的原因吗?
<!ELEMENT parent (#PCDATA,child)>
答案 0 :(得分:0)
Alderath,
前面,我不知道,但我不这么认为,不是在DTD ......而且,如果我可以这么说,你真的应该使用XML Schema(即XSD)而不是DTD(它们只是90年代; - )。
XSD允许您对文档内容进行更严格的控制,我很确定使用XSD可以限制“混合类型”复杂元素中特定子元素的出现次数(甚至很容易);虽然我自己从来没有需要(触摸木头)这样做...所以把它视为异端。
祝你好运。
干杯。基思。
答案 1 :(得分:0)
DEFINE:(a,b,c)是表达允许的儿童元素的序列列表的方式。你不应该序列文本内容和一些元素。
解决:如果您希望该文本位于某些子元素中的任何确切位置,请将其包装在新的特定子元素中,并将序列包含在其他子元素中。
记住:A = ANY;从DTD的角度来看,允许文本内容(= PCDATA =未标记的字符串)必然允许任何文本内容。
我相信我是对的。 。欢呼声