将自定义css类插入xslt变量

时间:2015-12-15 01:07:36

标签: xslt-2.0

我有一个值为

的xsl变量

z-index

如何插入一个css类来创建变量的值,如下所示。我还想删除段落标签。

<p> <a href="https://www.google.com" target="_blank">Illustrating tips</a> </p>

1 个答案:

答案 0 :(得分:0)

假设你有

<xsl:variable name="frag">
  <p> <a href="https://www.google.com" target="_blank">Illustrating tips</a> </p>
</xsl:variable>

然后使用mode对其进行转换,例如

<xsl:template match="p" mode="m1">
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="a[@href]" mode="m1">
  <xsl:copy>
    <xsl:copy-of select="@*"/>
    <xsl:attribute name="class">titleClass</xsl:attribute>
    <xsl:apply-templates mode="m1"/>
  </xsl:copy>
</xsl:template>

<xsl:variable name="transformed-frag">
  <xsl:apply-templates select="$frag/node()" mode="m1"/>
</xsl:variable>

或直接输出结果的位置

<xsl:apply-templates select="$frag/node()" mode="m1"/>

如果a元素可以包含多个纯文本,则需要添加模板,以便在模式下复制它们,如一般身份转换模板或该模式下的身份转换模板,例如

<xsl:template match="@* | node()" mode="m1">
  <xsl:copy>
    <xsl:apply-templates select="@* | node()" mode="#current"/>
  </xsl:copy>
</xsl:template>