ITPub博客

首页 > 应用开发 > Java > XSLT主要元素

XSLT主要元素

Java 作者:ghpaas 时间:2014-07-09 12:54:42 0 删除 编辑

1、XSL 样式表由一个或多套被称为模板(template)的规则组成。

每个模板含有当某个指定的节点被匹配时所应用的规则。

2、 元素

元素用于构建模板。

match 属性用于关联 XML 元素和模板。match 属性也可用来为整个文档定义模板。match 属性的值是 XPath 表达式(举例,match="/" 定义整个文档)。

如果存在为相同元素定义的多个处理方法,那么用 mode 可以区分它们。

注意:根据实际测试发现,如果某个节点元素没有定义其template,或者定义其template为空,则其下的子孙节点将不会被处理(即使为其子孙节点定义了template)。

3、 元素用于提取某个选定节点的值。

元素用于提取某个选定节点的值,并把值添加到转换的输出流中:

4、 元素允许您在 XSLT 中进行循环。

元素可用于选取指定的节点集中的每个 XML 元素。

5、 元素用于对结果进行排序。

如需对结果进行排序,只要简单地在 XSL 文件中的 元素内部添加一个 元素:

6、 元素

元素用于放置针对 XML 文件内容的条件测试。

语法:

...

...如果条件成立则输出...

...

如需添加有条件的测试,请在 XSL 文件中的 元素内部添加 元素:

7、 元素

XSLT 元素用于组合 和 来表达多重条件测试。

语法:



... 输出 ...


... 输出 ....

8、 元素

元素可把一个模板应用于当前的元素或者当前元素的所有子节点,向 元素添加一个 select 属性,此元素就会仅仅处理与属性值匹配的子元素,否则将对所有的子元素及当前元素进行处理。

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

My CD Collection

Title:


Artist:


注意:如果当前节点的直接子节点没有匹配的模板,则默认会输出该元素的文本。

如果当前节点的直接子节点没有匹配的模板,则处理器会选择其孙子节点的模板进行处理。

9、XSLT 元素

用于向输出元素(非xsl:element创建的元素)添加属性。

注释: 元素会替换名称相同的已有属性。


<!-- Content:template -->

name属性为必须的,而namespace为可选的。

Arial

14px

red

例子:

TestAttribute

10、 元素可创建命名的属性集。该属性集(attribute-set)可作为整体应用到输出文档。

name="name" use-attribute-sets="name-list">

<!-- Content:xsl:attribute* -->

name属性为必须,而use-attribute-sets为可选的,定义引用其他的属性集定义,多个使用空格分隔。

11、 元素可调用一个指定的模板。

<!-- Content:xsl:with-param* -->

在希望调用的时候直接调用即可,无需节点或者属性的匹配,也就是说,它会忽略所调用的模板(模板名称为templatename)的匹配模式(match)。

与apply-template元素不一样,那个是对当前元素的所有子元素进行调用指定的模板(根据匹配条件)。

或者说:apply-template是从元素匹配的角度进行模板的调用,而call-template则是根据模板名称进行模板调用。

Comment:它不同于apply-template是对当前的每个符合select的元素都循环调用对应的模板,而call-template更像是函数调用,因为它可以传递参数,对于需要所调用模板处理的元素可以使用进行传递。

12、 元素定义了传递给模板的参数的值。

注释: 元素的 name 属性的值必须与 元素中的 name 相匹配,否则将忽略 元素,。

<!-- Content:template -->

13、 元素用于声明局部或全局参数。

name="name"

select="expression">

<!-- Content:template -->

其中,name是必须的,而select为xpath,是参数的默认值。


xmlns:xsl="http://www.w3.org/1999/XSL/Transform">












Title:




无论是都使用 $变量名 引用参数值。

注意: 元素上指定的值是绑定的默认值。如果调用的模板或样式表包含 ,传递的参数将替代默认值。

元素必须声明为 元素的直接子级。如果未声明为直接子级, 元素的值将无法访问,并将出错。

14、 元素

元素用于在输出文档中创建元素节点。

name="name"
namespace="URI"
use-attribute-sets="namelist">
<!-- Content:template -->

name为必须,namespace、use-attribute-sets为可选,同时name及namespace可为表单式,由处理器在运行时运算得到结果。

注意:由XSL:element所创建的元素,为其添加属性必须使用use-attribute-sets来指定,而不能直接使用xsl:attribute来为其添加属性。

15、 元素

定义和用法

元素可向输出写一条消息。该元素主要用于报告错误。

该元素能够包含几乎任何其他的 XSL 元素( 、 等等)。

terminate 属性允许您选择在错误发生时,是否应终止转换。

<!-- Content:template -->

输出的消息:不会放在输出文档中,而是会在控制台中红色显示所输出的消息。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29706262/viewspace-1214167/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: XSLT使用中的疑问
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2014-06-13

  • 博文量
    6
  • 访问量
    7413