.. _base-uri:
========
base-uri
========
O URI base de um nó
Descrição
~~~~~~~~~
A função fn:base-uri acha o URI base de um nó. O argumento $arg pode ser
qualquer tipo de nó. Se $arg for um nó de documento, a função em geral devolve o
URI de onde o documento veio, o que também se consegue com fn:document-uri.
Se $arg for um elemento, a função devolve o valor do atributo xml:base dele, se
houver, ou o xml:base do ancestral mais próximo. Se nenhum ancestral tiver
xml:base, vale o URI base do nó de documento.
Se $arg for outro tipo de nó, a função devolve o mesmo valor que devolveria para
o elemento pai ou o documento dele.
.. list-table::
:widths: 40 60
:header-rows: 1
* - **Parâmetros**
- **Descrição**
* - arg:node()
- o nó cujo URI base se quer achar; se omitido, o nó de contexto
Exemplos
~~~~~~~~
Os exemplos abaixo usam este documento de entrada:
.. code-block:: xml
.. list-table::
:widths: 50 50
:header-rows: 1
* - **XPath**
- **Resultado**
* - base-uri($cats//catalog[1])
- http://example.org/ACC/
* - base-uri($cats//catalog[2]/product)
- http://example.org/WMN/
* - base-uri($cats//catalog[2]/product/@href)
- http://example.org/WMN/
* - base-uri($cats)
- http://www.functx.com/input/cats.xml
* - base-uri($cats/catalogs)
- http://www.functx.com/input/cats.xml
Veja também
~~~~~~~~~~~
.. toctree::
:titlesonly:
:glob:
* :ref:`resolve-uri`.
* :ref:`functx_is-absolute-uri`.
* :ref:`static-base-uri`.
* :ref:`document-uri`.