我有一个xml元素 vehicle ,它可以作为子元素 car XOR truck XOR多个组合#PCDATA OR < EM>总线。我该如何写dtd?
<?xml version="1.0" encoding="UTF-8" ?>
<!ELEMENT root (vehicle)*>
<!ELEMENT vehicle (truck|car|(#PCDATA|bus)*)>
上述操作失败,错误
解析器错误:ContentDecl:名称或&#39;(&#39;预期
答案 0 :(得分:2)
在XML中不可能。一旦您需要定义允许文本(#PCDATA
)和元素(也称为混合内容)的内容模型,您必须以这种方式定义:
(#PCDATA | element1 | element2 | ...)*
您案件的解决方法可能是:
<!ELEMENT vehicle (truck|car|buscontent)>
<!ELEMENT buscontent (#PCDATA | bus)* >