У меня есть код, как показано ниже, который дает ошибку компиляции стилей.XSL: Выберите запрос
<xsl:template match="form">
<xsl:copy>
<xsl:for-each select="@*">
<xsl:variable name="param" select="name(.)" />
<xsl:choose>
<xsl:when test="$param = 'name'">
<xsl:attribute name="name"><xsl:value-of
select="@name" /></xsl:attribute>
</xsl:when>
<xsl:when test="$param = 'action'">
<xsl:attribute name="action"><xsl:value-of
select="java:com.hp.cpp.proxy.util.URLUtils.rewriteAction($response, $baseurl, @action, $scope)" /></xsl:attribute>
</xsl:when>
<xsl:when test="$param = 'method'">
<xsl:attribute name="method">POST</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="$param"><xsl:value-of
select="." /></xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<input type="hidden" name="httpmethod">
<xsl:attribute name="value"> <xsl:value-of
select="@method" /></xsl:attribute>
</input>
<xsl:apply-templates select="node()|@*" />
</xsl:copy>
</xsl:template>
Я пытаюсь переписать тег FORM HTML с довольно сложными требованиями. Надеюсь, вы сможете идентифицировать с помощью кодовой привязки. Я пытаюсь переписать только несколько атрибутов тега и попытаться сохранить остальные. Правильно ли это? Любой другой способ сделать это? Любое предложение.
Заранее спасибо.
-Rikin
Вы говорите, что вы получите ошибку компиляции, но не один, который. Также вы отмечаете свой вопрос как с 1.0, так и с 2.0, и что это такое? Можете ли вы обновить свой вопрос с минимальным полным примером (включая таблицу xsl: stylesheet и объявленные пространства имен)? Я предполагаю, что метод расширения 'rewriteAction' не объявлен или вообще отсутствует. – Abel