额外的标记以XML形式出现,而不是在DTD中声明
我是XML新手。我尝试使用以下XML:额外的标记以XML形式出现,而不是在DTD中声明,xml,dtd,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)> <
<?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文件时在浏览器上没有遇到错误。
请帮助我理解这一点。提前感谢。我使用IE打开此xml,没有错误。然后使用验证工具对其进行验证。得到一个错误和两个警告,如下所示: 警告: --没有在文档级别声明字符编码 --使用直接输入模式:假定UTF-8字符编码 错误: --元素“job”未定义 密码学家 ✉ 您已经在文档中使用了上面命名的元素,但是您使用的文档类型没有定义该名称的元素。此错误通常由以下原因引起: 对使用框架的文档不正确地使用了“严格”文档类型(例如,必须使用“框架集”文档类型才能获取“”元素), 通过使用供应商专有的扩展,如“”或“”(这通常通过使用CSS来实现所需的效果来解决)。
通过在XHTML中使用大写标记(在XHTML中,属性和元素必须都是小写)。您到底不明白什么?XML中有“job”,在“doctype”之后的定义中没有“job”。我实际上不知道这些都是什么,但我看到了错误;)好的,让我们来简化一下——如果我输入的标签不正确,那么这个XML应该会给出错误,这并不像预期的那样。