.. _functx_if-empty: =============== functx:if-empty =============== The first argument if it is not blank, otherwise the second argument Description ~~~~~~~~~~~ The functx:if-empty function is useful for providing default values in case an element or attribute is empty or non-existant. An element is considered empty if it does not have any content (e.g. or ). An attribute is considered empty if its value is a zero-length string (e.g. value=""). If $node is not empty, this function returns the typed value of the node. If it is empty, or it is non-existent (equal to the empty sequence), it returns the value $value. Note: This function is similar to the eg:if-empty function provided in the XQuery 1.0 and XPath 2.0 Functions and Operators document. However, this function differs in that it supports attribute nodes and atomic values. .. list-table:: :widths: 40 60 :header-rows: 1 * - **Parameters** - **Description** * - arg:item() - the node that may be empty * - value:item() - the item(s) to use if the node is empty Examples ~~~~~~~~ .. list-table:: :widths: 50 50 :header-rows: 1 * - **XPath** - **Results** * - 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 See Also ~~~~~~~~ .. toctree:: :titlesonly: :glob: * :ref:`functx_if-absent`. * :ref:`functx_all-whitespace`. * :ref:`empty`.