.. _data:
====
data
====
O valor atômico de um nó
Descrição
~~~~~~~~~
A função fn:data recebe uma sequência de itens e devolve os valores tipados
deles. Para valores atômicos, isso significa devolver o próprio valor, sem
mudança. Para nós, significa extrair o valor tipado do nó.
Muitas vezes não é preciso chamar esta função, porque o valor tipado de um nó é
extraído automaticamente (um processo chamado atomização) em muitas expressões
XPath 2.0, como comparações, operações aritméticas e chamadas de função. O uso
mais comum de fn:data é nos construtores de elemento do XQuery.
.. list-table::
:widths: 40 60
:header-rows: 1
* - **Parâmetros**
- **Descrição**
* - arg:string()
- o item do qual pegar o valor
Exemplos
~~~~~~~~
Os exemplos abaixo usam este documento de entrada:
.. code-block:: xml
557
Fleece Pullover
navy black
563
Floppy Sun Hat
443
Deluxe Travel Bag
784
Cotton Dress Shirt
white gray
Our favorite shirt!
.. list-table::
:widths: 50 50
:header-rows: 1
* - **XPath**
- **Resultado**
* - data($cat//product[1]/number)
- 557
* - data($cat//number)
- (557, 563, 443, 784)
* - data($cat//product[1]/@dept)
- WMN
* - data($cat//product[1]/colorChoices)
- navy black
* - data($cat//product[1])
- 557 Fleece Pullover navy black
* - data($cat//product[4]/desc)
- Our favorite shirt!
Os exemplos abaixo dão resultados diferentes se o documento de entrada tiver sido validado com este schema. Os geradores não validam contra um schema, então no Mapper Idea o data() devolve os valores sem tipo, como na tabela de cima.
.. code-block:: xml
.. list-table::
:widths: 50 50
:header-rows: 1
* - **XPath**
- **Resultado**
* - data($cat//product[1]/colorChoices)
- ('navy', 'black')
* - data($cat//product[1])
- Error FOTY0012