.. _id:
==
id
==
Busca elementos pelo ID
Descrição
~~~~~~~~~
A função fn:id recebe uma sequência de IDs e devolve os elementos com esses IDs.
Se $node não for informado, procura no mesmo documento do item de contexto
atual. Se $node for informado, procura no mesmo documento de $node.
As strings de $arg podem ser IDs avulsos ou listas de IDs separadas por espaço.
Embora $arg seja uma sequência de xs:string, também dá para passar valores
xs:IDREF ou xs:IDREFS, porque esses tipos derivam de xs:string.
Um elemento tem um certo ID se:
tiver um atributo marcado como ID com esse valor, ou
o tipo do próprio elemento for marcado como ID e o conteúdo dele for esse
valor.
Um nó de elemento ou de atributo fica "marcado como ID" quando é validado por um
schema que o declara como xs:ID ou, no caso de atributos, quando uma DTD o
declara do tipo ID.
A collation padrão não é usada para comparar os IDs; a comparação é simples,
pelos code points Unicode.
A função devolve os nós na ordem do documento, e não na ordem dos valores de
$arg. O resultado não tem elementos repetidos, mesmo que um ID apareça duas
vezes em $arg.
.. list-table::
:widths: 40 60
:header-rows: 1
* - **Parâmetros**
- **Descrição**
* - arg:string()
- o valor de ID a procurar
* - node:node()
- um nó do documento onde procurar
Exemplos
~~~~~~~~
Os exemplos abaixo usam este documento de entrada:
.. code-block:: xml
]>
This book introduces XQuery...
The examples are downloadable...
...Expressions, introduced
in , are...
...As described in
, you can...
See http://datypic.com.
Estes exemplos supõem que o documento de entrada foi validado e que o tipo do atributo id é xs:ID.
.. list-table::
:widths: 50 50
:header-rows: 1
* - **XPath**
- **Resultado**
* - $book/id('preface')
- This book introduces XQuery... The examples are downloadable...
* - $book/id(('context','preface'))
- This book introduces XQuery... The examples are downloadable...
* - $book/id('context preface')
- This book introduces XQuery... The examples are downloadable...
* - $book//section[3]/secRef/id(@refs)
-
* - $book//section[4]/secRef/id(@refs)
- ...Expressions, introduced in , are...
* - $book//secRef/id(@refs)
- ...Expressions, introduced in , are...
* - $book/id(('preface','noMatch', 'in!valid'))
- This book introduces XQuery... The examples are downloadable...
Veja também
~~~~~~~~~~~
.. toctree::
:titlesonly:
:glob:
* :ref:`idref`.
* :ref:`functx_id-untyped`.
* :ref:`functx_id-from-element`.