xml和dtd练习

目录

一、题目

二、答案


一、题目

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>

猜你喜欢

转载自blog.csdn.net/elice_/article/details/82775886