1

我要做的是通过 XSLT 在我的 JSP 页面中对 XML 输出进行样式化。

但我想导入我的 xml 文件运行 < x:forEach 选择以显示我的所有内容,然后使用我的 XSLT 文件对内容进行样式化

这是我当前的代码

<c:import var="articleinfo" url="/WEB-INF/articles.xml" />  
<x:parse xml="${articleinfo}" var="output"/>
<c:set var="xmltext">
<x:forEach select="$output/articles/article" var="story">
<x:out select="$story" />
</x:forEach>
</c:set>
<c:import url="authors.xsl" var="xslt"/>
<x:transform xml="${xmltext}" xslt="${xslt}"/>

现在没有 c:set 和 x:transform,XML 将作为一个连续的文本行输出,这告诉我 x:forEach 有效,但现在我想用 XSLT 对其进行样式化,但出现错误:

“HTTP 状态 500 - javax.servlet.ServletException:javax.servlet.jsp.JspException:javax.xml.transform.TransformerException:javax.xml.transform.TransformerException:com.sun.org.apache.xml.internal.utils.WrappedRuntimeException : 文件过早结束。”

在我的 XSLT 中正确编码应该注意什么?

干杯

4

1 回答 1

1

好的,我刚刚弄清楚发生了什么,这是其中之一,哦,我的就在我面前……:|

这是我对我的问题的回答。

<c:import url="articles.xsl" var="xslt"/>
<c:import url="/WEB-INF/articles.xml" var="articles"/>
<x:transform xml="${articles}" xslt="${xslt}"/> 

我没有正确导入我的 xml 并应用了不需要的各种语句。

现在所有显示正确:D

于 2013-05-22T05:17:44.413 回答