XSL初学者问题

时间:2010-08-24 19:58:03

标签: xslt

一般来说,我想了解这意味着什么:

<xsl:template match="foo:barLists[@mode = 'Dummy Filter']" 
              mode="dummy-filter-cache" priority="2">

我正在寻找一些有关这方面的见解,以便我可以了解一下XSL

3 个答案:

答案 0 :(得分:0)

 <xsl:template 

此元素定义模板。我们稍后会使用apply-template元素

为其提供数据
 match="foo:barLists[@mode = 'Dummy Filter']" 

此模板使用名称空间barLists中的元素foo,其属性为mode,设置为“虚拟过滤器”。即<foo:barList mode="Dummy Filter"> .... </foo:barList>

 mode="dummy-filter-cache" 

这个tempalte有一个“虚拟过滤器 - 缓存”模式。我不知道这意味着什么。 w3schools.com只说模式:“可选。指定此模板的模式”

priority="2">

此tempate的优先级为2.如果还有另一个模板也匹配该优先级为1的元素,则该模板将获胜。

答案 1 :(得分:0)

通常,您将特定节点与XML文件中的特定属性进行匹配。

我建议您在XSL上查看tutorial

答案 2 :(得分:0)

mode

xsl:template属性允许您创建具有相同match属性的多个模板。使用mode,您可以选择在不同情况下应用这些模板中的哪一个。如果您需要在某些时间使用不同的格式多次应用相同的内容,这可能很有用。

只有在xsl:apply-templates元素select属性与match元素上的xsl:template属性匹配的<xsl:template match="foo">元素上设置相同模式时,才会实例化具有模式的模板

假设你有模板

  1. <xsl:template match="foo" mode="bar">
  2. <xsl:apply-templates select="foo" mode="bar"/>
  3. 然后<xsl:apply-templates select="foo"/>将与模板#2匹配 <xsl:apply-templates/>和{{1}}将匹配模板#1。