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>
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