二、填空题1.______名称空间_______是解决XML元素多义性和名字冲突问题的方案。
2.XML元素由______开始标记_______、结束标记和两者之间的内容三部分组成。
3.DTD全称为_______文档类型定义__________,它分为外部DTD和__内部DTD__两种。
4.XSL文件中,主模板的match属性值为____/_____。
5.DTD文件中,表示元素能出现零次或多次的限定符号为_____*_______。
6.DTD中%字符用于声明_____参数______实体。
实体定义<!ENTITY MJ “MichaelJordan”>,则XML文档中引用“MJ”实体的表达式为____普通&MJ; 参数实体用%___。
7.XML文档片段为:<book xmlns:tup=”清华大学出版社”><tup:bookName>XML程序设计</tup:bookName></book>如果SAX解析器设置为支持名称空间,写出解析<tup:bookName>元素结束标记时endElement(String uri, String localName, String qName)方法中各个参数的取值。
uri=_____清华大学出版社______;localName=_____bookName_______;qName=____tup:bookName ____。
8.DOM全称为____文档对象模型____,DOM解析采用文档驱动,SAX解析使用_事件__驱动。
9.SAX解析器是否报告XML声明给事件处理器?______不会_____(填“是”或“否”)10.HTML文件中引入数据岛使用的标记名为_______xml _________。
11.下面代码中的“学生信息”是______文档对应根_______元素;<?xml version=”1.0”><?DOCTYPE 学生信息SYSTEM “stu.dtd”><!ELEMENT 学生信息(#PCDA TA)>12.match=“/”语句的含义是_____定义主模板_______;13.XML文档中下条语句的作用是:_____xml文件与xsl样式文件关联_______;<?xml-stylesheet type=”text/xsl” href=”mysub/file1.xsl”?>14.在DTD的个数限制中常使用的符号是:_*_ 、__+__和__?_;15.<xsl:value-of select=”name”/>语句的作用是_____满足要求输出Name元素内容_______;16.在DTD文档中下面语句的作用是_______定义教师,子元素顺序为姓名和性别,只出现一次__;<!ELEMENT 教师(姓名,性别)>17.在DTD文档中下面语句的作用是_______使用外部实体pic1________;<!ENTITIE pic1 SYSTEM “fi1.jpg”>18.声明语句<!ATTLIST姓名身份证号ID #REQUIRED>的作用是为_____姓名_元素声明__身份证号____属性;19.<?xml version="1.0" encoding="gb2312"?>是___xml声明_______。
20.在DTD中,元素类型是通过____ELEMENT____标记声明的。
21.属性类型设为ID,表明该属性的取值_________不能为重复值_____________。
22.xml定义了两种类型的entity。
一种是_________普通实体__________ ;另一种是_____参数实体_______。
23.所有Schema文档都必须要使用_____xs:schema______作为其根元素。
24.声明用户自定义的简单数据类型使用关键字____simpleType___ 。
声明复杂类型元素要使用的关键字是___complexType__25.dtd中指定,属性是必选属性要使用的关键字是:____#REQUIRED_______;指定属性是可选属性要使用的关键字是_____#IMPLIED______26.能够通过DTD验证的XML文档我们称为___格式良好______的文档;五、程序填空题1.<?xml version=”1.0”encoding=" utf-8 "?>< !DOCTYPE UNIVERSITY [<!ELEMENT UNIVERSITY ( NAME,ADDRESS )><!ELEMENT NAME (#PCDA TA)><!ELEMENT ADDRESS (#PCDA TA)><!ENTITY name "青岛大学"><!ENTITY address "宁夏路308号">]><!--this is a comment-->< UNIVERSITY ><!--NAME元素中的内容为实体name中的内容--><NAME> &name </NAME><!-- ADDRESS元素中的内容为实体address中的内容--><ADDRESS> &address </ADDRESS></ UNIVERSITY >2.< !DOCTYPE PRODUCTDATA SYSTEM " 1.dtd"> <!—外部DTD--><PRODUCTDATA><PRODUCT PRODUCTID="P001" ><PRODUCTNAME>Gone With the Wind</PRODUCTNAME><PRICE>25.00</PRICE><QUANTITY>35</QUANTITY></PRODUCT></PRODUCTDATA>3.根据上一题XML文档,将下面的模式文件的内容补充完整<?xml version="1.0" encoding="UTF-8"?>< xs:schema xmlns:xs=" /2001/xmlschema " > < xs:element name="PRODUCTDATA" type="prdata"/>< xs:complexType name="prdata"><xs:sequence><xs:element name="PRODUCT" type="prdt"/></xs:sequence>< xs:attribute name=” PRODUCTID”type=”xs:ID”use=”xs:required”/></xs:complexType ><xs:complexType name="prdt"><xs:sequence><xs:element name="PRODUCTNAME" type="xs:string"/><!—元素PRICE 中存放的内容为实数,并且此元素出现的最小次数是1次,最多是3次--> <xs:element name="PRICE" type=" xs:float " minOccurs=1 MaxOccurs=3 /><xs:element name="QUANTITY" type="xs:Integer"/></xs:sequence></xs:complexType>/xs:schema4.<?xml version="1.0" encoding="gb2312" ?><xsl:stylesheet version=" 1.0 " xmlns:xsl="/1999/xsl/Transform "> <xsl:template match ="/"><html><body><h2 align="center">学生成绩单</h2><table border="1" cellpadding="0" align="center"><tr><th>姓名</th><th>性别</th><th>生日</th><th>成绩</th></tr> < xsl:for-each select="roster/student"><tr><td><xsl: value.of select="name"/></td><td><xsl: value.of select="sex"/></td><td><xsl: value.of select="birthday"/></td><td><xsl: value.of select="score"/></td></tr></xsl:for-each></table></body></html><xsl:template><xsl:stylesheet>5.使用DOM解析XML文件代码如下,读程序完成填空。