xml 文件不报错,给出引用外部dtd文件
xml file does not report error, given a reference external dtd file
我写了一个dtd文件来规范一个xml文件,但是按照dtd文件中的定义写错了,没发现Eclipse导出的任何错误。我对这两个文件进行了多次审查,但自己没有发现错误。下面是 2 个简单的文件。任何人都可以帮助弄清楚我遗漏了什么或没有报告错误的原因吗?提前致谢。
这是dtd文件,
<?xml version="1.0" encoding="UTF-8"?>
<--!no classNo or one classNo at most, at least one teacher-->
<!DOCTYPE school [
<!ELEMENT school (class)>
<!ELEMENT class (classNo?,teacher+)>
<!ElEMENT classNo (#PCDATA)>
<!ElEMENT teacher (#PCDATA)>
]>
这是 xml 文件,
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE school SYSTEM "Teacher.dtd">
<school>
<class>
<classNo>Class 3</classNo>
<teacher>Mary</teacher>
</class>
</school>
如果我再添加一个classNo元素,没有报错。 xml文件和dtd文件在Eclipse中是同一个包。
DTD 格式错误。 DOCTYPE
声明只应在 XML 文档中,而不应在 DTD 中。还有几个错别字(小写"l"而不是大写"L";评论中的--!
应该是!--
)。
XML 文档根据此 DTD 进行验证:
<!ELEMENT school (class)>
<!ELEMENT class (classNo?,teacher+)>
<!ELEMENT classNo (#PCDATA)>
<!ELEMENT teacher (#PCDATA)>
当然,您还必须确保在 Eclipse 中启用了验证(假设安装了 XML 编辑器和工具)。
我写了一个dtd文件来规范一个xml文件,但是按照dtd文件中的定义写错了,没发现Eclipse导出的任何错误。我对这两个文件进行了多次审查,但自己没有发现错误。下面是 2 个简单的文件。任何人都可以帮助弄清楚我遗漏了什么或没有报告错误的原因吗?提前致谢。
这是dtd文件,
<?xml version="1.0" encoding="UTF-8"?>
<--!no classNo or one classNo at most, at least one teacher-->
<!DOCTYPE school [
<!ELEMENT school (class)>
<!ELEMENT class (classNo?,teacher+)>
<!ElEMENT classNo (#PCDATA)>
<!ElEMENT teacher (#PCDATA)>
]>
这是 xml 文件,
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE school SYSTEM "Teacher.dtd">
<school>
<class>
<classNo>Class 3</classNo>
<teacher>Mary</teacher>
</class>
</school>
如果我再添加一个classNo元素,没有报错。 xml文件和dtd文件在Eclipse中是同一个包。
DTD 格式错误。 DOCTYPE
声明只应在 XML 文档中,而不应在 DTD 中。还有几个错别字(小写"l"而不是大写"L";评论中的--!
应该是!--
)。
XML 文档根据此 DTD 进行验证:
<!ELEMENT school (class)>
<!ELEMENT class (classNo?,teacher+)>
<!ELEMENT classNo (#PCDATA)>
<!ELEMENT teacher (#PCDATA)>
当然,您还必须确保在 Eclipse 中启用了验证(假设安装了 XML 编辑器和工具)。