当前位置: 首页 > 面试题库 >

Java中带有参数的XSL转换

严欣怡
2023-03-14
问题内容

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

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

但是,第二行引发异常- 变量或参数’variable_name’未定义。 我意识到XSL已编译,并且可能在创建转换器时已编译。

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


问题答案:

如果传递如下参数:

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

可以通过转换获取参数:

<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" />


 类似资料:
  • 问题内容: 我正在阅读Wikipedia上的Singleton文章,并且遇到了以下示例: 虽然我真的很喜欢Singleton的行为方式,但是我看不到如何修改它以将参数合并到构造函数中。用Java进行此操作的首选方法是什么?我需要做这样的事情吗? 谢谢! 编辑:我想我对使用Singleton的渴望已经引发了一场争论的风暴。让我解释一下我的动机,并希望有人可以提出一个更好的主意。我正在使用网格计算框架

  • 我已经得到了一个抽象类位置的UML图。该类有一个变量字符串名称。它的方法是addEmployee(employee:employee):boolean。 Employee类与Location类相关联。Employee类必须包含变量String name和String address以及方法getName():String和getAddress():String 我不确定如何制作addEmploye

  • 问题内容: 我正在为命令行应用程序做前端。它很长。命令行与此类似: 在我将“模式”开关添加到其中之前,一切似乎都可以正常工作。“模式”开关从命令行执行。我尝试了几种组合方法,将参数拆分为既不执行也不执行的数组。我认为这与“模式”不相关,因为它前面没有,也不能有。 我究竟做错了什么? 编辑:我忘了提到我所能看到的是:调试器停止在不可编译的源代码上。我正在使用netbeans,它似乎无法打印出堆栈跟踪

  • 问题内容: 我是否可以使用一组参数启动 Java WebStart 应用程序,就像用标记配置了applet一样? 谢谢 问题答案: 是的,您可以看到以下示例: 显示向您传递参数“ -user = bob”和“ -pass = 8jkaiuasu”到应用程序。以标准方式获取参数。

  • 问题内容: 我正在为XSL进行附加国际化。我已经看到了许多创建dictionary.xml文件并通过document(’dictionary.xml’)将其加载到XSL中的示例。我想做类似的事情,但是我不想在字典上创建和存储dictionary.xml文件,而是希望在服务器启动时通过SQL构建它,并将Document对象保留在Java内存中。然后,我想将字典文档作为参数传递给转换器,以便XSL转换

  • 奖金f(a_3,(a_3+A_4)*4)可以捕捉所有的表达式,而不仅仅是(a_3,(a_3+A_4)?