XML实用技术教程课后答案_第1页
XML实用技术教程课后答案_第2页
XML实用技术教程课后答案_第3页
XML实用技术教程课后答案_第4页
XML实用技术教程课后答案_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《XML实用技术教程》课后习题答案第一章XML技术背景及其发展判断题X233.X4.丿选择题1.(BCD)2.(C)3.(AC)简述题答:标记语言:用一系列约定好的标记来对电子文档进行标记,以实现对电子文档的语义、结构和格式的定义。这些标记必须能够很容易地与内容相区分,并且易于识别。答:XML(ExtensibleMarkupLanguage),即可扩展标记语言。XML由W3C于1996年提出,并于1998年2月推出XML1.0版。XML是一种类似于HTML的标记语言,它属于SGML的子集,继承了SGML自定义标记的特点,在功能上弥补了HTML标记的不足,拥有更多的可扩展性。简单来说,XML文档符合SGML文档规范,而且XML与HTML兼容。XML是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。答:XML技术的主要应用:(1)数据库交换技术。XML可以被不同的平台和系统采用作为交流的媒介。(2)分布式处理。随着Web技术的发展,Java将会和XML技术相得益彰,这样的应用也会变得越来越重要。(3)信息发布。采用XML描述的数据,可以以不同的方式显示在不同用户的浏览器中。服务器只需发出一份XML文件,客户可根据需要选择不同的程序来处理数据。(4)智能化的Web应用程序和数据集成。例如大众媒体根据用户的“爱好”以一种标准的方式提供给用户的应用。这些应用的实施都需要有XML格式的数据以实现可交互操作性,并因此允许智能Web代理来为个人用户提供“个性化”的服务。XML严格的语法降低了应用程序的负担,使智能工具的开发更为便捷,来自不同应用程序的数据能转换到XML这个统一框架中,进行交互、转化和进一步加工。(5)电子商务应用。XML技 术的应用会加速电子商务的发展,XML有利于数据交换和传递的特性为电子商务,尤其是B2B带来革命性的冲击。答:XML相关的技术:(1)命名空间(2)文档类型定义DTD与XMLSchema(3)XML的显示技术(4)XML链接技术(5)XML处理器接口技术第二章XML语法基础判断题X2.V3.X4.X5.X选择题1.(C)2.(ABD)3.(ACD)4.(BC)5.(AB)简述题答:XML元素(element)是XML文档内容的基本单元。一个元素由一个开始标记、一个结尾标记以及括在标记之间的文本字符数据组成。其形式为:<tag_name>数据内容</tag_name>答:CDATA标记是XML中提供的一个特殊的标记。括在CDATA标记中的内容将不被XML解析器处理,而直接提供给应用程序。CDATA标记可用于标出不被XML解析器处理的字符数据部分。答:格式良好的XML文档:(1)文档的开始必须是XML必要声明。(2)含有数据的元素必须有起始标记和结束标记。(3)不含数据并且仅使用一个标记的元素必须以“/>”结束。(4)文档智能包含一个能够包含全部其他元素的根元素。(5)元素只能嵌套不能重叠。(6)属性值必须加引号。(7)字符<和&只能用于起始标记和实体引用。(8)出现的实体引用只能有&、<、>、'和"。4.答:一个XML文档如果满足:(1)这个XML文档是well-formed;(2)这个XML文档是根据DTD来设计的文档,且这份文档的DTD语法正确。则这份XML文档称为是有效的。4.应用题<?xmlversion="1.0"encoding="gb2312"standalone="yes"?><!DOCTYPE超市日常销售[<!ELEMENT超市日常销售(超市名称,经理姓名,专柜,商品销售记录)><!ELEMENT超市名称(#PCDATA)><!ELEMENT经理姓名(#PCDATA)><!ELEMENT专柜(专柜名称,负责人,营业员)><!ELEMENT专柜名称(#PCDATA)><!ELEMENT负责人(#PCDATA)><!ELEMENT营业员(#PCDATA)><!ELEMENT商品销售记录(记录*)><!ELEMENT记录(商品条码,商品名称,商品分类,销售数量,销售日期时间,折扣,销售额,经办人)><!ELEMENT商品条码(#PCDATA)><!ELEMENT商品名称(#PCDATA)><!ELEMENT商品分类(#PCDATA)><!ELEMENT销售数量(#PCDATA)><!ELEMENT销售日期时间(#PCDATA)><!ELEMENT折扣(#PCDATA)><!ELEMENT销售额(#PCDATA)><!ELEMENT经办人(#PCDATA)><超市日常销售><超市名称>中百超市</超市名称><经理姓名>张军</经理姓名><专柜><专柜名称>奶制品</专柜名称><负责人>王红</负责人><营业员>张小梅</营业员></专柜><商品销售记录><记录><商品条码>20097889</商品条码><商品名称>蒙牛酸酸乳</商品名称><商品分类>乳酸菌饮品</商品分类><销售数量>500</销售数量><销售日期时间>20090615</销售日期时间><折扣>0.9</折扣><销售额>5000</销售额><经办人>李华</经办人></记录><记录><商品条码>20091234</商品条码><商品名称>光明畅优</商品名称><商品分类>酸奶</商品分类><销售数量>600</销售数量><销售日期时间>20090615</销售日期时间><折扣>0.95</折扣><销售额>6000</销售额><经办人>刘军</经办人></记录><记录><商品条码>20092658</商品条码><商品名称>伊利早餐奶</商品名称><商品分类>盒装奶</商品分类><销售数量>400</销售数量><销售日期时间>20090615</销售日期时间><折扣>0.8</折扣><销售额>4000</销售额><经办人>王强</经办人></记录></商品销售记录></超市日常销售>第三章在XML文档中使用DTD判断题丿2.X3.X4.丿5.丿选择题1.(BCD)2.(ABC)3.(C)4.(D)5.(B)简述题答:将DTD的指令独立存储成一个文件,然后在XML文档中指定使用的DTD文件,这就是外部DTDo引用外部DTD文件时,要在XML文档的序言区声明所要使用的DTD文件。外部DTD文件在XML文档中引用的语法格式为:<!DOCTYPEroot_nodeSYSTEM“filename.dtd”>答:空元素是指在标记间没有任何数据,这时该元素需要使用EMPTY关键字,通常空元素标记是用来指定相关属性。如下所示:<!ELEMENTimage(EMPTY)>以上DTD中定义的image元素就是一个空元素,其在XML文档中如下所示:<image/>控制子元素出现次数的符号表:语法芦明使用的符号表示的含义十子元素最少岀现一次子元素出现零或多次?子元素岀现零或一次子元素列表之一(-)将元素列表括起来(1) 子元素只出现一次子元素只出现一次<!ELEMENT股东(姓名,持股数量)>(2) 子元素最少出现一次<!ELEMENT持股信息(股东+)>(3) 子元素出现零次或多次<!ELEMENT持股信息(股东*)>(4) 子元素出现零次或一次<!ELEMENTAAA(BBB?)>(5) 子元素列表选择<!ELEMENT持股数量(武商股份I神龙电业)*>答:DTD中用下列格式声明元素属性:<!ATTLISTelement_nameattribute_nameattribute_typedefault_value>其中,element_name是属性所属的XML元素名称;attribute_name是属性名称;attribute_type是属性值得种类;default_value是属性的默认值,用于指出属性是否需要出现或只是选项。属性的默认值有三种:#REQUIRED:表示该属性是必需的,不能没有。#IMPLIED:表示该属性是可有也可以没有的情况。#FIXED:表示在XML文档中只会给出一个元素属性所定义的固定值。4.应用题✓第三章习题.dtd<?xmlversion="1.0"encoding="gb2312"?><!ELEMENT超市日常销售(超市名称,经理姓名,专柜,商品销售记录)〉<!ELEMENT超市名称(#PCDATA)><!ELEMENT经理姓名(#PCDATA)><!ELEMENT专柜(专柜名称,负责人,营业员)〉<!ELEMENT专柜名称(#PCDATA)><!ELEMENT负责人(#PCDATA)><!ELEMENT营业员(#PCDATA)><!ELEMENT商品销售记录(记录*)><!ELEMENT记录(商品条码,商品名称,商品分类,销售数量,销售日期时间,折扣,销售额,经办人)〉<!ELEMENT商品条码(#PCDATA)><!ELEMENT商品名称(#PCDATA)><!ELEMENT商品分类(#PCDATA)><!ELEMENT销售数量(#PCDATA)><!ELEMENT销售日期时间(#PCDATA)><!ELEMENT折扣(#PCDATA)><!ELEMENT销售额(#PCDATA)><!ELEMENT经办人(#PCDATA)>第三章习题.xml<?xmlversion="1.0"encoding="gb2312"standalone="yes"?><!DOCTYPE超市日常销售SYSTEM"第三章习题.dtd"><超市日常销售><超市名称>中百超市</超市名称><经理姓名>张军</经理姓名><专柜><专柜名称>奶制品</专柜名称><负责人>王红</负责人><营业员>张小梅</营业员></专柜><商品销售记录><记录><商品条码>20097889</商品条码><商品名称>蒙牛酸酸乳</商品名称><商品分类>乳酸菌饮品</商品分类><销售数量>500</销售数量><销售日期时间>20090615</销售日期时间><折扣>0.9</折扣><销售额>5000</销售额><经办人>李华</经办人></记录><记录><商品条码>20091234</商品条码><商品名称>光明畅优</商品名称><商品分类>酸奶</商品分类><销售数量>600</销售数量><销售日期时间>20090615</销售日期时间><折扣>0.95</折扣><销售额>6000</销售额><经办人>刘军</经办人></记录><记录><商品条码>20092658</商品条码><商品名称>伊利早餐奶</商品名称><商品分类>盒装奶</商品分类><销售数量>400</销售数量><销售日期时间>20090615</销售日期时间><折扣>0.8</折扣><销售额>4000</销售额><经办人>王强</经办人></记录></商品销售记录></超市日常销售>第四章在XML文档中使用Schema判断题丿2.丿3.X4.丿5.X选择题1.(ABC)2.(BC)3.(D)4.(ABD)5.(BD)6.(ABD)简述题答:通常是将XMLSchema保存为独立的Schema文档文件,其扩展名为.xsd,然后在XML的Instance文档中指定所使用的Schema文档。以下是在XML中使用XMLSchema的语法:<root_elementxmlns:xsi=”/2001/XMLSchema-instance”xsi:noNamespaceSchemaLocation=”char04-01.xsd”>在这项标记中元素属性为xsi:noNamespaceSchemaLocation,它指出不使用命名空间的方式以指定Schema文档文件路径,使用的扩展名为.xsd。与该属性对应的xsi:SchemaLocation属性,是指使用命名空间的方式来指明Schema文档文件的路径,故其属性值分为两部分,两部分间以空格分隔,前一部分是命名空间,后一部分是文件路径的URL。其格式如下:xsi:SchemaLocation=”/sample01.xsd”答:XMLSchema就是一份格式良好的XML文档。因此,其基本结构也是一个树状的结构。整个树状结构的根元素名称是Schema元素,用于表明该XML文档是一个XMLSchema文档,紧接着是在Schema元素下声明的其他子元素,同样,<Schema>结束标记应出现在文档末尾。XMLSchema文档结构如下所示:<Schemaname=”schema-name”xmlns=”namespace”></Schema>其中,name指定该Schema的名称。xmlns指定该Schema包含的命名空间。省略句则表示关于XMLSchema的子元素声明的语句,这些Schema元素的子元素,其可使用的元素类型分为简单类型和复杂类型。答:复杂类型元素主要指拥有子元素或属性的元素,这类元素需要使用complexType元素以声明其子元素的名称和数据类型。复杂类型元素并非特殊的类型,主要还是由用户自行定义、组合以创造出合适的元素。复杂类型元素声明的语法如下:<elementname=“element_name“type=“datatype“/><complexTypename=“datatype“><sequence><elementname=”sub_element_name”></sequence></complexType>其中,element_name指复杂类型元素的名称。datatype指自定义数据类型的名称。sub_element_name指子元素的名称及其数据类型等内容。Sequence是complexType元素的子元素,用于声明XML子元素的按顺序。4.答:DTD历史悠久,XML从SGML集成了文档类型定义(DTD)。DTD提供了对XML文档有效性验证的一种机制。XMLSchema提供XML文档结构和内容约束机制,以验证格式良好的XML文档的有效性。因此,从功能上来说,XMLSchema和DTD大致是相同的,都是作为验证XML文档之用。但在机制实现及应用上有着很大的不同点。(1) XMLSchema与DTD结构不同XMLSchema本身就是格式良好的XML文档,其语法就是XML语法,因此在使用上之需要与XML文档使用相同的开发工具即可,而DTD本身不是标记语言,有自己的一套语法。因此给掌握和使用它带来额外的负担。(2) XMLSchema支持命名空间机制DTD文件并不支持命名空间,XML文档同时只能引用一份DTD,如果想要同时引用多个领域的XML规则时会遇到困难。XMLSchema来自于XML,完全支持命名空间规范,也可以针对元素来设置所要引用的命名空间。因此可以使XML文档有更大的扩展性。(3)XMLSchema内容模型开放并具有高度扩展性由DTD定义的XML文档模型会详尽地描述模型中的每一个元素的内容,因此,若使用DTD文件来验证XML文档,只要DTD中没有被声明的元素或属性,就会导致验证失败,这种策略虽然严谨,但要在XML文档中添加一个元素或属性,就必须修改DTDoXMLSchema在这方面进行了较大的改进,XMLSchema在其模式组织机制上提供了高度的扩充性,它允许模式用一种合理的方式组合多个命名空间,以进行有效性验证,这之需要设置XMLSchema中的模式(model)属性为open即可。这样的话,即使加上了未被定义的新元素,只要格式良好,也可以顺利地使用。这时XMLSchema最突出的特点。(4)XMLSchema数据类型丰富DTD定义中,元素仅有#PCDATA类型,即所谓的字符串类 型,而属性类型也仅有区区10种类型而已。XMLSchema却允许编程人员定义许多数据类型,除了预先定义好的简单类型之外,还可以方便地建立其他复杂和素具类型,而复杂数据类型则是由简单类型组合出的集合,因此可以面向对象的结构、类别相适应,以满足网络应用中对各类数据处理的需要。4.应用题第四章习题.xsd<?xmlversion="1.0"encoding="gb2312"?><xs:schemaxmlns:xs="/2001/XMLSchema"elementFormDefault="qualified"><xs:elementname="超市日常销售"〉<xs:complexType><xs:sequence><xs:elementname="超市名称"type="xs:string"/><xs:elementname="经理姓名"type="xs:string"/><xs:elementname="专柜"type="专柜类型"/><xs:elementname="商品销售记录"type="记录类型"/></xs:sequence></xs:complexType></xs:element><xs:complexTypename="专柜类型"〉<xs:sequence><xs:elementname="专柜名称"type="xs:string"/><xs:elementname="负责人"type="xs:string"/><xs:elementname="营业员"type="xs:string"/></xs:sequence></xs:complexType><xs:complexTypename="记录类型"〉<xs:sequence><xs:elementname="商品条码"type="xs:string"/><xs:elementname="商品名称"type="xs:string"/><xs:elementname="商品分类"type="xs:string"/><xs:elementname="销售数量"type="xs:string"/><xs:elementname="销售日期时间"type="xs:string"/><xs:elementname="折扌扣"type="xs:string"/><xs:elementname="销售额"type="xs:string"/><xs:elementname="经办人"type="xs:string"/></xs:sequence></xs:complexType></xs:schema>第四章习题.xml<?xmlversion="1.0"encoding="gb2312"standalone="yes"?><超市日常销售xmlns:xsi="/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="第四章习题.xsd"><超市名称>中百超市</超市名称><经理姓名>张军</经理姓名><专柜><专柜名称>奶制品</专柜名称><负责人>王红</负责人><营业员>张小梅</营业员></专柜><商品销售记录><记录><商品条码>20097889</商品条码><商品名称>蒙牛酸酸乳</商品名称><商品分类>乳酸菌饮品</商品分类><销售数量>500</销售数量><销售日期时间>20090615</销售日期时间><折扣>0.9</折扣><销售额>5000</销售额><经办人>李华</经办人></记录><记录><商品条码>20091234</商品条码><商品名称>光明畅优</商品名称><商品分类>酸奶</商品分类><销售数量>600</销售数量><销售日期时间>20090615</销售日期时间><折扣>0.95</折扣><销售额>6000</销售额><经办人>刘军</经办人></记录><记录><商品条码>20092658</商品条码><商品名称>伊利早餐奶</商品名称><商品分类>盒装奶</商品分类><销售数量>400</销售数量><销售日期时间>20090615</销售日期时间><折扣>0.8</折扣><销售额>4000</销售额><经办人>王强</经办人></记录></商品销售记录></超市日常销售>第五章样式表技术判断题X2.丿3.X4.丿选择题1.(B)2.(B)3.(B)4.(CD)5.(CD)简述题答:使用级联式样式表(CSS),就是在浏览器定义各种标记的样式,以在浏览器中显示XML文档的内容。CSS基本内容就是一系列指令。指令由两部分组成。一部分称为“选择器”,它告诉浏览器页面上哪个元素要受特定规则的约束;另一部分则由指令或规则的一系列“属性”组成,这些属性告诉浏览器如何显示由该规则约束的元素。CSS的基本语法:Selector{property1:value;property2:value;}答:(1)引用式:XML文档本身不含有样式信息,而通过引用外部独立的CSS文件来定义文档的表现形式。具体实现的方法是,将CSS定义的样式独立存储为一个文件,在XML文档的开头部分来指定所引用的CSS文件。这需要在XML文档序言后加写一条关于样式表的声明语句,其语法格式如下:<?xml-stylesheettype=”text/css”href=”css_uri”?>(2)内嵌式:指将CSS样式指令直接嵌入到XML文档内部,为元素设置style属性,并在属性值中给出对其样式的定义。内部CSS语法格式如下:<HTML:STYLExmlns:HTML=”/1999/xhtml”>CSS样式指令</HTML:STYLE>答:XML中声明XSL样式表,声明的语法格式如下:<?xml-stylesheettype=”text/xsl”hef=”xsl_uri”?>答:XSL样式表的基本结构是一个树状结构,该结构的根元素名称为stylesheet,在这个元素中要指定所引用的命名空间。紧跟其后的是其它各类子元素,其中,output元素指明转换后的文件格式及编码方式;template元素为显示提供转换模板。基本结构如下:<stylesheetelement><outputelement/><templateelement></templateelement><templateelement></templateelement></stylesheetelement>4.应用题1.采用CSS样式显示:第五章习题.xsd<?xmlversion="1.0"encoding="gb2312"?><xs:schemaxmlns:xs="/2001/XMLSchema"elementFormDefault="qualified"><xs:elementname="goodsSales"><xs:complexType><xs:sequence><xs:elementname="goods"type="goodsType"maxOccurs="unbounded"/></xs:sequence></xs:complexType></xs:element><xs:complexTypename="goodsType"><xs:sequence><xs:elementname="barCode"type="xs:string"/><xs:elementname="name"type="xs:string"/><xs:elementname="price"type="xs:decimal"/><xs:elementname="number"type="xs:integer"/></xs:sequence><xs:attributename="classify"use="required"><xs:simpleType><xs:restrictionbase="xs:string"><xs:enumerationvalue="饮品"/><xs:enumerationvalue="日用品"/></xs:restriction></xs:simpleType></xs:attribute></xs:complexType></xs:schema>第五章习题-css.cssgoods{display:block;}barCode,name,price,number{display:inline;}✓第五章习题-css.xml<?xmlversion="1.0"encoding="gb2312"?><?xml-stylesheettype="text/css"href="第五章习题-css.css"?><goodsSalesxmlns:xsi="/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="第五章习题.xsd"><goodsclassify—'饮品"〉<barCode>917878002972</barCode><name>雀巢咖啡</name><price>32</price><number>10</number></goods><goodsclassify="日用品"〉<barCode>916755578595</barCode><name>潘婷洗发水</name〉<price>35</price><number>20</number></goods></goodsSales>显示结果:2.采用XSL样式显示:✓第五章习题.xsd<?xmlversion='1.0'encoding='gb2312'?><xs:schemaxmlns:xs='/2001/XMLSchema'elementFormDefault='qualified'><xs:elementname='goodsSales'><xs:complexType><xs:sequence><xs:elementname="goods"type="goodsType"maxOccurs="unbounded"/></xs:sequence></xs:complexType></xs:element><xs:complexTypename="goodsType"><xs:sequence><xs:elementname="barCode"type="xs:string"/><xs:elementname="name"type="xs:string"/><xs:elementname="price"type="xs:decimal"/><xs:elementname="number"type="xs:integer"/></xs:sequence><xs:attributename="classify"use="required"><xs:simpleType><xs:restrictionbase="xs:string"><xs:enumerationvalue="饮品"/><xs:enumerationvalue="日用品"/></xs:restriction></xs:simpleType></xs:attribute></xs:complexType></xs:schema>第五章习题-xsl.xsl<?xmlversion="1.0"encoding="UTF-8"?><xsl:stylesheetversion="2.0"xmlns:xsl="/1999/XSL/Transform"><xsl:templatematch="/"><HTML><HEADxTITLE>商品销售情况一览表</TITLE></HEAD><BODY><CENTER><H4>商品销售情况一览表</H4><TABLEBORDER='1'CELLSPACING="0"><TR><TH>商品条码</TH><TH>商品名称</TH><TH>商品单价</TH><TH>销售数量</TH></TR><xsl:for-eachselect="goodsSales/goods"><TR><TD><xsl:value-ofselect="barCode"/></TD><TD><xsl:value-ofselect="name"/></TD><TD><xsl:value-ofselect="price"/></TD><TD><xsl:value-ofselect="number"/></TD></TR></xsl:for-each></TABLE></CENTER></BODY></HTML></xsl:template></xsl:stylesheet>✓第五章习题-xsl.xml<?xmlversion="1.0"encoding="gb2312"?><?xml-stylesheettype="text/xsl"href="第五章习题-xsl.xsl"?><goodsSalesxmlns:xsi="/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="第五章习题.xsd"><goodsclassify="饮品"〉<barCode>917878002972</barCode><name>雀巢咖啡</name><price>32</price><number>10</number></goods><goodsclassify="日用品"〉<barCode>916755578595</barCode><name>潘婷洗发水</name〉<price>35</price><number>20</number></goods></goodsSales>✓显示结果:商品销售情况一览表商品条码商品名称商品单价销售数量917878002972雀巢咖啡3210|916755578595潘婷诜发水3520第六章XML链接技术1.判断题丿2.X3.X4.X选择题1.(AC)2.(ABC)3.(BD)4.(ACD)5.(AD)

简述题答:简单链接实际上是指链接的功能相当于HTML中的<A>标记所具有的超链接功能。但与HTML不同的是在XML中没有规定必须使用<A>之类的元素进行链接,它允许用户根据需要在同一文档中加入不同的具有自己独有属性的链接元素。答:根据W3C定义,扩展链接是一个联合任意个数目的资源的链接,资源可以是远程和本地的任何组合。答:按照W3C的定义,遍历一对资源的信息,包括遍历的方向及应用程序可能的行为的信息被称为弧。所谓遍历是指从出发资源开始,到终止资源结束来使用或跟随一个链接连接。弧元素指定扩展链接的多方资源之间的遍历信息。弧元素用来表示XML链接中资源之间的连接关系,它必须作为XML链接元素的直接子元素,否则该链接元素将失去链接意义。答:按照W3C的定义:资源是任何可设定位址的信息或服务的单位。资源的观念是对全球信息网通用。资源实际上指文件、图像、文档、程序或查询结果。设定资源位址的方法是URI引用。应用题第七章XSLT转换判断题丿2.X3.X4.丿5.X选择题1.(B)2.(C)3.(B)4.(D)5.(AD)简述题实例化答:XSLT是将模式与模板相结合实现的。模式与源树种的元素相匹配。模板被实例化产生部分结果树。结果树与源树是分离的,因此结果树的结构可以和源树截然不同。在结果树的构造中,源树可以被过滤和重新排序,还可以增加任意的结构。模式实际上可以理解为满足所规定选择条件的节点集合,符合条件的节点就匹配该模式,而不符合条件的节点则不会匹配。XSLT包含了一套模板的规则集合。一个模板规则有两个部分:匹配源树中节点模式以及实例化后组成部分结果树的模板。一个模板包含一些元素,它们规定了字面结果的元素结构。一个模板还可以包含作为产生结果树片段的指令元素。当一个模板实例化后,执行每一个指令并置换为其产生的结果树片段。指令能够选择并处理子元素,通过查找可应用的模板规则然后实例化其模板,对子元素处理后产生了结果树片段。XSLT转换的详细机理如下图所示:答:Xpath是一种节点位置语言,其用来描述XML元素的位置。XSLT属于一种模版驱动的转换,当把一种树状结构的XML文档转换为另一种树状结构时,需要在XML文XMLXMLXMLNonXMLFOFOXSLT处理器源树样式单树(模板)结果树指令执行源文档样式表转换结果档中正确地描述XML元素的位置,以找到指定节点的定位,这就是Xpath的作用。XSLT文件中的xsl:template元素定义模板规则。在XSLT中,每个模版规则就是一个xsl:template元素。这些规则将特定的输出与特定的输入相关联。每个xsl:template元素都有一个match特性,用来指定要将此模板应用于输入文档的哪个节点。xsl:template元素的内容是要运用的实际模板。模板可以包含要逐字显示在输出文档中的文本,同样,也可以包含从输入XML文档将数据复制到结果的XSL指令。答:在XSLT中,使用xsl:element元素可以在结果树中生成新的元素。该XSLT样式表元素的name属性值就是其在结果树中新生成元素的名称。例如:<xsl:elementname=”b-name”>C/C++程序设计</xsl:element>以上XSLT样式表元素会在结果树中生成一个名为b-name的XML元素,如下所示:<b-name>C/C++程序设计</b-name>4.应用题第七章习题.xsd<?xmlversion="1.0"encoding="UTF-8"?><xs:schemaxmlns:xs="/2001/XMLSchema"elementFormDefault="qualified"><xs:elementname="bookcase"><xs:complexType><xs:sequence><xs:elementname="book"type="bookType"maxOccurs="unbounded"/></xs:sequence></xs:complexType></xs:element><xs:complexTypename="bookType"><xs:sequence><xs:elementname="b-name"type="xs:string"/><xs:elementname="author"type="authorlistType"/><xs:elementname="price"type="xs:decimal"/><xs:elementname="publishing-house"type="publishing-houseType"/></xs:sequence><xs:attributename="ID"use="required"><xs:simpleType><xs:restrictionbase="xs:string"></xs:restriction></xs:simpleType></xs:attribute></xs:complexType><xs:complexTypename="authorlistType"><xs:sequence><xs:elementname="name"type="xs:string"maxOccurs="unbounded"/><xs:elementname="E-mail"type="xs:string"/></xs:sequence></xs:complexType><xs:complexTypename="publishing-houseType"><xs:sequence><xs:elementname="p-name"type="xs:string"/><xs:elementname="address"type="xs:string"/></xs:sequence></xs:complexType></xs:schema>第七章习题.xsl<?xmlversion="1.0"encoding="GB2312"?><xsl:stylesheetversion="2.0"xmlns:xsl="/1999/XSL/Transform"xmlns="/1999/xhtml"><xsl:outputmethod="html"indent="yes"encoding="GB2312"/><xsl:templatematch="/"><html><head><title>图书信息显示</title〉</head><body><center><h2>图书信息</h2><tableborder="2"cellspacing="0"><tr><th>书名</th><th>书号</th><th>作者</th><th>出版社</th></tr><xsl:apply-templatesselect="//book"/></table></center></body></html></xsl:template><xsl:templatematch="book"><tr><td><xsl:value-ofselect="./b-name"/></td><td><xsl:value-ofselect="@ID"/></td><td><xsl:value-ofselect="author/name[last()]"/></td><td><xsl:value-ofselect="publishing-house/p-name"/></td></tr></xsl:template></xsl:stylesheet>第七章习题.xml<?xmlversion="1.0"encoding="GB2312"standalone="no"?><?xml-stylesheettype="text/xsl"href="第七章习题.xsl"?><bookcasexmlns:xsi="/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="第七章习题.xsd"><bookID="7-03-012299-2"><b-name>XML实用培训教程</b-name><author><name>张健飞</name〉<E-mail></E-mail></author><price>27</price><publishing-house><p-name>科学出版社</p-name><address>北京东黄城根北街16号</address〉</publishing-house></book><bookID="7-115-10318-6"><b-name>数据库基础与应用</b-name><author><name>王珊</name〉<name>李承恩</name><E-mail>.cn</E-mail></author><price>22</price><publishing-house><p-name>人民邮电出版社</p-name><address>北京市崇文区夕照寺街14号</address〉</publishing-house></book></bookcase>✓显示结果:图书信息厂书名r书号作者岀版社—|XfflL实坤培训教程7-03-012299-2张健飞科学出版社数据库基础与应用7-115-10318-6李孚恩人民邮电岀版社

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论