Как проверить файл DTD?

В чем проблема файла DTD этих двоих. Я не понял следующую ошибку:

:Character ',' is grammatically unexpected.(line on **,**)

Есть ли действительный экземпляр XML-документа из DTD этих двух?

Первый DTD

<!ELEMENT nom (#PCDATA , (nomp | prenom)*)>
<!ELEMENT nomp (#PCDATA)>
<!ELEMENT prenom (#PCDATA)

Второе DTD

<!ELEMENT nom ((#PCDATA | nomp) , prenom)*>
<!ELEMENT nomp (#PCDATA)>
<!ELEMENT prenom (#PCDATA)>

ошибка :Character '(' is grammatically unexpected. (line 1 second "**(**")

1 ответ

Если у вас смешанный контент (то есть, когда элемент может содержать как символьные данные, так и необязательно перемежающиеся дочерние элементы), вы должны объявить элемент определенным образом. Порядок и количество вхождений не могут быть ограничены.

См. Спецификацию для получения дополнительной информации: http://www.w3.org/TR/xml/

Таким образом, ваше объявление элемента должно быть:

<!ELEMENT nom (#PCDATA|nomp|prenom)*>
Другие вопросы по тегам