码迷,mamicode.com
首页 > 其他好文 > 详细

XSLT使用中的疑问

时间:2014-07-11 20:42:30      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   使用   文件   width   

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

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

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

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

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

如下:

<xsl:template match="message" name="message">

<h1><xsl:apply-templates select="title"/></h1>

</xsl:template>

<xsl:template match="title" name ="title">

<!-- xsl content -->

</xsl:template>

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

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

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

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

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

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

bubuko.com,布布扣

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

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

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

解答: 使用<xsl:template match="XPath"/>即可,这样即使为其子孙节点定义了处理模板,也不会被调用。

XSLT使用中的疑问,布布扣,bubuko.com

XSLT使用中的疑问

标签:style   blog   http   使用   文件   width   

原文地址:http://www.cnblogs.com/ghpaas/p/3833348.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!