从子元素复制类

时间:2014-06-02 13:46:57

标签: xslt

我正在尝试将类从子元素复制到它的父元素。 在以下示例中,我尝试将类 hasChildrens 移动到父 li

<li class="plain" id="portaltab-about-level1">
    <a href="http://localhost:8080/hccrems/about" class="hasChildrens" title="">
        <span>About HCCREMS</span></a>
</li>

<xsl:template match="li/@id[contains(., 'level1')]">
    <xsl:attribute name="class"><xsl:value-of select="current()/a/@id" /></xsl:attribute>
</xsl:template>

我的表达价值是否正确?

1 个答案:

答案 0 :(得分:1)

如果您希望覆盖现有的li/@class值及其@class子级的a值,请尝试:

<xsl:template match="li[contains(@id, 'level1')]/@class">
    <xsl:attribute name="class">
        <xsl:value-of select="../a/@class" />
    </xsl:attribute>
</xsl:template>

或只是:

<xsl:template match="li[contains(@id, 'level1')]/@class">
    <xsl:copy-of select="../a/@class" />
</xsl:template>

这假设你的样式表还有一个身份转换模板(或其他模板来处理其他节点)。