Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XSLT中的前兄弟_Xslt - Fatal编程技术网

XSLT中的前兄弟

XSLT中的前兄弟,xslt,Xslt,我试图在前面兄弟姐妹检查的基础上提出一个具体的条件。 我尝试了各种各样的选择,但没有任何效果。 下面是示例XML <abc> <title>something</title> <element>1</element> <element>2</element> <element>3</element> <element>4</element> <

我试图在前面兄弟姐妹检查的基础上提出一个具体的条件。 我尝试了各种各样的选择,但没有任何效果。 下面是示例XML

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

某物
1.
2.
3.
4.
我有一个与
标记匹配的模板,我想检查它的直接元素是否是
执行一些附加处理,或者执行一些其他处理。已通知任何指针。


<xsl:template match="element[preceding-sibling::element()[1][self::title]]"/>

如果当前上下文是
元素
元素,则可以使用

因此,要检查该元素是否为
标题
,可以使用

preceding-sibling::*[1][self::title]

如果当前上下文是
元素
元素,则可以使用

因此,要检查该元素是否为
标题
,可以使用

preceding-sibling::*[1][self::title]

我很无聊。
我很特别。

我很无聊。
我很特别。

你能告诉我们你到目前为止有什么吗?你能告诉我们你到目前为止有什么吗?这对XSLT2.0是正确的,如果你使用1.0,那么你必须使用
*
而不是
元素()
。这对XSLT2.0是正确的,如果你使用1.0,那么你必须使用
*
而不是
元素()
<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>