Xslt- previous-sibling in-each

Gís*_*son 2 xml xslt xpath

所以我有这个xml代码,其中两个节点具有相同的ID值.如果它与前一个兄弟的值相同,我怎么能不显示相同的节点?

即如果A = 12,B = 10,C =!2.Xslt文件不应显示C,因为它具有与A相同的值.

这里是XML

<Services>
    <ServiceBooking> 
        <ID>A</ID>               
        <ServiceID>12</ServiceID>        
    </ServiceBooking>
    <ServiceBooking>
        <ID>B</ID>            
        <ServiceID>10</ServiceID>        
    </ServiceBooking>
    <ServiceBooking>
        <ID>C</ID>        
        <ServiceID>12</ServiceID>        
    </ServiceBooking>
</services>
Run Code Online (Sandbox Code Playgroud)

和Xslt

<xsl:for-each select="Services/ServiceBooking[not(preceding-sibling::ServiceID)]">
    <tr>
        <td class="name"><xsl:value-of select="ID" /></td>
        <td><xsl:value-of select="ServiceID"/></td>
    </tr>
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)

你们中的任何人都可以帮助我吗?

MVH

Mar*_*nen 9

<xsl:for-each select="Services/ServiceBooking[not(ServiceID = preceding-sibling::ServiceBooking/ServiceID)]">应该这样做,但你应该了解XSLT 1.0for-each-groupXSLT 2.0中的Muenchian分组.