Hi,
I'm working with latests BaseX distribution. The problem arises when I
change from a specific namespace to a default namespace on the XML file.
>From that moment on the insertion becomes messy, since some of them
fail. Example:
Here is the source XML that I insert into the newly created DataBase:
<n:one xmlns:n="oneone">
<two />
</n:one>
I execute then a xquery to insert a node into the empty tag "two":
insert node <three/> into db:open("MyDB",
"q471pa0lnovkfflso7ecsd6nj1.xml")/*:one/two
In that case, I get a successful insertion: If I query the file
(db:open("MyDB", "q471pa0lnovkfflso7ecsd6nj1.xml")/*:one) I get:
<n:one xmlns:n="oneone">
<two>
<three />
</two>
</n:one>
This is the normal behavior. The problem comes when I try to set that
namespace as the default. So I create a new DataBase with the following
XML:
<one xmlns="oneone">
<two />
</one>
When I try to execute the same xquery as before (insert node <three/>
into db:open("MyDB", "q471pa0lnovkfflso7ecsd6nj1.xml")/*:one/two) I get
the following error:
rg.basex.core.BaseXException: Stopped at line 1, column 84: [XUDY0027]
Insert target must not be empty
I cannot understand then why the namespace affects the insertion this
way :-/ I'm querying and insertion from a Java application by using
JavaClient, although I guess this is not relevant here.
Any help would be appreciated.
Thank you and best regards,
C.
------------------------------------------------------------------
This e-mail and the documents attached are confidential and intended
solely for the addressee; it may also be privileged. If you receive
this e-mail in error, please notify the sender immediately and destroy it.
As its integrity cannot be secured on the Internet, the Atos
group liability cannot be triggered for the message content. Although
the sender endeavours to maintain a computer virus-free network,
the sender does not warrant that this transmission is virus-free and
will not be liable for any damages resulting from any virus transmitted.
Este mensaje y los ficheros adjuntos pueden contener informacion confidencial
destinada solamente a la(s) persona(s) mencionadas anteriormente
pueden estar protegidos por secreto profesional.
Si usted recibe este correo electronico por error, gracias por informar
inmediatamente al remitente y destruir el mensaje.
Al no estar asegurada la integridad de este mensaje sobre la red, Atos
no se hace responsable por su contenido. Su contenido no constituye ningun
compromiso para el grupo Atos, salvo ratificacion escrita por ambas partes.
Aunque se esfuerza al maximo por mantener su red libre de virus, el emisor
no puede garantizar nada al respecto y no sera responsable de cualesquiera
danos que puedan resultar de una transmision de virus.
------------------------------------------------------------------