当一个元素可以同时包含 PCDATA 和另一个元素时,DTD 的正确格式是什么?



我得到了一个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 Description ((#PCDATA | Courseref)*)>

但是后来我得到一个解析错误:

内容Decl : 名称或"("预期)

写出 DTD 以使此 XML 有效的正确方法是什么?

括号太多:

<!ELEMENT Description (#PCDATA | Courseref)*>
<!ELEMENT Courseref EMPTY>
<!ATTLIST Courseref Number CDATA #IMPLIED>

最新更新