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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.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
Xml XSLT-比较前面的兄弟姐妹';具有当前';s节点元素_Xml_Xslt_Xpath - Fatal编程技术网

Xml XSLT-比较前面的兄弟姐妹';具有当前';s节点元素

Xml XSLT-比较前面的兄弟姐妹';具有当前';s节点元素,xml,xslt,xpath,Xml,Xslt,Xpath,我有一个XML文件: <recursos> <recurso url="http://w3c.com"> <descripcion>Consorcio W3C</descripcion> <tipo>externo</tipo> <idioma>ingles</idioma> <contenido>General<

我有一个XML文件:

<recursos>
    <recurso url="http://w3c.com">
        <descripcion>Consorcio W3C</descripcion>
        <tipo>externo</tipo>
        <idioma>ingles</idioma>
        <contenido>General</contenido>
        <unidad>Unidad 2</unidad>
    </recurso>
    <recurso url="http://html.com">
        <descripcion>Especificación HTML</descripcion>
        <tipo>externo</tipo>
        <idioma>castellano</idioma>
        <contenido>HTML</contenido>
        <version>4.01</version>
        <unidad>Unidad 3</unidad>
    </recurso>
</recursos>

联合W3C
埃克斯特诺
英格尔
一般的
Unidad 2
特有的HTML
埃克斯特诺
卡斯特拉诺
HTML
4.01
Unidad 3
我想比较一个“recurso”前面的同级元素“unidad”和当前“recurso”的“unidad”,以检查它们是否不同

我试着:

<xsl:if test="preceding-sibling::recurso[position()=1]::unidad != unidad">
</xsl:if>

但我知道这是非常错误的:( 我希望你能帮助我,非常感谢。

几乎正确

<xsl:if test="preceding-sibling::recurso[1]/unidad != unidad">
</xsl:if>
[1]
[position()=1]
的缩写

子轴
隐含在位置步骤中,因此

preceding-sibling::recurso[1]/unidad != unidad
相当于:

preceding-sibling::recurso[1]/child::unidad != unidad

好的第一次提问,顺便说一句。格式良好,措辞得体,有完整但尽可能短的代码示例。我希望更多的人会这样做。:-)
preceding-sibling::recurso[1]/child::unidad != unidad