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

Veja também