我的XML-DTD无法验证此代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE init[
<!ELEMENT init(a)>
<!ELEMENT a(b,c,(d|e))>
<!ELEMENT b (#PCDATA)>
<!ELEMENT c (#PCDATA)>
<!ELEMENT d (#PCDATA)>
<!ELEMENT e (#PCDATA)>
]>
<init>
<a>
dolor
<b> Lorem </b>
dolor
<c> Ipsum </c>
<d> hi </d>
dolor
</a>
</init>
如何通过DTD验证中间文本?
PD: 对不起,我编辑了这个问题 - 我的问题没有解决。
PD2: 我用它来验证dtd-html:http://validator.w3.org/check
答案 0 :(得分:1)
我看到了几件事:
a
声明为mixed content模型。示例...
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE init [
<!ELEMENT init (a)>
<!ELEMENT a (#PCDATA|b|c)*>
<!ELEMENT b (#PCDATA)>
<!ELEMENT c (#PCDATA)>
]>
<init>
<a>
dolor
<b> Lorem </b>
dolor
<c> Ipsum </c>
dolor
</a>
</init>
示例#2 ......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE init [
<!ELEMENT init (a)>
<!ELEMENT a (#PCDATA|b|c|d|e)*>
<!ELEMENT b (#PCDATA)>
<!ELEMENT c (#PCDATA)>
<!ELEMENT d (#PCDATA)>
<!ELEMENT e (#PCDATA)>
]>
<init>
<a>
dolor
<b> Lorem </b>
dolor
<c> Ipsum </c>
<d> hi </d>
dolor
</a>
</init>