【问题标题】:How to call a java object function from xslt如何从 xslt 调用 java 对象函数
【发布时间】:2019-09-23 08:16:58
【问题描述】:

我正在使用 xalan 进行 xml/xslt 转换。我可以使用

将Java对象传递给xslt

transformer.setParameter("parameterName",parameterValue);

我也可以从 xslt 获取此值,但我想从 parameterValue 具有的 xslt 调用 I 函数。假设我初始化了 parameterValue

ParameterValue parameterValue = new ParameterValue("value");

ParameterValue 有一个叫做getValue 的函数。如何从 xslt 调用此函数。

我试过了;

<xsl:value-of select="$parameterName:getValue()">

<xsl:value-of select="$parameterName.getValue()">

但没有一个有效。我该怎么做?

【问题讨论】:

    标签: xml xslt xalan


    【解决方案1】:

    https://xalan.apache.org/xalan-j/extensions_xsltc.html#java_ext 的文档建议使用:

    <xsl:stylesheet xmlns:pm="http://xml.apache.org/xalan/java/ParameterValue" ...>
      <xsl:value-of select="mp:getValue($parameterName)"/>
    

    确保如果ParameterValue 存在于一个包中(例如example.com.ParameterValue),那么您将它与例如

    <xsl:stylesheet xmlns:pm="http://xml.apache.org/xalan/java/example.com.ParameterValue" ...>
      <xsl:value-of select="mp:getValue($parameterName)"/>
    

    【讨论】:

    • 非常感谢。解决了:)但是你能改变错误的名称空间使用来帮助其他人select="mp:getValue($parameterName)"应该替换为select="pm:getValue($parameterName)":)
    猜你喜欢
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    • 1970-01-01
    • 2016-12-27
    相关资源
    最近更新 更多