Java 将换行HTML元素传递给XSL
我有一个方法methodA,它返回元素的arraylist。现在我正在尝试使用XSL准备HTML报告 以下是我正在做的: 首先,我正在为XSL文件准备一个XML。假设我正在创建一个textnode,如下所示:Java 将换行HTML元素传递给XSL,java,html,xslt-2.0,Java,Html,Xslt 2.0,我有一个方法methodA,它返回元素的arraylist。现在我正在尝试使用XSL准备HTML报告 以下是我正在做的: 首先,我正在为XSL文件准备一个XML。假设我正在创建一个textnode,如下所示: Element unusedX = docforXSL.createElement("Unused"); unusedX.appendChild(docforXSL.createTextNode(StringUtils.join(methodA().iterator(), ",")));
Element unusedX = docforXSL.createElement("Unused");
unusedX.appendChild(docforXSL.createTextNode(StringUtils.join(methodA().iterator(), ",")));
我的XML看起来像
<Unused>arraylist elements separated by commas</Unused>
这里,我使用Commons.lang StringUtils的join方法,该方法使用第二个参数作为分隔符。现在,我使用逗号作为分隔符。我将呈现此节点的XSL代码是:
<td align = "center"><xsl:value-of select="Unused"/></td>
在这里,我将在报告的一列中使用逗号分隔arraylist元素
在HTML报告中,我希望每个arraylist元素位于不同的换行符上,而不是用逗号分隔
如果我将HTML line breakbr或\n作为第二个参数,则无法在HTML文件中正确呈现它们
好心的建议 .createTextNode将文本视为纯文本,而不是HTML 请参见您可以使用XSL首先计算Unused的值,然后再计算标记化创建的序列,并添加换行符。
的答案中包含了一些很好的示例,展示了如何进行这种转换。Hi Ross我正在使用Java和XSL动态地完成所有这些工作。我不确定,但我怀疑它在这里是否也能起同样的作用。我正在使用Java和XSL动态地完成所有这些工作。是否可以在我的XSL文件中添加一些函数,以便它将我从Java文件传递的textseparator解释为换行符,并可以为我实现这一点?您是否有特殊的理由将分隔符视为换行符?如果您可以通过拆分字符串和迭代值来使用XSL实现这一点,这对您有影响吗?没有,我只是在想是否可以这样做。但是现在我更改了Java代码,它创建的textnodes数量等于arraylist中的元素数。因此,我现在可以很容易地使用XSL在元素之间换行。