版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《XML技术基础》第五章可扩展样式单语言回顾XML关于文档浏览的基本思想是将数据与数据的显示分别定义,文档的显示实际上是通过一个样式单来描述的。
<?xml-stylesheettype="..."href="..."?>W3C已经给出了两种样式单语言的推荐标准:层叠样式单CSS可扩展样式单语言XSL回顾:CSS的语法定义CSS的基本格式如下:
Selector{property:value;property:value;...}
Selector:选择符,被施加样式的元素,可以是标记(tag)、.类名(class)、#标识名(id)等Property:样式属性,可以是颜色、字体、背景等等。value:样式属性取值,决定样式结果。例如本课目标:XSLCSS及其语法;XSL概述CSS与XSL的比较XML文档结构树XSL的组成与工作原理XSL的基本结构XSL模板XSL的元素语法动态选择XML文档的显示样式小结XSL的元素语法XSL的动态功能是通过XSL预定义元素来实现的,分为以下四类:匹配模式:这些元素都有match属性定义模板<xsl:template>选择模式:这些元素都有select属性节点输出语句<xsl:value-of>循环判断语句<xsl:for-each>排序语名<xsl:sort>调用模板<xsl:apply-templates>测试模式:这些元素都有test属性条件判断语句<xsl:if>多条件判断语句<xsl:choose>其他在结果树中动态创建各类节点导入外部XSL文档返回目标更多的XSL元素语法见XPATHViewer节点输出语句<xsl:value-of>用来提取输出XML文件中被选择的元素或属性的内容语法:功能:输出指定节点的取值,用select属性进行限定<xsl:value-ofselect=“节点"/><?xmlversion="1.0"encoding="gb2312"?><xsl:stylesheetversion="1.0"xmlns:xsl="/1999/XSL/Transform"xmlns="/tr/REC-html40"><xsl:templatematch="/"><pstyle="color:blue">
<xsl:value-ofselect=“唐诗/五言绝句/作者”/>
<xsl:value-ofselect="唐诗/五言绝句/标题"/></p><p>
<xsl:value-ofselect="唐诗/五言绝句/内容"/></p></xsl:template></xsl:stylesheet><xsl:value-of>示例5.9.xsl返回到语法循环判断语句<xsl:for-each>循环访问多个节点,并按模板规则输出节点语法:<xsl:for-eachselect=“节点”> <!--输出内容--></xsl:for-each>order-by属性可将多个节点按某关键数据进行排序循环判断语句<xsl:for-each><?xmlversion="1.0"encoding="gb2312"?><xsl:stylesheetversion="1.0"xmlns:xsl="/1999/XSL/Transform"xmlns="/tr/REC-html40"><xsl:templatematch="/"><xsl:for-eachselect="唐诗/五言绝句"><pstyle="color:blue"><xsl:value-ofselect="作者"/>
<xsl:value-ofselect="标题"/></p><p><xsl:value-ofselect="内容"/></p></xsl:for-each></xsl:template></xsl:stylesheet>返回到语法5.10.xsl<xsl:sort><xsl:sort>元素用于对结果进行排序。<xsl:sort>总是位于<xsl:for-each>或<xsl:apply-templates>内部,对xsl:for-each或xsl:apply-templates元素选择的节点集进行排序。<xsl:sort>的语法格式为:<xsl:sortselect="XPathexpress"data-type="text|number|qname"order="ascending|descending"case-order="upper-first|lower-first"/><xsl:sort>(1)按字母顺序排序。
<xsl:sortorder=“ascending”select=“@id”/><xsl:sortorder=“descending”select=“name”/>(2)按大小写排序。<xsl:sortcase-order=“upper-first”select=“@id”/><xsl:sortcase-order=“lower-first”select=“name”/>(3)按数据类型排序。<xsl:sortdata-type="text"select="@id"/>
如对一组id数据101,2,44,305来说,排序结果是101,2,305,44。<xsl:sortdata-type="number"select="@id"/>
如对上面一组数据按数据类型排序,则排序结果是2,44,101,305。<?xmlversion="1.0"encoding="gb2312"?><xsl:stylesheetversion="1.0"xmlns:xsl="/1999/XSL/Transform"><xsl:templatematch="/"><tableborder="1"align="center"><caption>成绩排名表</caption><tbody><xsl:apply-templatesselect="roster"/></tbody></table></xsl:template><xsl:templatematch="roster"><xsl:for-eachselect="student">
<xsl:sortselect="score"order="descending"data-type="number"/><tr><td><xsl:value-ofselect="name"/></td><td><xsl:value-ofselect="score"/></td> </tr></xsl:for-each></xsl:template></xsl:stylesheet>5.11.xsl返回到语法单条件判断语句<xsl:if>对匹配条件进行判断,如果为真就执行条件内部的规则。语法用元素的名称作为匹配条件<xsl:iftest="元素名称">用元素内容作为匹配条件<xsl:iftest="元素名称='元素内容'">用元素的属性值作为匹配条件<xsl:iftest=“@属性名称[.='属性值']">5.12.xsl返回到语法多条件判断语句多条件的分支判断(类似VB中的select语句)语法<xsl:choose> <xsl:whentest=“匹配模式”> <!--输出内容--> </xsl:when> <xsl:whentest=“匹配模式”> <!--输出内容--> </xsl:when> …. <xsl:otherwise> <!--输出内容--> </xsl:otherwise></xsl:choose>5.13.xsl返回到语法在结果树中动态添加注释XSL是动态的样式单语言,用户不仅可以从源XML文档里提取相关的数据,而且可以直接在结果树中动态地创建各类节点:<xsl:comment>元素用于在结果树中创建注释节点;<xsl:element>元素用于在输出文档中创建元素节点;<xsl:attribute>元素用于向元素添加属性;<xsl:processing-instruction>元素可向输出写一条处理指令,动态生成处理指令节点;<xsl:text>元素用于向输出写文本,通过样式表生成文本节点。动态创建标记及设置属性动态增加元素
<xsl:elementname=“元素名”>
元素值
</xsl:element>动态增加属性:
<元素>
<xsl:attributename=“属性名“>属性值</xsl:attribute>
</元素>例:
<tr>
<xsl:attributename=“title”>
<!--属性值放在这-->
</xsl:attribute>
</tr>5.14.xsl返回到语法导入外部XSL文档XSL提供了两个元素允许用户在XSL文档中导入外部样式单。1、xsl:include元素xsl:include元素应用包含机制,直接将外部的样式单复制到xsl:include元素所在的位置。<?xmlversion="1.0"encoding="gb2312"?><xsl:stylesheetversion="1.0"xmlns:xsl="/1999/XSL/Transform"><xsl:include
href=“URI"/>……</xsl:template>
只能作为顶级元素来使用xsl:include元素例题<?xmlversion="1.0"encoding="gb2312"?><xsl:stylesheetversion="1.0"xmlns:xsl="/1999/XSL/Transform"xmlns="/tr/REC-html40"><xsl:templatematch="/"> <xsl:for-eachselect="唐诗/五言绝句"> <xsl:apply-templatesselect="标题"/> <xsl:apply-templatesselect="内容"/></xsl:for-each></xsl:template><xsl:templatematch="标题"><Pstyle="color:blue;font-size:30"><xsl:value-ofselect="."/></P></xsl:template><xsl:include
href="included.xsl"/></xsl:stylesheet>included.xsl<?xmlversion="1.0"encoding="gb2312"?><xsl:stylesheetversion="1.0"xmlns:xsl="/1999/XSL/Transform"><xsl:templatematch="内容"><Pstyle="color:red"><xsl:value-ofselect="."/></P></xsl:template></xsl:stylesheet>导入外部XSL文档2、xsl:import元素xsl:import元素用于导入外部的样式单,被导入的样式单规则总是比导入者的规则低,导入者可以使用xsl:apply-imports来应用导入的样式单。<?xmlversion="1.0"encoding="gb2312"?><xsl:stylesheetversion="1.0"xmlns:xsl="/1999/XSL/Transform"><xsl:import
href=“URI"/>……<xsl:templatematch=“节点"><xsl:apply-imports/></xsl:template></xsl:template>
只能作为顶级元素来使用xsl:import元素例题<?xmlversion="1.0"encoding="gb2312"?><xsl:stylesheetversion="1.0"xmlns:xsl="/1999/XSL/Transform"xmlns="/tr/REC-html40"><xsl:import
href="imported.xsl"/><xsl:templatematch="/"> <xsl:for-eachselect="唐诗/五言绝句"> <xsl:apply-templatesselect="标题"/> <xsl:apply-templatesselect="内容"/></xsl:for-each></xsl:template><xsl:templatematch="标题"><xsl:apply-imports/></xsl:template><xsl:include
href="included.xsl"/></xsl:stylesheet>
imported.xsl<?xmlversion="1.0"encoding="UTF-8"?><xsl:stylesheetversion="1.0"xmlns:xsl="/1999/XSL/Transform"xmlns:fo="/1999/XSL/Format"> <xsl:templatematch="标题"> <Pstyle="color:blue;font-size:30"> <xsl:value-ofselect="."/> </P> </xsl:template></xsl:stylesheet>返回到语法动态选择XML文档的显示样式table8-21.xsllist8-20.xsl8.18.xml<?xmlversion="1.0"encoding="gb2312"?><网上书屋><书籍><书名>RedHatLinux系统管理大全</书名><作者>ThomasSchenk</作者><出版社>机械工业出版社</出版社></书籍><书籍><书名>中文版WindowsNT技术支持培训教程</书名><作者>MicrosoftPress</作者><出版社>人民邮电出版社</出版社></书籍>……</网上书屋>list8-20.xsl<?xmlversion='1.0'encoding="gb2312"?><xsl:stylesheet
xmlns:xsl="/TR/WD-xsl"
xmlns="/TR/REC-html40"><xsl:templatematch="/"><html><head> <title>网上书屋</title></head><body><xsl:apply-templates/></body></html></xsl:template><xsl:templatematch="网上书屋"><h1>阿当网上书屋</h1><ol><xsl:apply-templates/> </ol></xsl:template><xsl:templatematch="书籍"><li><b><xsl:value-ofselect="书名"/></b></li><br/>作者:<xsl:value-ofselect="作者"/><br/>出版社:<xsl:value-ofselect="出版社"/></xsl:template></xsl:stylesheet>table8-21.xsl<?xmlversion='1.0'encoding="gb2312"?><xsl:stylesheet
xmlns:xsl="/TR/WD-xsl"
xmlns="/TR/REC-html40"><xsl:templatematch="/"><html><head> <title>网上书屋</title></head><body><xsl:apply-templates/></body></html></xsl:template><xsl:templatematch="网上书屋"><center><h1>阿当网上书屋</h1><tableborder="1"><th>书名</th><th>作者</th><th>出版社</th><xsl:apply-templates/> </table></center></xsl:template><xsl:templatematch="分类"><xsl:apply-templates/> </xsl:template><xsl:templatematch="书籍"><tr><td><xsl:value-ofselect="书名"/></td><td><xsl:value-ofselect="作者"/></td><td><xsl:value-ofselect="出版社"/></td></tr></xsl:template></xsl:stylesheet>DSO_XSL8-22.html<html><head><title>DSO与XSL转换</title><scriptlanguage="JavaScript">functionload1(){
var
xmlDso=sdb.XMLDocument;
var
xslDso=Styl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑行业简历中的自我评价
- 经典甜蜜个性说说签名
- 医疗保障型保险
- 二年级语文下册21课课件教学课件教学
- 《ICT维修资料》课件
- 《海鲜物流配送方案》课件
- 《涡轮增压》课件
- 《仓库管理讲座》课件
- 甘肃省天水市成纪中学等多校2024-2025学年七年级上学期期中考试数学试卷
- 山东省齐河县安头乡中学2024-2025学年八年级上学期英语期中测试题
- 实验室设备安装调试及技术支持方案
- 业务居间合同范本2024年
- 员工入股退股合同范例
- 2024年再生资源回收与利用合作协议
- 2024年xx村10月驻村工作总结
- 【浙江卷】浙江省2024学年第一学期杭州市2025届高三年级教学质量检测(杭州一模)(11.4-11.6)英语试卷
- 森林康养基地建设项目可行性研究报告
- 21 小圣施威降大圣 公开课一等奖创新教案
- 初中数学教学“教-学-评”一体化研究
- 净水设备采购务投标方案(技术方案)
- 学校(幼儿园)每周食品安全排查治理报告(整学期16篇)
评论
0/150
提交评论