附加标记以XML格式出现,未在DTD中声明

时间:2013-01-15 07:53:10

标签: xml xml-dtd

我是XML新手。我正在尝试使用这个XML:

<?xml version="1.0"?>
<!DOCTYPE person [
  <!ELEMENT first_name (#PCDATA)>
  <!ELEMENT last_name  (#PCDATA)>
  <!ELEMENT profession (#PCDATA)>
  <!ELEMENT name       (first_name, last_name)>
  <!ELEMENT person     (name, profession*)>
]>
<person>
  <name>
    <first_name>Alan</first_name>
    <last_name>Turing</last_name>
  </name>
  <profession>computer scientist</profession>
  <profession>mathematician</profession>
  <job>cryptographer</job>
</person>

由于标签不存在,我在打开XML文件时没有收到浏览器错误。 请帮我理解这个。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我使用IE打开这个xml,没有错误。然后使用w3validator验证它。有一个错误和两个警告:

警告:

- 在文档级别声明没有字符编码

- 使用直接输入模式:假设为UTF-8字符编码

错误:

- 元素“作业”未定义   密码员 ✉ 您已在文档中使用上面提到的元素,但您使用的文档类型未定义该名称的元素。此错误通常由以下原因引起:

对使用框架的文档错误地使用“严格”文档类型(例如,您必须使用“框架集”文档类型来获取“”元素), 通过使用供应商专有扩展,例如“”或“”(这通常通过使用CSS来实现期望的效果来修复)。 通过在XHTML中使用大写标签(在XHTML属性中,元素必须全部为小写)。