Создать DTD для узла с внутренним узлом xml и текстом
У меня есть довольно простой XML, показанный ниже.
<?xml version="1.0" ?>
<message>
This is a message with some <bold>highlights</bold> in a text.
</message>
Как я могу создать DTD для проверки вещей внутри элемента сообщения? Смесь узла и текста. Это не работает.
<!DOCTYPE message [
<!ELEMENT message (#PCDATA, bold)>
<!ELEMENT bold (#PCDATA)>
]>
1 ответ
Решение
Если у вас смешанный контент (как элементы, так и текст), вы не можете указать порядок (используйте |
вместо ,
) и это должно быть ноль или более вхождений (*
).
Пример:
<!DOCTYPE message [
<!ELEMENT message (#PCDATA|bold)*>
<!ELEMENT bold (#PCDATA)>
]>
<message>
This is a message with some <bold>highlights</bold> in a text.
</message>