Java 中带参数的 XSL 转换 [英] XSL Transformation in Java with parameters

查看:25
本文介绍了Java 中带参数的 XSL 转换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 xsl 文件,我需要在其中使用来自外部源的参数.我正在使用 Java,我的代码如下所示:

I have a xsl file where i need to use parameters from an external source. I am using Java and my code looks something like this:

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer xsltTransformer = transformerFactory.newTransformer(xsltSource);
xsltTransformer.setParameter(parameterName, parameterValue);

但是,在第 2 行抛出异常 - 未定义变量或参数variable_name".我意识到 XSL 已编译,并且可能在创建转换器时编译.

However, an exception is thrown at the 2nd line - Variable or parameter 'variable_name' is undefined. I realize that XSL is compiled and is probably compiled when the transformer is created.

那么,我如何将参数传递给我的转换?setParameter 方法应该如何使用?

So, how do i pass parameters to my transformation? How is the setParameter method supposed to be used?

推荐答案

如果你传递一个参数,如:

If you pass a parameter like:

transformer.setParameter("render_id", "1234");

该参数可以被转换提取:

the parameter can be picked up by the transform:

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >

<xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="yes"/>

<!-- Receives the id of the menu being rendered. -->
<xsl:param name="render_id" />

这篇关于Java 中带参数的 XSL 转换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆