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> |