.. _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`.