0

我试图在之前的兄弟检查的基础上提出一个特定的条件。我尝试了各种选择,但没有任何效果。这是示例 XML

<abc>
 <title>something</title>
 <element>1</element>
 <element>2</element>
 <element>3</element>
 <element>4</element>    
</abc>

我有一个标签的模板匹配<element> ,我想检查它的直接元素是否是<title>做一些附加处理,否则做一些其他处理。任何指针appriciated。

4

3 回答 3

4
<xsl:template match="element">
    I am boring. <xsl:value-of select="." />
</xsl:template>

<xsl:template match="element[preceding-sibling::*[1][self::title]]">
    I am special. <xsl:value-of select="." />
</xsl:template>
于 2013-10-23T13:16:42.260 回答
1

如果当前上下文是一个element元素,那么您可以使用它获取其最近的前一个兄弟元素(无论名称如何)

preceding-sibling::*[1]

因此要检查该元素是否是title您可以使用的

preceding-sibling::*[1][self::title]
于 2013-10-23T13:15:09.557 回答
0
<xsl:template match="element[preceding-sibling::element()[1][self::title]]"/>
于 2013-10-23T13:13:50.370 回答