.. _functx_update-attributes: ======================== functx:update-attributes ======================== Atualiza o valor de atributos de um elemento XML Descrição ~~~~~~~~~ A função functx:update-attributes recebe um ou mais elementos XML, uma sequência de nomes de atributo e uma sequência de valores, e devolve um elemento novo com esses atributos atualizados. Nomes e valores andam por posição: o primeiro nome corresponde ao primeiro valor, o segundo nome ao segundo valor, e assim por diante. Todos os atributos e o conteúdo originais do elemento são mantidos, exceto que, se o elemento já tiver um atributo com um dos nomes de $attrNames, o valor dele é atualizado com o valor correspondente de $attrValues. Ao contrário da functx:add-or-update-attributes, se o atributo não existia no elemento, ele não é incluído. Cada nome precisa ser um valor xs:QName. QNames podem ser construídos com o construtor de tipo xs:QName ou com a função fn:QName, como nos exemplos. .. list-table:: :widths: 40 60 :header-rows: 1 * - **Parâmetros** - **Descrição** * - elements:element() - o elemento ou os elementos cujos atributos serão atualizados * - attrNames:string() - o nome ou os nomes dos atributos a atualizar * - attrValues:string() - o valor ou os valores novos dos atributos Exemplos ~~~~~~~~ Os exemplos abaixo usam este documento de entrada: .. code-block:: xml x x x .. list-table:: :widths: 50 50 :header-rows: 1 * - **XPath** - **Resultado** * - functx:update-attributes($in-xml/a, xs:QName('att1'), 123) - x * - functx:update-attributes($in-xml/a, (xs:QName('att1'),xs:QName('att2')), (1,2)) - x * - functx:update-attributes($in-xml/b, xs:QName('att1'), 123) - x * - functx:update-attributes($in-xml/c, QName('http://new','att1'), 123) - x Veja também ~~~~~~~~~~~ .. toctree:: :titlesonly: :glob: * :ref:`functx_add-attributes`. * :ref:`functx_copy-attributes`. * :ref:`functx_remove-attributes`.