- 1、本文档共195页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
5.4.3排序xsl:sort“sort”元素用于排序“apply-templates”或“for-each”元素选出的节点集。此元素的属性如表5.11所示,结构关系如表5.12所示。5.4.4选择xsl:if和xsl:choose“if”元素指定一个条件,如条件成立,则执行“if”包含的指令。“choose”元素和“when”、“otherwise”元素配合使用,根据条件执行XSLT指令。5.4.5xsl:fallback元素“fallback”用于指定在XSL处理器缺少所需特性时的处理办法。使用此元素可提高XSL转换的兼容性,使之可同时被多种XSL处理器处理。此元素的结构关系如表5.18所示。“fallback”元素的内容作为缺失父元素特性时的输出内容。如果处理器能够处理父元素所代表的特性,则会忽略“fallback”的所有内容。5.4.6XSL函数集XSL转换过程中,除了可以调用XPath的函数(如position、number等),还可以调用XSLT函数。1.当前节点函数current()2.文档访问函数document()3.元素有效性函数element-avaible()4.格式转化函数format-number()5.函数有效性函数function-available()6.元素标识符函数generate-id()7.节点索引函数key()8.系统属性函数system-property()9.非解析实体函数unparsed-entity-uri()10.继承的XPath函数集InheritedXPathFunctions5.5匹配节点的模式xsl:template元素的match特性支持复杂的语法,允许人们精确地表达想要和不想要与哪个节点匹配。xsl:apply-templates、xsl:value-of、xsl:for-each、xsl:copy-of和xsl:sort的select特性支持功能更加强大的语法的超集,允许人们精确地表达想要和不想要选择哪个节点。下面讨论匹配和选择节点的各种模式。5.5.1匹配根节点为了使输出的文档结构整洁。从XSL变换的第一个输出内容应为输出文档的根元素。因此,XSL样式单一般以应用于根节点的规则开始。要在规则中指定根节点,可将其match特性设置为合适的值。示例如下。xsl:templatematch=/htmlxsl:apply-templates//html/xsl:template本规则应用于根节点,并且只应用于输入树形结构的根节点。当读取到此根节点时,就输出html标记,处理根节点的子节点,然后输出/html标记。5.5.2匹配元素名在正如前面介绍的那样,最基本的模式只包含一个元素名,用来匹配所有带有该名的元素。例如,下面的模板与Student元素相匹配,并将Student元素的name子元素标成粗体。xsl:templatematch=”Student”bxsl:value-ofselect=”name”/b/xsl:template5.5.3使用/字符匹配子节点在match特性中并不局限于当前节点的子节点,可使用/符号来匹配指定的元素后代。当单独使用/符号时,它表示引用根节点。但是,在两个名称之间使用此符号时,表示第二个是第一个的子代。例如,student/name引用name元素,name元素为student元素的子元素。在xsl:template元素中,这种方法能够用来只与某些给定类型的元素进行匹配。例如,下面的模板规则将student子元素的name元素标记为Strong。此规则与不是student元素的直系子元素的NAME元素无关。5.5.4使用//字符匹配子节点在有时候,尤其是使用不规则的层次时,更容易的方法就是越过中间节点、只选择给定类型的所有元素,而不管这些元素是不是直系子、孙、重孙或其他所有的元素。双斜杠(//)引用任意级别的后代元素。5.5.5通过ID匹配在某些时候需要把一特定的样式应用于特定的单一元素中,而不改变该类型的所有其他元素。在XSL中实现此目的的最简单的方法是,将样式与元素的ID作为选择符(其中包括以单引号括起来的ID值)就能够做到这一点。5.5.6使用@来匹配特性@符号根据特性名与特性相匹配,并选择节点。方法很简单,只需在要选择的特性前加上@符号。5.5.7使用comments()注释要使注释成为文档的必不可少的部分,确实不是好主意。在大多数时候,可能应该完全忽略XML文档中的注释。但是,当不得不选择注释时,XSL确实提供了选择注释的手段。为了选择注释,可使用comment()模式。尽管此模式有
文档评论(0)