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

查看:116
本文介绍了带参数的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);

但是,第二行会抛出异常 - 变量或参数'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?

推荐答案

如果传递的参数如下:

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天全站免登陆