我收到一个错误,似乎无法找到很多文档.
这是XML的一小部分.
<Department Code="LING" Chair="BL">
<Title>Linguistics</Title>
<Course Number="LING180" Prerequisites="CS107 CS109" Instructors="DJ" Enrollment="60">
<Title>From Languages to Information</Title>
<Description>
Natural language processing. Cross-listed as
<Courseref Number="CS124"/>
</Description>
</Course>
<Lecturer InstrID="DJ">
<First_Name>Dan</First_Name>
<Middle_Init>D.</Middle_Init>
<Last_Name>Jurafsky</Last_Name>
</Lecturer>
<Professor InstrID="BL">
<First_Name>Beth</First_Name>
<Last_Name>Levin</Last_Name>
</Professor>
<Lecturer InstrID="FZ">
<First_Name>Frank</First_Name>
<Last_Name>Zoidberg</Last_Name>
</Lecturer>
</Department>
Run Code Online (Sandbox Code Playgroud)
这是我的DTD
<!ELEMENT Course_Catalog (Department*)>
<!ELEMENT Department (Title, Course+, Professor+, Lecturer?)>
<!ATTLIST Department Code CDATA #REQUIRED
Chair IDREFS #REQUIRED>
<!ELEMENT Course (Title, Description)>
<!ATTLIST Course Number ID #REQUIRED
Prerequisites IDREFS #IMPLIED
Instructors IDREFS #REQUIRED
Enrollment CDATA #IMPLIED>
<!ELEMENT Title (#PCDATA)>
<!ELEMENT Description (#PCDATA | Courseref)*>
<!ELEMENT Courseref EMPTY>
<!ELEMENT Courseref Course IDREF #REQUIRED>
<!ELEMENT Professor (First_Name, Middle_Initial?, Last_Name)>
<!ATTLIST Professor InstrID ID #REQUIRED>
<!ELEMENT Lecturer (First_Name, Middle_Initial?, Last_Name)>
<!ATTLIST Lecturer InstrID ID #REQUIRED>
<!ELEMENT First_Name (#PCDATA)>
<!ELEMENT Middle_Initial (#PCDATA)>
<!ELEMENT Last_Name (#PCDATA)>
Run Code Online (Sandbox Code Playgroud)
我得到两个错误的错误,第一个是彼此有关
parser error : xmlParseElementDecl: 'EMPTY', 'ANY' or '(' expected
Run Code Online (Sandbox Code Playgroud)
而下一个
parser error : Content error in the external subset
Run Code Online (Sandbox Code Playgroud)
这有点模糊,但我认为它与ID和IDREFS有关.正如你所看到的那样,讲师和教授都有相同的ID指针参考.部门属性主席和课程属性教师都指向InstrID.和课程元素都通过先决条件引用其他课程,并通过描述中的Courseref引用.你可以看到有很多东西被传递过来.即使我通过DTD知道,只要有东西存在,你就不能真正限制哪些ID被重新引用.
但我无法弄清楚这个错误,我把它们放错了顺序或者我的ID-IDREFS错了?任何帮助都会很棒
<!ELEMENT Courseref Course IDREF #REQUIRED>
Run Code Online (Sandbox Code Playgroud)
这应该是ATTLIST而不是ELEMENT
| 归档时间: |
|
| 查看次数: |
5931 次 |
| 最近记录: |