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