xupdate question

Friday, 25 November 2011 · 2 messages
LK
Lukas Kircherin reply to Pascal Heus, 25 Nov 2011, 17:3825 Nov 2011 16:51 #
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 $titlStmt1
but 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

⚡Generated with XQuery