.. _functx_if-empty:
===============
functx:if-empty
===============
O primeiro argumento, se não estiver em branco; senão, o segundo
Descrição
~~~~~~~~~
A função functx:if-empty é útil para dar um valor padrão quando um elemento ou
atributo está vazio ou não existe. Um elemento é considerado vazio se não tiver
conteúdo (por exemplo, ou ). Um atributo é considerado
vazio se o valor dele for uma string vazia (por exemplo, value=""). Se $node não
estiver vazio, a função devolve o valor tipado do nó. Se estiver vazio, ou não
existir (for a sequência vazia), devolve $value.
Observação: esta função é parecida com a eg:if-empty do documento XQuery 1.0 and
XPath 2.0 Functions and Operators, mas aceita também nós de atributo e valores
atômicos.
.. list-table::
:widths: 40 60
:header-rows: 1
* - **Parâmetros**
- **Descrição**
* - arg:item()
- o nó que pode estar vazio
* - value:item()
- o item ou os itens a usar se o nó estiver vazio
Exemplos
~~~~~~~~
Os exemplos abaixo usam este documento de entrada:
.. code-block:: xml
29.99
39.99
49.99
.. list-table::
:widths: 50 50
:header-rows: 1
* - **XPath**
- **Resultado**
* - functx:if-empty($in-xml//price[1], 0)
- 29.99
* - functx:if-empty($in-xml//price[3], 0)
- 0
* - functx:if-empty($in-xml//price[99], 0)
- 0
* - functx:if-empty($in-xml//price[1]/@discount, 0)
- 10.00
* - functx:if-empty($in-xml//price[3]/@discount, 0)
- 0
* - functx:if-empty($in-xml//price[4]/@discount, 0)
- 0
Veja também
~~~~~~~~~~~
.. toctree::
:titlesonly:
:glob:
* :ref:`functx_if-absent`.
* :ref:`functx_all-whitespace`.
* :ref:`empty`.