目录
一、题目
1.编写一个employee.xml
其中保留员工的id,name,age,depName,salary,company,gender信息.
id必须有并且不能相同
name任意
age可以不出现,不出现时有默认值20
depName只能在(市场部,教学部,教学管理部)中产生
salary可以不出现
gender可以不出现,不出现是有默认值male
2.编写一个customer.xml
要求:根元素customers,customers中只包含customer元素,
customer中只有属性name(取值tom,alexlee,jack),必须出现
customer内容是消费数目.
3.要求根元素是<students>,在其内可以有1个或多个<student>,
在<student>内元素必须按<first_name>,<last_name>,<age>,<gendar>,<address>顺序出现;
<gendar>可以出现0次或1次,
<address>内元素必须按<city>,<street>,<zip>顺序出现
4.描述学过的课程 courses.dtd
课程数量 n
课程的名称、
课程时间、
任课老师(只有一个)、
班级(可有可无)
5.创建cd.xml存放CD的信息(可从cd.doc中获取),写DTD对xml文件的内容进行限制,要求根元素
<cds>下可以出现多个<cd>子元素,
<cd>的子元素按照给定顺序出现,
<company>可以出现一次或多次,
<year>可以出现零次或一次,
code属性必须出现
二、答案
第一题:
employee.dtd
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT EMPLOYEE (EMP*)>
<!ELEMENT EMP (#PCDATA)>
<!ATTLIST EMP
id ID #REQUIRED
name CDATA #REQUIRED
age CDATA "20"
depName (市场部|教学部|教学管理部) #REQUIRED
salary CDATA #IMPLIED
gender CDATA "male"
>
employee.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE EMPLOYEE SYSTEM "employee.dtd">
<EMPLOYEE>
<EMP id="A12" name="12" age="20" depName="教学部">
</EMP>
</EMPLOYEE>
第二题:
customer.dtd
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT CUSTOMER (customer*)>
<!ELEMENT customer (#PCDATA)>
<!ATTLIST customer name (tom|alexlee|jack) #REQUIRED>
customer.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE CUSTOMER SYSTEM "customer.dtd">
<CUSTOMER>
<customer name="jack">
3000
</customer>
</CUSTOMER>
第三题:
student.dtd
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT students (student+)>
<!ELEMENT student (first_name,last_name,age,(gendar?),address)>
<!ELEMENT first_name (#PCDATA)>
<!ELEMENT last_name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT gendar (#PCDATA)>
<!ELEMENT address (city,street,zip)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT street (#PCDATA)>
<!ELEMENT zip (#PCDATA)
student.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE students SYSTEM "Student.dtd">
<students>
<student>
<first_name>张</first_name>
<last_name>楠</last_name>
<age>12</age>
<gendar>男</gendar>
<address>
<city>南京</city>
<street>解放路</street>
<zip>上的郭德纲</zip>
</address>
</student>
</students>
第四题:
courses.dtd
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT courses (课程数量,(course+))>
<!ELEMENT 课程数量 (#PCDATA)>
<!ELEMENT course (课程名称,课程时间,任课老师,(班级?))>
<!ELEMENT 课程名称 (#PCDATA)>
<!ELEMENT 课程时间 (#PCDATA)>
<!ELEMENT 任课老师 (#PCDATA)>
<!ELEMENT 班级 (#PCDATA)>
courses.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE courses SYSTEM "courses.dtd">
<courses>
<课程数量>2</课程数量>
<course>
<课程名称>编译原理</课程名称>
<课程时间>12:00~15:00</课程时间>
<任课老师>杨兴运</任课老师>
<班级>15计嵌2班</班级>
</course>
</courses>
第五题:
cd.dtd
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT cds (cd*)>
<!ELEMENT cd (company+,year?)>
<!ELEMENT company (#PCDATA)>
<!ELEMENT year (#PCDATA)>
<!ATTLIST cd code CDATA #REQUIRED>
cd.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cds SYSTEM "cd.dtd">
<cds>
<cd code="1234">
<company>微软</company>
</cd>
<cd code="1234">
<company>微软</company>
<year>1998</year>
</cd>
</cds>