xslt错误:额外的非法标记:';等式''';中心'';通过xalan/java通过xsl/xslt转换xml时
我试图通过java/xalan(2.7.1)和org.apache.xalan.xslt.Process类转换xml 我得到了“额外的非法代币”,但不确定是否能解决这个问题 我基本上希望将一个参数传递给模板,然后将该参数用作xslt错误:额外的非法标记:';等式''';中心'';通过xalan/java通过xsl/xslt转换xml时,java,xslt,xalan,Java,Xslt,Xalan,我试图通过java/xalan(2.7.1)和org.apache.xalan.xslt.Process类转换xml 我得到了“额外的非法代币”,但不确定是否能解决这个问题 我基本上希望将一个参数传递给模板,然后将该参数用作 如果我将一个'center'参数传递到TableCell模板中,我会希望创建一个文本居中的表格单元格,当然,'left'会使其内容左对齐 错误消息正在抱怨“中心” 中心周围的引语让它绊倒,看起来应该没问题 下面是一些代码片段(示例xml和xsl) 感谢大家eq是XPath和
如果我将一个'center'
参数传递到TableCell模板中,我会希望创建一个文本居中的表格单元格,当然,'left'
会使其内容左对齐
错误消息正在抱怨“中心”
中心周围的引语让它绊倒,看起来应该没问题
下面是一些代码片段(示例xml和xsl)
感谢大家
eq
是XPath和XSLT 2.0中引入的运算符,您使用的是仅支持XPath和XSLT 1.0的Xalan,因此请改用=
运算符。
或者从Xalan移动到Saxon 9(),该处理器支持XSLT 2.0。
eq
是XPath和XSLT 2.0中引入的运算符,您使用的Xalan只支持XPath和XSLT 1.0,因此请改用=
运算符。
或者从Xalan转移到Saxon 9(),该处理器支持XSLT 2.0。dang it,我应该注意到,我实际上是在使用FOP转换为PDF,所以尽管我很想使用最新的XSLT/xpath 2.0,但我认为这可能比仅仅交换JAR要多。感谢您的回复。我应该注意到,我实际上是在使用FOP将其转换为PDF,因此,尽管我很想使用最新的xslt/xpath 2.0,但我认为这可能比交换JAR要复杂得多。谢谢你的回复
<ingredients>
<ingredient>
<quantity>1 1/2</quantity>
<foodstuff>flour</foodstuff>
</ingredient>
</ingredients>
<xsl:output method="html"/>
<xsl:template match="ingredients">
<xsl:apply-templates select="ingredient"/>
</xsl:template>
.
<xsl:template match="ingredient">
<xsl:call-template name="TableCell">
<xsl:with-param name="cellValue" select="quantity" />
<xsl:with-param name="textAlign" select="'center'" />
</xsl:call-template>
</xsl:template>
.
<xsl:template name="TableCell">
<xsl:param name="cellValue" />
<xsl:param name="textAlign" />
<xsl:choose>
<xsl:when test="$textAlign eq 'center'">
<td align='center'>
<xsl:value-of select="$cellValue"/>
</td>
</xsl:when>
</xsl:choose>
</xsl:template>
org.apache.xalan.xslt.Process -IN test.xml -XSL test.xsl -OUT out.html