По хорошему, по XML надо сначала пробежаться приблудой, которая заменит все эти {} на то, что надо.
На XSL это делается как-то так, хотя не очень понятно, откуда XSL узнает про $htdocs.
Код | <xsl:for-each select="document('')/xsl:stylesheet/self:data/item"> <xsl:apply-templates select="a"/> </xsl:for-each>
<xsl:template match="A|a"> <xsl:copy> <xsl:copy-of select="@*[name() != 'href' and name() != 'HREF' ]"/> <xsl:attribute name="href"> <xsl:choose> <xsl:when test="contains(@href, '{')"> <xsl:value-of select="substring-before(@href, '{' )" /> <xsl:call-template name="lexer"> <xsl:with-param name="lexem" select="substring-before(substring-after(@href, '{' ), '}' )" /> </xsl:call-template> <xsl:value-of select="substring-after(@href, '}' )" /> <xsl:when> <xsl:otherwise> <xsl:value-of select="@href"/> <xsl:otherwise> </xsl:choose> </xsl:atribute> <xsl:value-of select="." /> </xsl:copy> </xsl:template>
<xsl:template name="lexer"> <xsl:param name="lexem" />
<xsl:if test="$lexem = '$htdocs'"> <xsl:value-of select="'что-то'" /> </xsl:if> </xsl:template>
|
|