Проблема с моим первым DTD - PullRequest
0 голосов
/ 28 марта 2011

Hy!

Мой код:

<!DOCTYPE email [
<!ELEMENT email (von,zu,titel,text,prior)>
<!ELEMENT von (#PCDATA)>
<!ELEMENT zu (#PCDATA)>
<!ELEMENT titel (#PCDATA)>
<!ELEMENT text (#PCDATA)>
<!ATTLIST prior type (#PCDATA) #REQUIRED >
]>
<email>
<von>test@test.com</von>
<zu>xxx@xxx.com</zu>
<titel>Hello</titel>
<text>Dear John....;-).</text>
<prior type="schnell"/>
</email>

Ошибка:

The name token is required in the enumerated type list for the "type" attribute declaration.

Пожалуйста, помогите!

Ответы [ 2 ]

0 голосов
/ 28 марта 2011
<!ELEMENT prior EMPTY>
<!ATTLIST prior type NMTOKEN #REQUIRED>

Вам нужно не только изменить объявление ATTLIST для prior, но также добавить объявление элемента для prior. Я использовал тип, отличный от CDATA для атрибута type, просто чтобы вы могли видеть что-то другое.

0 голосов
/ 28 марта 2011
<!ATTLIST prior type CDATA #REQUIRED>

См. http://www.w3.org/TR/REC-xml/#NT-AttType для типов атрибутов, там нет PCDATA.Кроме того, нет необходимости в скобках и #

...