xupdate question
Friday, 25 November 2011 · 2 messages
LK
Hi Pascal,
it comes down to a syntax error - there's a 'return' statement missing before the 'copy'. It should work like this:
*declare namespace ddi = "http://www.icpsr.umich.edu/DDI";*
*let $codeBook := collection()[1]/ddi:codeBook*
*let $titlStmt := $codeBook/ddi:stdyDscr/ddi:citation/ddi:titlStmt* *return copy $titlStmt1 := $titlStmt*
*modify (*
* rename node $titlStmt1 as*
*QName('http://www.icpsr.umich.edu/DDI','CopyOfTitlStmt')*
*)*
*return $titlStmt1*
*
*
I always check queries in the Query Editor of BaseX if I come across issues like this. Just as a hint ...
Cheers,
Lukas
PH
Pascal Heus25 Nov 2011 17:38 #
Is there a particular reason why I can't do this (mixing let with copy/modify):
declare namespace ddi = "http://www.icpsr.umich.edu/DDI";
let $codeBook := collection()[1]/ddi:codeBook
let $titlStmt := $codeBook/ddi:stdyDscr/ddi:citation/ddi:titlStmt
copy $titlStmt1 := $titlStmt
modify (
rename node $titlStmt1 as
QName('http://www.icpsr.umich.edu/DDI','CopyOfTitlStmt')
)
return $titlStmt1but this works:
declare namespace ddi = "http://www.icpsr.umich.edu/DDI";
copy $titlStmt1 :=
collection()[1]/ddi:codeBook/ddi:stdyDscr/ddi:citation/ddi:titlStmt modify (
rename node $titlStmt1 as
QName('http://www.icpsr.umich.edu/DDI','CopyOfTitlStmt')
)
return $titlStmt1
thanks
*P
Written for BaseX 7.0. BaseX may have changed since: please check the current documentation.
⚡Generated with XQuery