我有如下所示的代码,它给出了样式表编译错误。
<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>
我正在尝试用相当复杂的要求重写 HTML 的 FORM 标记。希望您能够通过代码快照识别。我试图只重写标签的少数属性,并试图保留其余的。这是正确的方法吗?还有其他方法吗?任何建议。
提前致谢。
-里金