XSL

XSL

第一部分学了7个元素,还有24个,一个一个学吧。

  1、<xsl:import>、<xsl:include>、<xsl:apply-imports>元素
  <xsl:import>与<xsl:include>相比,两者都须是<xsl:stylesheet>的子结点,但前者定义的模板规则优先级比较低,且必须为第一个子结点。两者的功能是相同的,都是将另一个定义好的XSL文件装入到当前XSL文件中来。
  装来的模板规则,由<xsl:apply-imports>指定何时何地使用。
  它们的语法分别是:

<xsl:import href=”URI”/>

<xsl:apply-templates />

  2、<xsl:attribute>、<xsl:attribute-set>元素
  前者用以给元素增加属性,已有同名属性则被它替换。后者是<xsl:stylesheet>的子结点,用来定义一组属性,将其用于整个文档。语法如下:

<xsl:attribute name=”attributename” namespace=”uri”><!– Content:template –></xsl:attribute>

<xsl:attribute-set name=”name” use-attribute-sets=”name-list”><!– Content:xsl:attribute* –></xsl:attribute-set>

  namespace可选,use-attribute-sets可选,用以使用其它预定义的attribute-set.

  3、<xsl:param>、<xsl:call-template>、<xsl:with-param>元素
  <xsl:param>用来定义全局参数(是<xsl:styelsheet>的子点时)或局域参数(在一个模板内时),<xsl:call-template>用来调用指定的模板,<xsl:with-param>则用来调用模板或使用模板时传递参数。需要说明的是,with-param的name属性的值必须与预定义的值一致。语法如下:

<xsl:param name=”name” select=”expression”><!– Content:template –></xsl:param>

<xsl:call-template name=”templatename”><!– Content:xsl:with-param* –></xsl:call-template>

<xsl:with-param name=”name” select=”expression”><!– Content:template –></xsl:with-param>

  其中的select都是可选的,前者的select用来指定默认值,后者可以来传值(也可用标签的
内容传值)。

  4、<xsl:variable>元素
  定义全局或局部变量,其一旦赋值,不能改动。语法:

<xsl:variable name=”name” select=”expression”><!– Content:template –></xsl:variable>

  5、<xsl:copy>、<xsl:copy-of>元素
  两者都复制当前节点及其命名空间,但后者还复制子结点和当前结点属性。语法如下:

<xsl:copy-of select=”expression”/>

<xsl:copy use-attribute-sets=”name-list”><!– Content:template –></xsl:copy>

其中use-attribute-sets可选。

  6、<xsl:comment>元素
  在结果树中生成一个注释结点。语法如下:

<xsl:comment><!– Content:template –></xsl:comment>

  7、<xsl:decimal-format>元素
  定义那些在调用函数format-number()进行由数字向字符器转换的过程中用到的一些特殊字符或符号。语法如下:

<xsl:decimal-format name=”name” decimal-separator=”char” grouping-separator=”char” infinity=”string”

minus-sign=”char” NaN=”string” percent=”char” per-mille=”char” zero-digit=”char” digit=”char” pattern-separator=”char”/>

所有项是可选的。

  8、<xsl:element>元素
  在结果树上生成一个元素,语法如下:

<xsl:element name=”name” namespace=”URI” use-attribute-sets=”namelist”><!– Content:template –></xsl:element>

其中后两个属性是可选的,前俩者的值可在实时运行时算出。

  9、<xsl:fallback>元素
  当xsl的元素不能被处理器识别时,调用fallback提供的备用程序。

<xsl:fallback><!– Content: template –></xsl:fallback>

  10、<xsl:key>元素
  这是一个顶层元素,定义一个KEY供Key函数使用。

<xsl:key name=”name” match=”pattern” use=”expression”/>

  11、<xsl:message>元素
  用来输出信息,如错误信息。所有的其它元素都可出现在其内容中。

<xsl:message terminate=”yes|no”> <!– Content:template –></xsl:message>

  12、<xsl:namespace-alias>元素
  用来在输出时将某命名空间替换为另一个。

<xsl:namespace-alias stylesheet-prefix=”prefix|#default” result-prefix=”prefix|”#default”/>

  13、<xsl:number>元素
  用以标明当前结点在源树中的顺序,也可以用格式化一个数。

<xsl:number count=”expression” level=”single|multiple|any” from=”expression” value=”expression” format=”formatstring”

lang=”languagecode” letter-value=”alphabetic|traditional” grouping-separator=”character” grouping-size=”number”/>

  14、<xsl:output>元素
  用以定义output的格式,

<xsl:output method=”xml|html|text|name” version=”string” encoding=”string” omit-xml-declaration=”yes|no”

standalone=”yes|no” doctype-public=”string” doctype-system=”string” cdata-section-elements=”namelist”

indent=”yes|no” media-type=”string”/>

  15、<xsl:preserve-space>、<xsl:strip-space>元素
  两者用来指明元素内容的空格保留还去掉。由于默认是保留的,所以只有在用了去掉时才需指明保留者。

<xsl:preserve-space elements=”list-of-element-names”/>

<xsl:strip-space elements=”list-of-element-names”/>

  list-of-element-names的值中可用*通配符。

  16、<xsl:processing-instruction>元素
  用来向输出写处理指令,如指定css文件等。

<xsl:processing-instruction name=”process-name”><!– Content:template –></xsl:processing-instruction>

  17、<xsl:text>元素
  用来输出字串常量。

<xsl:text disable-output-escaping=”yes|no”> <!– Content:#PCDATA –></xsl:text>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111118.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java传真发送,用Java发送传真解决之道

    java传真发送,用Java发送传真解决之道在传真量很大的部门,用传真机发送传真有时候不仅浪费资源(很多东西都是先需要打印出来然后再去传真),而且效率低下,也不便于归档管理。大家都知道,Windowsxp提供了传真服务组件,需要使用一个modem,就可以供传真服务。只要是能够打印的东西,都能够传真,这样确实方便不少。但是,实际使用中会有一个比较严重的问题,就是fax并不像打印机一样可以共享使用,这样网络中的其他机器就不能使用该…

    2022年6月28日
    25
  • 卸载pip包并卸载其依赖包[通俗易懂]

    卸载pip包并卸载其依赖包[通俗易懂]原创工具程序,卸载指定的pip包并递归卸载其依赖包使用方法:将以下代码保存为pip_uninst_rec.py,执行pythonpip_uninst_rec.py<pkg>即可importargparseimportosfromcollectionsimportdequeimportpip._internal.commands.showasshow_cmddefmain():parser=argparse.ArgumentParser(des

    2022年10月16日
    1
  • 根据经纬度计算两点之间的距离的公式是_知道两点经纬度求距离

    根据经纬度计算两点之间的距离的公式是_知道两点经纬度求距离//距离单位米publicstaticdoublealgorithm(doublelongitude1,doublelatitude1,doublelongitude2,doublelatitude2){doubleLat1=rad(latitude1);//纬度doubleLat2=rad(latitude2);doublea=Lat1-Lat2;//…

    2022年9月16日
    0
  • COM聚合技术中的QueryInterface

    COM聚合技术中的QueryInterface最近在看COM聚合技术时遇到一个关于QueryInterface的问题。在《COM技术内幕》和《COM原理与应用》中都是寥寥数句带过,看起来很易理解,我却看了许久才有所领悟。先说明一下,为了节省篇幅,对于一些约定俗成的代码和变量,下文不再进行说明,如内部组件指向外部组件的m_pUnknownOuter和外部组件指向内部组件的m_pUnknownInner等,这些内容在相关书籍都有描述。问题

    2022年7月21日
    10
  • Linux makefile 教程 很具体,且易懂

    Linux makefile 教程 很具体,且易懂

    2021年9月1日
    51
  • java淘宝秒杀脚本(已自测)

    java淘宝秒杀脚本(已自测)点赞再看,养成习惯,全网无BUG的java淘宝秒杀脚本!!!开场白我的室友如花是个貌美如花的黄花大闺女,这不是放假,大家都在宿舍幻想未来,只有翠花在睡觉,突然,翠花原地炸起,说了一句:“我要学习用java写一个淘宝秒杀脚本!!!”大家一脸茫然的看着如花,脚本是什么?Nginx是什么?我赶紧上网查了一下。一、pandas是什么?示例:pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):impor.

    2022年5月10日
    54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号