1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
(:**************************************************************:)
(: Test: functx-functx-replace-element-values-2 :)
(: Written by: Priscilla Walmsley (Frans Englich is maintainer) :)
(: Date: 2008-05-16+02:00 :)
(:**************************************************************:)
declare namespace functx = "http://www.example.com/";
(:~
: Updates the content of one or more elements
:
: @author Priscilla Walmsley, Datypic
: @version 1.0
: @see http://www.xqueryfunctions.com/xq/functx_replace-element-values.html
: @param $elements the elements whose content you wish to replace
: @param $values the replacement values
:)
declare function functx:replace-element-values
( $elements as element()* ,
$values as xs:anyAtomicType* ) as element()* {
for $element at $seq in $elements
return element { node-name($element)}
{ $element/@*,
$values[$seq] }
} ;
let $in-xml := <in-xml>
<price num="1">12</price>
<price num="2">20</price>
<price num="3">5</price>
</in-xml>
return (for $p in $in-xml/price
return functx:replace-element-values(
$p,concat($p,'.0')))
|