At a school, there are many classes and the following elements are identified.
每位班主任都持有以下信息
Teacher_details部分包含以下信息
问题是上述信息的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>
答案 0 :(得分:1)
主要问题是您声明name
两次。删除其中一个声明以修复立即错误。
<!ELEMENT school (principal|ClassTeacher)*>
这是“元素内容”声明的“选择列表”,这意味着school
可以包含多个principal
或多个ClassTeacher
子项,但不能同时包含两个<!ELEMENT school (principal, ClassTeacher*)>
。请参阅Element Type Declarations。
尝试
principal
这将要求ClassTeacher
是第一个元素,后跟任意数量(包括零)的void reverse(LL_t *L) {
if (L->head->next == NULL) {
return;
}
node_t *rest = L->head->next;
reverse(rest);
node_t *q = rest->next;
q->next = rest;
rest->next = NULL;
}
元素。