以下 XML 的 DTD 给出错误
The DTD for the following XML gives error
At a school, there are many classes and the following elements are identified.
- 有一位校长,他有姓名、年龄和地址
- 每个class都有一个class老师
每位class老师持有以下资料
- Class_number
- Teacher_Details
- Number_of_students
Teacher_details部分包含以下信息
- Teacher_name
- DoB
问题是以上信息的DTD文档
我使用VS 2008创建了XML和DTD。但是DTD的第一行有一个错误。
<!DOCTYPE school [
<!ELEMENT school (principal|ClassTeacher)*>
<!ELEMENT principal (name,age,address)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT address (#PCDATA)>
<!ELEMENT ClassTeacher (cno,td*,nos)>
<!ELEMENT cno (#PCDATA)>
<!ELEMENT td (name,dob)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT dob (#PCDATA)>
<!ELEMENT nos (#PCDATA)>
]>
<school>
<principal>
<name>sdasd</name>
<age>456</age>
<address>jhkh</address>
</principal>
<ClassTeacher>
<cno>456</cno>
<td>
<name>gyj</name>
<dob>fgd</dob>
</td>
<nos>45</nos>
</ClassTeacher>
</school>
主要问题
主要问题是您声明了两次 name
。删除其中一项声明以修复直接错误。
其他问题
<!ELEMENT school (principal|ClassTeacher)*>
这是“元素内容”声明的“选择列表”,这意味着 school
可以有多个 principal
或多个 ClassTeacher
子元素,但不能同时有两个子元素。参见 Element Type Declarations。
尝试
<!ELEMENT school (principal, ClassTeacher*)>
这将要求 principal
是第一个元素,然后是任意数量(包括零)的 ClassTeacher
个元素。
At a school, there are many classes and the following elements are identified.
- 有一位校长,他有姓名、年龄和地址
- 每个class都有一个class老师
每位class老师持有以下资料
- Class_number
- Teacher_Details
- Number_of_students
Teacher_details部分包含以下信息
- Teacher_name
- DoB
问题是以上信息的DTD文档
我使用VS 2008创建了XML和DTD。但是DTD的第一行有一个错误。
<!DOCTYPE school [
<!ELEMENT school (principal|ClassTeacher)*>
<!ELEMENT principal (name,age,address)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT address (#PCDATA)>
<!ELEMENT ClassTeacher (cno,td*,nos)>
<!ELEMENT cno (#PCDATA)>
<!ELEMENT td (name,dob)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT dob (#PCDATA)>
<!ELEMENT nos (#PCDATA)>
]>
<school>
<principal>
<name>sdasd</name>
<age>456</age>
<address>jhkh</address>
</principal>
<ClassTeacher>
<cno>456</cno>
<td>
<name>gyj</name>
<dob>fgd</dob>
</td>
<nos>45</nos>
</ClassTeacher>
</school>
主要问题
主要问题是您声明了两次 name
。删除其中一项声明以修复直接错误。
其他问题
<!ELEMENT school (principal|ClassTeacher)*>
这是“元素内容”声明的“选择列表”,这意味着 school
可以有多个 principal
或多个 ClassTeacher
子元素,但不能同时有两个子元素。参见 Element Type Declarations。
尝试
<!ELEMENT school (principal, ClassTeacher*)>
这将要求 principal
是第一个元素,然后是任意数量(包括零)的 ClassTeacher
个元素。