我提供了一个XML文件,我想为数据集编写DTD。
这是我正在努力解决的部分的片段。
<Course Number="CS124" Prerequisites="CS107 CS109" Instructors="DJ" Enrollment="60">
<Title>From Languages to Information</Title>
<Description>
Natural language processing. Cross-listed as
<Courseref Number="LING180"/>
.
</Description>
</Course>
<Course Number="CS143" Prerequisites="CS107" Instructors="AA" Enrollment="90">
<Title>Compilers</Title>
<Description>
Principles and practices for design and implementation of compilers and interpreters.
</Description>
</Course>
当元素中有PCDATA时,使DTD适合XML的正确方法是什么,还可选择其他ELEMENT? (见元素描述)
我认为这样的事情会起作用:
<!ELEMENT Description ((#PCDATA | Courseref)*)>
但后来我得到一个解析错误:
ContentDecl:名称或'('预期
为此XML写出有效的DTD的正确方法是什么?
答案 0 :(得分:1)
你的括号太多了:
<!ELEMENT Description (#PCDATA | Courseref)*>
答案 1 :(得分:0)
<!ELEMENT Courseref EMPTY>
<!ATTLIST Courseref Number CDATA #IMPLIED>