Thanks Christian, It is something weird, it sometimes works and sometimes doesn't, i don't understand....
This is my query:
String extraeActors = "//interactiondata/preamble/users/user_def/@id";
Then i use it in my code:
try { Vector vactors = MyQuery.queryExtraeDatosCabecera(extraeActors); } catch (QueryException ex) { Logger.getLogger(Actor.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(Actor.class.getName()).log(Level.SEVERE, null, ex); } catch (BaseXException ex) { Logger.getLogger(Actor.class.getName()).log(Level.SEVERE, null, ex); }
I have written a method to extract data in a Vector:
static public Vector queryExtraeDatosCabecera(final String query) throws BaseXException, QueryException, IOException { WorkSpace sp1 = new WorkSpace(); String workspace = sp1.getWorkspace(); new CreateDB(workspace + "\cabecera.xml", "DBCabecera").execute(CONTEXT); System.out.println("\n* Close and reopen database: " + workspace + "\cabecera.xml"); new Close().execute(CONTEXT); new Open("DBCabecera").execute(CONTEXT); final QueryProcessor processor = new QueryProcessor(query, CONTEXT); final Iter iter = processor.iter(); final Result result = processor.query(); Item item; Vector datos = new Vector(); int i = 0; datos.setSize(result.size()); while ((item = iter.next()) != null) { String aux = item.toString(); System.out.println(aux + "\n"); int begin = aux.indexOf("""); int end = aux.indexOf(""", begin + 1); String actor = aux.substring(begin + 1, end); datos.setElementAt(actor, i); i++; } processor.close(); new Optimize().execute(CONTEXT); new DropIndex("text").execute(CONTEXT); new DropIndex("attribute").execute(CONTEXT); new DropIndex("fulltext").execute(CONTEXT); new DropIndex("path").execute(CONTEXT); new Close().execute(CONTEXT); new DropDB("DBCabecera").execute(CONTEXT); return datos; }
And this is the XML located in my workspace:
<?xml version='1.0' encoding='UTF-8'?> <interactiondata> <preamble> <roles> <role_def id="Profesor"> <description>unknown</description> </role_def> <role_def id="Alumno"> <description>unknown</description> </role_def> <role_def id="Externo"> <description>unknown</description> </role_def> </roles> <users> <user_def id="laox00" firstname="unknown"> <properties> <property value="x00" name="rep"/> </properties> </user_def> <user_def role="Alumno" id="laox01" firstname="unknown"> <properties> <property value="x01" name="rep"/> <property value="09/10/2001" name="start"/> </properties> </user_def> <user_def role="Alumno" id="laox02" firstname="unknown"> <properties> <property value="x02" name="rep"/> <property value="09/10/2001" name="start"/> </properties> </user_def> <user_def role="Alumno" id="laox03_extended_0" firstname="unknown"> <properties> <property value="x03" name="rep"/> <property value="09/10/2001" name="start"/> </properties> </user_def> <user_def role="Coordinador" id="laox03_extended_1" firstname="unknown"> <properties> <property value="x03" name="rep"/> <property value="10/11/2001" name="start"/> </properties> </user_def> <user_def id="laox04" firstname="unknown"> <properties> <property value="x04" name="rep"/> </properties> </user_def> <user_def id="laox05" firstname="unknown"> <properties> <property value="x05" name="rep"/> </properties> </user_def> <user_def id="laox06" firstname="unknown"> <properties> <property value="x06" name="rep"/> </properties> </user_def> <user_def id="laox07" firstname="unknown"> <properties> <property value="x07" name="rep"/> </properties> </user_def> <user_def id="laox08" firstname="unknown"> <properties> <property value="x08" name="rep"/> </properties> </user_def> <user_def id="laox09" firstname="unknown"> <properties> <property value="x09" name="rep"/> </properties> </user_def> <user_def id="laox10" firstname="unknown"> <properties> <property value="x10" name="rep"/> </properties> </user_def> <user_def id="laox11" firstname="unknown"> <properties> <property value="x11" name="rep"/> </properties> </user_def> <user_def id="laox12" firstname="unknown"> <properties> <property value="x12" name="rep"/> </properties> </user_def> <user_def id="laox13" firstname="unknown"> <properties> <property value="x13" name="rep"/> </properties> </user_def> <user_def id="laox14" firstname="unknown"> <properties> <property value="x14" name="rep"/> </properties> </user_def> <user_def id="laox15" firstname="unknown"> <properties> <property value="x15" name="rep"/> </properties> </user_def> <user_def id="laox16" firstname="unknown"> <properties> <property value="x16" name="rep"/> </properties> </user_def> <user_def id="laox17" firstname="unknown"> <properties> <property value="x17" name="rep"/> </properties> </user_def> <user_def id="laox18" firstname="unknown"> <properties> <property value="x18" name="rep"/> </properties> </user_def> <user_def id="laox19" firstname="unknown"> <properties> <property value="x19" name="rep"/> </properties> </user_def> <user_def id="laox20" firstname="unknown"> <properties> <property value="x20" name="rep"/> </properties> </user_def> <user_def id="laox21" firstname="unknown"> <properties> <property value="x21" name="rep"/> </properties> </user_def> <user_def id="laox22" firstname="unknown"> <properties> <property value="x22" name="rep"/> </properties> </user_def> <user_def id="laox23" firstname="unknown"> <properties> <property value="x23" name="rep"/> </properties> </user_def> <user_def id="laox24" firstname="unknown"> <properties> <property value="x24" name="rep"/> </properties> </user_def> <user_def id="laox25" firstname="unknown"> <properties> <property value="x25" name="rep"/> </properties> </user_def> <user_def id="laox26" firstname="unknown"> <properties> <property value="x26" name="rep"/> </properties> </user_def> <user_def id="laox27" firstname="unknown"> <properties> <property value="x27" name="rep"/> </properties> </user_def> <user_def id="laox28" firstname="unknown"> <properties> <property value="x28" name="rep"/> </properties> </user_def> <user_def id="laox29" firstname="unknown"> <properties> <property value="x29" name="rep"/> </properties> </user_def> <user_def id="laox30" firstname="unknown"> <properties> <property value="x30" name="rep"/> </properties> </user_def> <user_def id="laox31" firstname="unknown"> <properties> <property value="x31" name="rep"/> </properties> </user_def> <user_def id="laox32" firstname="unknown"> <properties> <property value="x32" name="rep"/> </properties> </user_def> <user_def id="laox33" firstname="unknown"> <properties> <property value="x33" name="rep"/> </properties> </user_def> <user_def id="laox34" firstname="unknown"> <properties> <property value="x34" name="rep"/> </properties> </user_def> <user_def id="laox35" firstname="unknown"> <properties> <property value="x35" name="rep"/> </properties> </user_def> <user_def id="laox36" firstname="unknown"> <properties> <property value="x36" name="rep"/> </properties> </user_def> <user_def id="laox37" firstname="unknown"> <properties> <property value="x37" name="rep"/> </properties> </user_def> <user_def id="laox38" firstname="unknown"> <properties> <property value="x38" name="rep"/> </properties> </user_def> <user_def id="laox39" firstname="unknown"> <properties> <property value="x39" name="rep"/> </properties> </user_def> <user_def id="laox40" firstname="unknown"> <properties> <property value="x40" name="rep"/> </properties> </user_def> <user_def id="laox41" firstname="unknown"> <properties> <property value="x41" name="rep"/> </properties> </user_def> <user_def id="laox42" firstname="unknown"> <properties> <property value="x42" name="rep"/> </properties> </user_def> <user_def id="laox43" firstname="unknown"> <properties> <property value="x43" name="rep"/> </properties> </user_def> <user_def id="laox44" firstname="unknown"> <properties> <property value="x44" name="rep"/> </properties> </user_def> <user_def id="laox45" firstname="unknown"> <properties> <property value="x45" name="rep"/> </properties> </user_def> <user_def id="laox46" firstname="unknown"> <properties> <property value="x46" name="rep"/> </properties> </user_def> <user_def id="laox47" firstname="unknown"> <properties> <property value="x47" name="rep"/> </properties> </user_def> <user_def id="laox48" firstname="unknown"> <properties> <property value="x48" name="rep"/> </properties> </user_def> <user_def id="laox49" firstname="unknown"> <properties> <property value="x49" name="rep"/> </properties> </user_def> <user_def id="laox50" firstname="unknown"> <properties> <property value="x50" name="rep"/> </properties> </user_def> <user_def id="laox51" firstname="unknown"> <properties> <property value="x51" name="rep"/> </properties> </user_def> <user_def id="laox52" firstname="unknown"> <properties> <property value="x52" name="rep"/> </properties> </user_def> <user_def id="laox53" firstname="unknown"> <properties> <property value="x53" name="rep"/> </properties> </user_def> <user_def id="laox54" firstname="unknown"> <properties> <property value="x54" name="rep"/> </properties> </user_def> <user_def id="laox55" firstname="unknown"> <properties> <property value="x55" name="rep"/> </properties> </user_def> <user_def id="laox56" firstname="unknown"> <properties> <property value="x56" name="rep"/> </properties> </user_def> <user_def id="laox57" firstname="unknown"> <properties> <property value="x57" name="rep"/> </properties> </user_def> <user_def id="laox58" firstname="unknown"> <properties> <property value="x58" name="rep"/> </properties> </user_def> <user_def id="laox59" firstname="unknown"> <properties> <property value="x59" name="rep"/> </properties> </user_def> <user_def id="laox61" firstname="unknown"> <properties> <property value="x61" name="rep"/> </properties> </user_def> <user_def id="laox62" firstname="unknown"> <properties> <property value="x62" name="rep"/> </properties> </user_def> <user_def id="laox63" firstname="unknown"> <properties> <property value="x63" name="rep"/> </properties> </user_def> <user_def id="laox65" firstname="unknown"> <properties> <property value="x64" name="rep"/> </properties> </user_def> </users> <groups> <group_def id="TurnoA"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="laox00"/> <member_def id="laox01"/> <member_def id="laox02"/> <member_def id="laox04"/> <member_def id="laox05"/> <member_def id="laox06"/> <member_def id="laox07"/> <member_def id="laox08"/> <member_def id="laox09"/> <member_def id="laox10"/> <member_def id="laox11"/> <member_def id="laox12"/> <member_def id="laox13"/> <member_def id="laox14"/> <member_def id="laox15"/> <member_def id="laox16"/> <member_def id="laox17"/> <member_def id="laox18"/> <member_def id="laox19"/> </members> </group_def> <group_def id="TurnoB"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="laox21"/> <member_def id="laox22"/> <member_def id="laox23"/> <member_def id="laox24"/> <member_def id="laox25"/> <member_def id="laox26"/> <member_def id="laox27"/> <member_def id="laox28"/> <member_def id="laox29"/> <member_def id="laox30"/> <member_def id="laox31"/> <member_def id="laox32"/> <member_def id="laox33"/> <member_def id="laox34"/> <member_def id="laox35"/> <member_def id="laox36"/> <member_def id="laox37"/> <member_def id="laox38"/> <member_def id="laox39"/> </members> </group_def> <group_def id="TurnoC"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="laox41"/> <member_def id="laox42"/> <member_def id="laox43"/> <member_def id="laox44"/> <member_def id="laox45"/> <member_def id="laox46"/> <member_def id="laox47"/> <member_def id="laox48"/> <member_def id="laox49"/> <member_def id="laox50"/> <member_def id="laox51"/> <member_def id="laox52"/> <member_def id="laox53"/> <member_def id="laox54"/> <member_def id="laox55"/> <member_def id="laox56"/> <member_def id="laox57"/> <member_def id="laox58"/> <member_def id="laox59"/> </members> </group_def> <group_def id="TurnoD"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="laox61"/> <member_def id="laox62"/> <member_def id="laox63"/> <member_def id="laox65"/> </members> </group_def> <group_def id="Bolsa"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="laox04"/> <member_def id="laox05"/> <member_def id="laox10"/> <member_def id="laox12"/> <member_def id="laox21"/> <member_def id="laox32"/> <member_def id="laox33"/> <member_def id="laox37"/> <member_def id="laox43"/> <member_def id="laox51"/> <member_def id="laox52"/> <member_def id="laox53"/> </members> </group_def> <group_def id="Imagen"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="laox09"/> <member_def id="laox11"/> <member_def id="laox13"/> <member_def id="laox24"/> <member_def id="laox27"/> <member_def id="laox28"/> <member_def id="laox29"/> <member_def id="laox41"/> <member_def id="laox56"/> <member_def id="laox61"/> </members> </group_def> <group_def id="Ensen"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="laox26"/> <member_def id="laox30"/> <member_def id="laox31"/> <member_def id="laox34"/> <member_def id="laox48"/> <member_def id="laox49"/> </members> </group_def> <group_def id="Biblio"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="laox01"/> <member_def id="laox02"/> <member_def id="laox25"/> <member_def id="laox35"/> <member_def id="laox36"/> <member_def id="laox42"/> <member_def id="laox46"/> <member_def id="laox54"/> <member_def id="laox57"/> <member_def id="laox62"/> </members> </group_def> <group_def id="Movil"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="laox06"/> <member_def id="laox07"/> <member_def id="laox22"/> <member_def id="laox23"/> <member_def id="laox38"/> <member_def id="laox39"/> <member_def id="laox44"/> <member_def id="laox45"/> <member_def id="laox58"/> <member_def id="laox63"/> <member_def id="laox65"/> </members> </group_def> <group_def id="Turnos"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="TurnoA"/> <member_def id="TurnoB"/> <member_def id="TurnoC"/> <member_def id="TurnoD"/> </members> </group_def> <group_def id="Clientes"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="Bolsa"/> <member_def id="Imagen"/> <member_def id="Ensen"/> <member_def id="Biblio"/> <member_def id="Movil"/> </members> </group_def> </groups> <objects/> </preamble> </interactiondata>
2010/5/30 Christian Grün christian.gruen@gmail.com
Dear Bea,
org.basex.core.BaseXException: Database could not be dropped. at org.basex.core.Proc.execute(Proc.java:75)
It seems as if your database is still opened; feel free to send us a runnable example of your code/xml files whic reproduced the issue.
Another question, what would happen if I create a lot of news DB with the
same name and i don't drop them?
Your old database will be closed and dropped before the new database is created.
Hope this helps, Christian