我正在研究一些SQL和DTD。我不习惯太多。在做一些运动时,我遇到了一些问题。 以下是数据:https://prod-c2g.s3.amazonaws.com/db/Winter2013/files/countries.xml 我正在尝试为此编写DTD。这就是我写的:
<!ELEMENT countries (country*)>
<!ELEMENT country (city*, population*)>
<!ATTLIST country name (PCDATA) #REQUIRED population (CDATA) #REQUIRED area (CDATA) #REQUIRED >
<!ELEMENT city (name, population) >
<!ELEMENT name ANY>
<!ELEMENT population ANY>
<!ELEMENT language ANY>
<!ATTLIST language percentage CDATA #IMPLIED >
可能存在一些小错误,但我经常得到的错误是有效性错误。例如它说
国家属性名称的“阿富汗”值不在枚举集中。
我做错了什么?
答案 0 :(得分:1)
那是因为:
<!ATTLIST country name (PCDATA)
它认为PCDATA
是枚举中的值。尝试将其更改为CDATA
(不带括号)...
<!ATTLIST country
name CDATA #REQUIRED
population CDATA #REQUIRED
area CDATA #REQUIRED>