我想通過組織/ xalan(2.7.1)轉換我的xml。 apache.xalan.xslt.Process類xslt錯誤:額外的非法令牌:'eq',''中心''當通過xala/java轉換我的xml通過xsl/xslt
我得到「額外非法令牌」,而不是確定工作都是圍繞
我基本上要在一個參數傳遞給一個模板,然後使用該參數作爲屬性的一個<xsl:when test="$textAlign eq 'center'">
如果我通過一個'center'
param到TableCell模板,我想創建一個表格單元格,它的文本居中,當然,'left'
會得到它的內容左對齊。
錯誤消息在抱怨圍繞中心之旅起來的'center'
引號,似乎像它應該沒問題。
這裏有幾個片段(樣本XML和XSL)
<ingredients>
<ingredient>
<quantity>1 1/2</quantity>
<foodstuff>flour</foodstuff>
</ingredient>
</ingredients>
,這裏是一個示例XSL
<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>
也許有另一種方式來做到這一點?我認爲這是很簡單,但我想我只是不熟悉足夠的XSL
我使用的Xalan 2.7.1我的XSL引擎
org.apache.xalan.xslt.Process -IN test.xml -XSL test.xsl -OUT out.html
感謝大家
dang it,我應該注意到,我實際上使用FOP轉換爲PDF,所以儘可能使用最新的xslt/xpath 2.0,我認爲它可能比只是交換jar更多的工作。感謝您的回覆 – user825402 2011-12-17 02:11:49