1

假设我们有这个 XML 文档

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE note [

<!ELEMENT note (to,from,heading,body, foo)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
<!ELEMENT foo ANY>

]>

<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<foo><stuff>test</stuff></foo>
</note>

我对元素“foo”使用了 ANY 关键字,但我收到一条错误消息

Line 20, Column 16: element "stuff" undefined

从这个网站http://validator.w3.org/check

为什么会这样?不应该在 foo 元素中接受任何类型的可解析数据吗?

4

1 回答 1

1

ANY表示“DTD 中定义的任何元素类型”而不是“作者关心发明的任何元素类型”。

规范

声明匹配 ANY,并且内容(在用替换文本替换任何实体引用之后)由字符数据、CDATA 部分、注释、PI 和类型已声明的子元素组成。

(我的重点)

于 2011-10-08T19:53:56.587 回答