XML练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、根据实体的引用地方可以分为(一般实体)和(参数实体)。
2、一个XML文档结构是由文档头部分和(文档体)两个主要部分,以及一个可选的文档尾组成的。
3、构成XML文档最基本的单位是(元素)。
4、DOM叫(文档对象模式),它以树状层次结构存储XML文档中的所有数据,每一个节点都一个相应的对象,其结构与XML文档的层次结构相对应。
5、数据岛可以把(HTML )和(XML )两种技术相结合。
6、DTD又叫(文档类型定义)是描述XML文档结构的一种常见方法。
7、模型组共有3种sequence 组、( all组)、choice组。
8、W3C提出了两个标准的应用程序接口(DOM )和SAX
1、以下的标记名称中不合法的是(D )
A.<Book> B. <_ Book> C. <:Book> D. <#Book>
2、XML数据岛绑定于标签(B )之间。
A.〈data〉〈/data〉
B. 〈xml〉〈/xml〉
C. 〈body〉〈/body〉
D.〈datasrc〉〈/datasrc〉
3、在DOM节点类型中以下(B )表示XML文档的根节点(代表XML本身)。
A.Node B. Document C. Element D. Text
4、在XSL中,匹配XML的根节点使用(C )。
A. *号
B.·号
C. /号
D. XML中根元素名称
5、以下XML语句错误的是(A )
A. <Book name=”xml技术”name=”xml”/>。
B. <Book Name=”xml技术” name=”xml”/>。
C.<Book name=”xml技术”name2=”xml”/>。
D.<Book Name=”xml技术”NAME=”xml”/>。
6、下列名称空间正确的是(B)。
A. xsd
B. tm:hy
C.xsi:
D. http::
7、如果希望属性的取值唯一,则该属性应定义为(A)
A. ID
B. IDREF
C. IDREFS
D. ENTITY
8、以下(C )HTML标记不能绑定XML元素。
A. a
B. label
C. h2
D. span
9、下列说法错误的是(D )
A. 在HTML中,并不是所有的HTML标记都允许绑定XML标记
B. Schema支持命名空间
C. 可以将一个数据岛指定为一个table , div或者span的数据源
D. 在HTML中所有的HTML标记都允许绑定XML标记
10、下列描述正确的是(A )
A. XML不允许定义不明确的语法结构
B.标记名称中可以包含空格
C. XML不能跨平台
D. xmlns=“”的形式,显示指出他们不属于任何名称空间
11、使用表格分页显示XML文档时,需要设置table标记的(D)属性。
A. datasrc
B. datafld
C. ID
D.datapagesize
12、以下对象(B )是DOM中的结点对象。
A. Document
B. Node
C. Element
D. Ttxt
13、XSL样式表的根元素为A)
A. xsl: stylesheet
B. xsl: import
C. xsl: include
D. xsl: template
14、在CSS中不能继承的属性有(C )
A. 字体
B. 颜色
C. 边框
D. 文本
15、(B )属性建立Schema的命名空间。
A. Name
B. Xmlns
C. Order
D. type
三、判断题
1、引用外部实体的方法为“%实体名称”。
(√)
2、在数据岛中对表格进行翻页的方法是不区分大小写的。
(×)
3、在CSS样式表中如果想把一组属性应用于多个元素,可以用逗号将选择符中的各个元
素分开。
(√)
4、在一个XML文档中有且只有一个根元素。
(√)
5、在XML中,不允许用户自己定义标记。
(×)
6、装载XML文件使用方法为load。
(√)
7、IDREF类型属性的作用是用于元素间的相互联系。
(√)
8、在DTD中,实体可以应用在另一实体的定义中,也可以被元素和属性定义所引用。
(×)
9、XML Schema采用名称空间的机制,使得一个XML文档可以调用多个Schema文档。
(√)
10、DOM共有12种节点类型。
(√)
四、读下列程序,回答问题。
1 文档1.XML
<?xml version=”1.0” encoding=”gb2312”?>
答:文档1.xml中有两处错误,第一处为缺少根元素,第二处为两<书号书号=”2006091896”> 个元素的交叉嵌套是错误. <作者> 王龙</作者> <性别> 男
</性别>
</书号>
<书号书号=”2006091897”>
<作者> 张蕾</性别>
<性别> 女</作者>
</学生> 问题: 文档
1.xml中存在什么问题并把它改正确?
2、文档2.XML <?xml version=”1.0” encoding=”gb2312”?>
答案:1)DTD叫文档类型定义,是描述XML文档结构
<!DOCTYPE 图书信息表[ 的一种常见方法,它用于定义文档的逻辑结构,
<!ELEMENT 图书信息表(图书+)> 规定文档中能够包含哪些元素,
元素的属性, 元<!ELEMENT 图书信息表(书名,作者,定价)>
素的排列方式/顺序,元素能够包含的内容等。
<!ELEMENT 书名(#PCDATA)> <!ELEMENT 作者(#PCDATA)>
<!ELEMENT 定价(#PCDATA)>
<!ATTLIST 图书书号CDATA #REQUIRED >
2)第二个<图书>元素是无效的。
在XML文档中,“书号”
<!DOCTYPE 图书信息表[ 属性不能省略。
<!ELEMENT 图书信息表(图书+)>
也可改成:IMPLIED ]>
<图书信息表>
<图书书号=”ISBN-978730214953”>
<书名> 计算机网络</书名>
<作者> 张一</作者> <定价> 24.00元</定价>
</图书>
<图书> <书名> ASP设计</书名>
<作者> 李红</作者> <定价> 34.00元
</定价> </图书> </图书信息表>
问题:1)什么是DTD?它可以做那些事?
2)文档2.xml中存在什么问题?并把它改正确?
3、问题:
1)什么是实体?为什么用实体引用?
2)如果用外部一般实体,那么声明格式是什么?
4、数据岛与表格的对应关系?在HTML文档中,通过HTML标记的哪个属性调用数据岛?要想把XML文档的数据分页显示用哪个标记?(在数据岛中如果要想显示下一页用哪个
方法?
答案:1)一个XML数据块对应于一个表格。
一个二级元素对应于表格的一行。
一个三级元素对应于表格中的一个单元格。
2)datasrc属性。
3) <table>标记4)nextPage方法
5、XSL文档中的模板是什么?如何定义和调用模板?XSL可以使用哪个元素来访问所有
符合条件的子节点?
答案:1)模板就是XML文档转换为HTML文档的转换规则。
一个XSL样式表由一系列
模板组成,每个模板定义了XML文档中不同元素的转换格式信息,模板之间按照一定的
调用关系组成一个结构完整的模板树。
2)定义模板:
<xsl:template match=”模板匹配模式”>
模板内容</xsl:template>
调用模板:<xsl:apply-templates select=”节点表达式”/>
3)用元素xsl:for-each来访问多个节点
b) 使用SAX解析xml文档。
c) 不经解析,把xml文档直接发送给浏览器。
d) 使用样式表对xml文档进行转换。
49 某公司决定使用xml文档和客户进行数据交换,当设计XML文档结构时,以下的因素中,需要设计人员考虑的是(AD)。
(选择两项)
a) 每次传递数据的大小。
b) 发送xml文档需要采用的协议。
c)解析xml文档的解析器。
d) 是否需要处理二进制数据。
50 要定义一个数据类型,既可能包含integer类型的值,也可能包含string类型的值,以下schema片段正确的是(A)
a) <xsd:simpleType name="idNumber">
<xsd:union>
<xsd:simpleType>
<xsd:restriction base="xsd:integer"/>
</xsd:simpleType>
<xsd:simpleType>
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
</xsd:union>
</xsd:simpleType>
b) <xsd:simpleType name="idNumber">
<xsd:list>
<xsd:simpleType>
<xsd:restriction base="xsd:integer"/>
</xsd:simpleType>
<xsd:simpleType>
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
</xsd:list>
</xsd:simpleType>
c) <xsd:simpleType name="idNumber">
<xsd:all>
<xsd:simpleType>
<xsd:restriction base="xsd:integer"/>
</xsd:simpleType>
<xsd:simpleType>
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
</xsd:all>
</xsd:simpleType>
d) <xsd:simpleType name="idNumber">
<xsd:choice>
<xsd:simpleType>
<xsd:restriction base="xsd:integer"/>
</xsd:simpleType>
<xsd:simpleType>
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
</xsd:choice>
</xsd:simpleType>
51 已知xslt片段:<xsl:if test=”roundOff(0.5)”></xsl:if>, test语句的返回值是(C)
a) True b) False c) 不存在roundOff函数。
d) 以上都不是。
52 已知xml文档包含如下内容(list为根元素):
<list>
<item id="0001">
<price>18</price>
</item>
<item id="0002">
<price>15</price>
</item>
<item/>
<product>
<item id="01"></item>
</product>
</list>
使用xslt进行转换时,语句<xsl:template match=”/list/item[@id]”>能够匹配到()个item
元素。
B
a) 3 b) 2 c) 1 d) 0
53 可扩展样式表语言(XSL)用来定义XML 文档的显示语义,XSL 包括三部分,除了
D
a) XSLT b) XPath c)XSL-FO d)CSS
简答题:1、答:XML(Extensible Markup Language,可扩展的标记语言)是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。
它也是元标记语言,可以定义其他与特定领域有关的、语义的、结构化的标记。
2、答:相对于其他应用于EDI的结构化信息技术而言,XML的优势如下:
低成本,XML不需要VAN的高额费用,中小企业也用得起。
定制商业规则,XML允许
用户创建自己的商业规则和格式。
容易解释,EDI需要翻译软件来得到贸易伙伴的信息格式,而XML通过免费下载的解析器可以很容易解释XML文档,实现这一需求。
平台独立,不管是什么平台,都能进行交易。
3、答:XML的优点表现在以下各方面。
(1)更有意义的搜索。
数据可通过XML进行唯一的标识。
没有XML,搜索软件必须了解每个数据库是如何构建的。
这实际上是不可能的,因为每个数据库描述数据的方法都是不同的。
有了XML,情况
就完全不同了。
例如,学生信息可以按照学号、姓名或其他的标准分类。
这样搜索就变得十分方便。
(2)开发灵活的Web应用软件。
数据一旦建立,XML能被发送到其他应用软件、对象或者中间层服务器做进一步地处理。
它也可以被发送到桌面用浏览器浏览。
XML和HTML、脚本、公共对象模式一起为灵活
的三层Web应用软件的开发提供了所需的技术。
(3)不同来源数据的集成。
现在搜索多样的不兼容的数据库实际上是不可能的。
XML能够使不同来源的、结构化的数据很容易地结合在一起。
软件代理商可以在中间层服务器上对从后端数据库和其他应用处发来的数据进行集成。
然后,数据就能被发送到客户或其他服务器上做进一步的集成、处理和分发。
(4)多种应用得到的数据。
XML的扩展性和灵活性允许它描述不同种类应用软件中的数据,从搜索到的Web页到数
据记录。
同时,由于基于XML的数据是自我描述的,数据不需要有内部描述就能被交换
和处理。
(5)本地计算和处理。
XML格式的数据发送给客户后,客户可以用应用软件解析数据并对数据进行编辑和处理。
使用者可以用不同的方法处理数据,而不仅仅是显示它。
XML文档对象模式(DOM)允
许用脚本或其他编程语言处理数据。
数据计算不需要回到服务器就能进行。
分离使用者查看数据的界面,使用简单、灵活、开放的格式,可以给Web创建功能强大的应用软件,这些软件原来只能建立在高端数据库上。
(6)数据的多样显示。
数据发到桌面后,能够用多种方式显示。
通过以简单、开放、扩展的方式描述结果化的数据,XML补充了HTML,被广泛地用来描述使用者界面。
HTML描述数据的外观,而XML
描述数据本身。
由于数据显示与内容分开,XML定义的数据允许指定不同的显示方式,使数据更合理地表现出来。
本地的数据能够以客户配置、使用者选择或标准规定的其他方式动态地表现出来。
CSS和XSL为数据的显示提供了统一且标准的机制。
(7)粒状的更新。
通过XML,数据可以进行粒状的更新。
每当一部分数据变化后,不需要重发整个结构化的数据。
变化的元素必须从服务器发送给客户,但变化的数据不需要刷新整个使用者的界面就能够显示出来。
(8)在Web上发布数据。
由于XML是一个开放的、基于文本的格式。
它可以和
HTML一样使用HTTP进行传送,不需要对现存的网络进行改变。
(9)升级性。
由于XML彻底把标识的概念同显示分开,处理者能够在结构化的数据中嵌套程序化的描述,以表明如何显示数据。
这是令人难以相信的、强大的机制,它使得客户计算机同使用者间的交互尽可能地减少了,同时减少了服务器的数据交换量和浏览器的响应时间。
另外,XML使个人的数据只能通过更新的布告发生变化,减少了服务器的工作量,大大增强了服务器的升级性能。
(10)压缩性。
XML的压缩性能很好,因为用于描述数据结构的标签可以重复使用。
XML数据是否压缩不仅要根据应用来定,还取决于服务器与客户间数据的传送量。
简答题:
1、答:规则
1:必须有XML声明语句;规则
2:注意大小写;规则
3:所有的XML文档必须有且只有一个根元素;规则
4:属性值必须使用引号"";规则
5:所有的标识必须有相应的结束标识;规则
6:所有的空标识也必须被关闭;规则
7:标识必须正确嵌套;规则
8:处理空白字符;规则
9:处理特殊字符。
2、答:在XML中,基本上没有什么保留字,所以我们可以随心所欲的用任何词语来作为元素名称,但是XML元素的命名必须遵守下列规范:
1、元素的名字可以包含子母,数字和其他字符。
2、元素的名字不能以数字或者标点符号开头。
3、元素的名字不能以XML(或者xml,Xml,xMl...)开头。
4、元素的名字不能包含空格。
5、尽量避免使用“-”,“.”,因为有可能引起混乱。
6、元素的命名应该遵循简单易读的原则,例如:<book_title>是一个不错的名字,而
<the_title_of_the_book>则显得啰嗦了。
7、XML文档往往都对应着数据表,我们应该尽量让数据库中的字段的命名和相应的XML 文档中的元素的命名保持一致,这样可以方便数据变换。
8、非英文/字符/字符串也可以作为XML元素的名字,例如<歌曲>、<文章>等,这都是完全合法的名字。
但是有一些软件不能很好的支持这种命名,所以我们最好尽量使用英文字母来进行命名。
9、在XML元素命名中不要使用":",因为XML命名空间需要用到这个十分特殊的字符。
简答题:
1、答:SELECT 语句的FOR XML子句支持4种XML 转换模式,分别是RAW、AUTO、EXPLICIT 或PATH模式。
2、答:可以通过使用系统存储过程sp_xml_preparedocument的OPENXML函数把XML文档中的数据插入数据库。
其中系统存储过程sp_xml_preparedocument用来创建一个能被插入数据库的XML文档的内部表示,该存储过程返回一个可以访问XML文档的内部表示的句柄,另一方面,系统存储过程sp_xml_removedocument可以用来删除XML文档的内部
表示。
简答题:
1、答:最常见的节点类型有:
(1)、元素:元素是XML 的基本构件。
元素可以有其它元素、文本节点或两者兼有来作为其子节点。
元素节点还是可以有属性的唯一类型的节点。
(2)、属性:属性节点包含关于元素节点的信息,但实际上,不认为它是元素的子节点
(3)、文本:文本节点是:文本。
它可以包含许多信息或仅仅是空白。
(4)、文档(根节点):文档节点是整个文档中所有其它节点的父节点。
2、答:使用XML DOM,可以让我们遍历、读取和操纵XML文档的结构和内容,其主要对象和方法有:
(1)、DOMDocument对象:描述全部文档映射表,它包括文档所有信息。
对开发人员来说,最重要的编程对象是DOMDocument。
DOMDocument对象通过暴露的属性和方法来允许浏览、查询和修改XML文档的内容和结构
(2)、IXMLDOMNode对象:描述文档里的节点,此节点可以是元素、属性、处理指令、文本或其他存储在XML文档里的信息。
(3)、IXMLDOMNodeList对象:描述节点对象的集合,可以使用该对象遍历这个集合,可以用数值访问。
(4)、IXMLDOMParseError对象:用来验证XML文档对于DTD、XSD的正确性。