【问题标题】:XSLT / Xalan : calling apply-templates from within a Java extensionXSLT / Xalan:从 Java 扩展中调用应用模板
【发布时间】:2010-12-26 10:44:33
【问题描述】:

我正在使用 Xalan 和 Java 来扩展样式表。

(与我在那里所做的类似示例:Dictionary example

我很难让我的标签做一个<xsl:apply-templates/>。我希望有这个:

<xsl:template match="sometag">
    <my-java:tag>
        <xsl:apply-tempates/>
    </my-java:tag>
</xsl:template>

我的 java 类包含方法 tag(XSLProcessorContext context, ElemExtensionCall elem) 构建了一个元素 myElem,如下所示:

context.outputToResultTree(context.getStylesheet(), myElem);

但我希望将样式表中定义的模板应用于myElem 的子元素。

如何在我的 Java 类中触发 &lt;xsl:apply-templates/&gt;?有可能吗?

【问题讨论】:

    标签: java xslt xalan apply-templates


    【解决方案1】:

    我在 Xalan 做

    TransformerImpl transf = context.getTransformer();
    for ( int i = fromValue; i <= toValue; i++ )  {
      setInt(variable, i);
      transf.executeChildTemplates(elem, true );
    }
    

    这个想法是执行一个 for 循环(从和到值)重复 x 次内的代码。虽然不确定 executeChildTemplates 上的“真实” - 似乎有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-21
      • 1970-01-01
      • 2013-12-18
      • 2015-03-03
      • 1970-01-01
      • 2016-12-25
      • 1970-01-01
      • 2016-08-06
      相关资源
      最近更新 更多