Query: for $n in //items/*
let $p :=  $n/@publisher
let $a :=  $n/@edition | $n/@label
return 
  if ($p) then delete nodes $a
  else if ($a) then
    ( rename node $a[1] as "publisher" , 
      delete node $a[2]) 
  else ()
Error: Improper use? Potential bug? Your feedback is welcome:
Contact: basex-talk@mailman.uni-konstanz.de
Version: BaseX 7.2
Java: Apple Inc., 1.6.0_31
OS: Mac OS X, x86_64
Stack Trace: 
java.lang.ArrayIndexOutOfBoundsException: 2147483647
  org.basex.io.random.TableDiskAccess.cursor(TableDiskAccess.java:401)
  org.basex.io.random.TableDiskAccess.read1(TableDiskAccess.java:115)
  org.basex.data.Data.kind(Data.java:309)
  org.basex.data.Data.delete(Data.java:659)
  org.basex.query.up.primitives.DeleteNode.apply(DeleteNode.java:35)
  org.basex.query.up.NodeUpdates.makePrimitivesEffective(NodeUpdates.java:216)
  org.basex.query.up.DatabaseUpdates.apply(DatabaseUpdates.java:148)
  org.basex.query.up.ContextModifier.applyUpdates(ContextModifier.java:58)
  org.basex.query.up.Updates.apply(Updates.java:188)
  org.basex.query.QueryContext.value(QueryContext.java:259)
  org.basex.query.QueryContext.iter(QueryContext.java:243)
  org.basex.query.QueryContext.execute(QueryContext.java:432)
  org.basex.query.QueryProcessor.execute(QueryProcessor.java:97)
  org.basex.core.cmd.AQuery.query(AQuery.java:91)
  org.basex.core.cmd.XQuery.run(XQuery.java:20)
  org.basex.core.Command.run(Command.java:345)
  org.basex.core.Command.exec(Command.java:324)
  org.basex.core.Command.execute(Command.java:76)
  org.basex.gui.GUI.exec(GUI.java:404)
  org.basex.gui.GUI$6.run(GUI.java:355)



--
Yves Roos
www.lifl.fr/~yroos