functx:distinct-deep

Os nós XML com valores distintos, levando em conta atributos e descendentes

Descrição

A função functx:distinct-deep compara os nós pelo deep-equal e devolve só o primeiro nó de cada valor distinto. Dois nós são deep-equal se têm os mesmos atributos com os mesmos valores, e os mesmos filhos, na mesma ordem, que também são deep-equal.

Parâmetros

Descrição

nodes:node()

a sequência de nós a testar

Exemplos

Os exemplos abaixo usam este documento de entrada:

<xsl:variable name="in-xml" as="item()*">
  <authors>
     <author>
        <fName>Kate</fName>
        <lName>Jones</lName>
     </author>
     <author>
        <fName>Kate</fName>
        <lName>Jones</lName>
     </author>
     <author>
        <fName>Kate</fName>
        <lName>Doe</lName>
     </author>
  </authors>
</xsl:variable>

XPath

Resultado

functx:distinct-deep($in-xml//author)

<author> <fName>Kate</fName> <lName>Jones</lName> </author> <author> <fName>Kate</fName> <lName>Doe</lName> </author>

functx:distinct-deep($in-xml//lName)

<lName>Jones</lName> <lName>Doe</lName>

functx:distinct-deep($in-xml//fName)

<fName>Kate</fName>

Depende de

Veja também