Я пытаюсь преобразовать мой xml через java / xalan (2.7.1) с помощью org.apache.xalan.xslt.Process class
Я получаю «Дополнительные нелегальные токены» и не уверен в работеоколо
я в основном хочу передать параметр в шаблон и затем использовать этот параметр в качестве атрибута <xsl:when test="$textAlign eq 'center'">
, если я передам параметр 'center'
в шаблон 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
спасибо всем