ITPub博客

首页 > IT职业 > IT生活 > XSLT使用中的疑问

XSLT使用中的疑问

原创 IT生活 作者:ghpaas 时间:2014-07-09 12:54:22 0 删除 编辑

1、call-template的使用?如何传递参数、如何定义返回值?

解答:在call-template的地方使用xsl:withparam元素来定义所需要传递的参数,并在所调用的template处定义xsl:param定义形式参数。

2、如何转换输入文件的名称空间到输出文件?

使用 xsl:namespace-alias元素来完成。

3、apply-templates是如何去选择那个模板template的?是不是根据元素名称,而不是模板的名称?

如下:

<!-- xsl content -->

另外,如果没有对title的定义其处理模板,那默认的处理方式是什么?

解答:apply-templates是对当前父元素的所有子元素进行规则处理,所使用的规则就是某个子孙元素的处理模板。

如果没有定义处理模板,则默认行为为:无。

4、同一个xsl样式表文件中,XSLT处理器是如何查找那个来执行XML转换呢?

比如上面那个,对于title元素的处理,可以从message模板中进行处理(使用了apply-templates标签),但也可以使用模板title来处理?

解答:XSL处理转换引擎,是对源XML文档自上而下、由外往内的方式与各个template进行匹配,然后选择合适的处理模板进行转换源XML文档。也就是说对于源XML文件中处理过的节点,就不再被其他处理模板所处理了(除非多次调用,比如使用mode区分的)。

clip_image001

5、对于没有定义处理模板的节点是如何处理的?

解答:默认是按照顺序显示其节点的文本信息。

6、如何定义不处理一个节点及其子孙节点?

解答: 使用即可,这样即使为其子孙节点定义了处理模板,也不会被调用。

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

上一篇: XSLT主要元素
下一篇: XSLT主要元素
请登录后发表评论 登录
全部评论

注册时间:2014-06-13

  • 博文量
    6
  • 访问量
    7412