XML DTD验证错误问题

时间:2014-06-25 19:08:20

标签: xml validation dtd

我在发出如下简单的xml文档时遇到以下错误,我错过了什么

XML

<person>
    <profession>cryptographer</profession>
</person>

DTD

<!ELEMENT person (profession)>
<!ELEMENT profession (#PCDATA)>

错误:

The Markup In The Document Preceding The Root Element Must Be Well-formed.

验证者 - http://www.xmlvalidation.com/

请帮忙

由于

1 个答案:

答案 0 :(得分:2)

我可以重现您在此处看到的错误,并且我假设这是您提交的内容:

<!ELEMENT person (profession)>
<!ELEMENT profession (#PCDATA)>
<person>
    <profession>cryptographer</profession>
</person>

如果我将DTD放在DOCTYPE声明的内部子集中([]之间),它会使用该服务进行验证。

<!DOCTYPE person [
<!ELEMENT person (profession)>
<!ELEMENT profession (#PCDATA)>
]>
<person>
    <profession>cryptographer</profession>
</person>

修改

如果您尝试引用外部DTD,则仍需要添加DOCTYPE声明以引用DTD。

示例:

<!DOCTYPE person SYSTEM "so.dtd">
<person>
    <profession>cryptographer</profession>
</person>

如果您提交此内容,系统将提示您加载DTD。这是您要上传/粘贴的DTD:

<!ELEMENT person (profession)>
<!ELEMENT profession (#PCDATA)>

注意:首次提交XML时,请确保不要对外部XML架构进行验证&#34;选择! DTD和Schema是两回事。