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