functx:replace-element-values

Atualiza o conteúdo de um ou mais elementos

Descrição

A função functx:replace-element-values recebe uma sequência de elementos e troca os valores deles pelos valores de $values. Todos os atributos originais dos elementos são mantidos. É útil quando você quer fazer uma operação sobre uma sequência de elementos, como dobrar o valor ou pegar um trecho, sem perder os próprios elementos. As duas sequências andam por posição: o primeiro elemento de $elements recebe o primeiro valor de $values, o segundo elemento recebe o segundo valor, e assim por diante.

Parâmetros

Descrição

elements:element()

os elementos cujo conteúdo será trocado

values:string()

os valores novos

Exemplos

Os exemplos abaixo usam este documento de entrada:

<xsl:variable name="in-xml" as="item()*">
  <in-xml>
     <price num="1">12</price>
     <price num="2">20</price>
     <price num="3">5</price>
  </in-xml>

</xsl:variable>

XPath

Resultado

functx:replace-element-values( $in-xml/price, for $p in $in-xml/price return $p * 2)

<price num="1">24</price> <price num="2">40</price> <price num="3">10</price>

for $p in $in-xml/price return functx:replace-element-values( $p,concat($p,'.0'))

<price num="1">12.0</price> <price num="2">20.0</price> <price num="3">5.0</price>