Я не могу понять, как использовать «ЛЮБОЙ» на языке определения типа документа - PullRequest
1 голос
/ 08 октября 2011

Предположим, у нас есть этот 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", но я получаю сообщение об ошибке

Line 20, Column 16: element "stuff" undefined

с этого сайта http://validator.w3.org/check

почему это происходит?не должен ли кто-либо принимать парсируемые данные в элементе foo?

1 Ответ

1 голос
/ 08 октября 2011

ANY означает «Любой тип элемента, определенный в DTD», а не «Любой тип элемента, который автор хочет придумать».

С спецификацией :

Объявление соответствует ЛЮБОМУ, а содержимое (после замены любых ссылок на сущности их заменяющим текстом) состоит из символьных данных, разделов CDATA, комментариев, PI и дочерних элементов , типы которых были объявлены .

(мой акцент)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...