deep-equal
Se dois nós têm o mesmo conteúdo e os mesmos atributos
Descrição
A função fn:deep-equal devolve true se as sequências $parameter1 e $parameter2 contêm os mesmos valores, na mesma ordem.
Valores atômicos são comparados pelo valor tipado, com o operador eq. Se dois valores atômicos não puderem ser comparados (por exemplo, um número e uma string), a função devolve false em vez de dar erro.
De forma simples, dois nós são deep-equal se têm os mesmos atributos e filhos (na mesma ordem) que também são deep-equal.
Parâmetros |
Descrição |
|---|---|
parameter1:item() |
a primeira sequência a comparar |
parameter2:item() |
a segunda sequência a comparar |
collation:string() |
a collation usada para comparar strings |
Exemplos
Os exemplos abaixo usam este documento de entrada:
<xsl:variable name="prod1" as="item()*">
<product dept='MEN' id='P123'>
<number>784</number>
</product>
</xsl:variable>
<xsl:variable name="prod2" as="item()*">
<product id='P123' dept='MEN'><!--comment-->
<number>784</number>
</product>
</xsl:variable>
XPath |
Resultado |
|---|---|
deep-equal( 1, 1 ) |
true |
deep-equal( (1, 1), (1, 1) ) |
true |
deep-equal( (1, 2), (1.0, 2.0) ) |
true |
deep-equal( (1, 2), (2, 1) ) |
false |
deep-equal( $prod1, $prod2 ) |
true |
deep-equal( $prod1/number, $prod2/number ) |
true |