.. _deep-equal:
==========
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.
.. list-table::
:widths: 40 60
:header-rows: 1
* - **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:
.. code-block:: xml
784
784
.. list-table::
:widths: 50 50
:header-rows: 1
* - **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
~~~~~~~~~~~
.. toctree::
:titlesonly:
:glob:
* :ref:`functx_sequence-deep-equal`.
* :ref:`functx_distinct-deep`.
* :ref:`functx_index-of-deep-equal-node`.
* :ref:`functx_is-node-in-sequence-deep-equal`.
* :ref:`functx_is-node-among-descendants-deep-equal`.