So it seems that the once added namespace is propagated to other documents? I believe there must be at least one document with the mentioned namespace in your database; otherwise I can't explain where it should come from (afaik, the string "http://www.w3.org/1999/xhtml" isn't hard-coded anywhere in the project)...
Christian ___________________________________ On Mon, Apr 2, 2012 at 3:40 PM, Mike Hawkes <mikehaw...@me.com> wrote: > The database contains > > <root> > <auditlog> > > ... elements should end up in here ... > > </auditlog> > </root> > > > The initial XML file contains the initial nodes with which to populate the > XML database (root plus numerous other nodes). The PHP code inserts > additional nodes as it runs. For every node I add, I create an audit entry to > allow me to determine who and how the database built over time. > > initialdb.xml contains, therefore: > <root> > <auditlog/> > </root> > > You're right - ignore 'test' - I meant WYP in the database - as in > > drop database WYP > create database WYP test/initialdb.xml > > Apologies for any confusion caused. > > It's really weird - I can't get this to fail consistently - but when it > starts inserting the namespace attribute, it then continues to do so. > > Cheers > Mike > > On 2 Apr 2012, at 14:30, Christian Grün wrote: > >> Sorry, I still got some questions.. >> >>> drop database test >>> create database test /initialdb.xml >> >> The database you're creating seems to be called "test"; what's >> "initialdb.xml"? >> >>> 14:00:00.710 [127.0.0.1:49788] QUERY(4) declare variable >>> $DB external; insert node <audit QID='80C18E9A-46DD-4B3E-89E9-967DAFD79A0B' >>> UID='i1' guid='0EEDDB47-726E-49F8-B1EF-0F73ED848969' >>> sessionID='48090b7f0e3a62a42a0457a3e88301ca' mode='active' >>> date='2012-04-02T13:00:00+00:00'/> into doc($DB)/root/auditlog OK >>> 0.09 ms >>> 14:00:00.710 [127.0.0.1:49788] QUERY(4) OK 0.05 ms >>> 14:00:00.710 [127.0.0.1:49788] BIND(4) DB WYP OK >>> 0.05 ms >> >> The log info implies you're having "root" and "auditlog" nodes, and >> the addressed database is called "WYP", is that right? Could you pass >> us on the missing snippets? >> >> Christian >> >> >> >>> On 2 Apr 2012, at 14:11, Christian Grün wrote: >>> >>>> Hi Mike, >>>> >>>> thanks for your report. It would be great if you could provide us with >>>> a small example that allows us to reproduce the issue (an export of >>>> your original database with the namespace (which is being added to the >>>> new node) may suffice). >>>> >>>> Best, >>>> Christian >>>> ____________________________ >>>> >>>> On Mon, Apr 2, 2012 at 2:44 PM, Mike Hawkes <mikehaw...@me.com> wrote: >>>>> Hi >>>>> >>>>> I have a weird problem ... I'm running a query via the PHP interface and >>>>> run the following query: >>>>> >>>>> declare variable $DB external; >>>>> >>>>> insert node >>>>> <audit QID='C54B14ED-C748-4DF0-87F2-91F505BE207B' >>>>> UID='i1' >>>>> guid='CC9D4D2B-B380-494B-B0F6-4D72471557B0' >>>>> sessionID='48090b7f0e3a62a42a0457a3e88301ca' >>>>> mode='active' >>>>> date='2012-04-02T12:21:05+00:00'/> >>>>> into doc($DB)/root/auditlog >>>>> >>>>> -- >>>>> BaseX log shows that it gets the query as-is. >>>>> >>>>> When I look at the data within the database by running the XQuery >>>>> >>>>> /root/auditlog >>>>> >>>>> I find that BaseX has inserted a namespace attribute as follows: >>>>> >>>>> <audit xmlns="http://www.w3.org/1999/xhtml" >>>>> QID="C54B14ED-C748-4DF0-87F2-91F505BE207B" >>>>> UID="i1" guid="CC9D4D2B-B380-494B-B0F6-4D72471557B0" >>>>> sessionID="48090b7f0e3a62a42a0457a3e88301ca" mode="active" >>>>> date="2012-04-02T12:21:05+00:00"/> >>>>> >>>>> How do I stop this occurring? It only does it on the audit components, >>>>> not on anything else inserted by the PHP script. So, if I run two insert >>>>> node queries, the first will run normally, the audit update causes the >>>>> xmlns attribute to appear, effectively putting it in a different >>>>> namespace to the other data inserted by the PHP. >>>>> >>>>> The PHP script is as follows: >>>>> >>>>> $audit = "declare variable \$DB external; " . >>>>> "insert node <audit QID='$queryID' UID='$userID' " . >>>>> "guid='$guid' sessionID='" . session_id() . "' " . >>>>> "mode='active' " . >>>>> "date='$dateTime'/> into doc(\$DB)/root/auditlog"; >>>>> >>>>> $query = $session->query( $audit ); >>>>> $query->bind( 'DB', $DB); >>>>> $query->bind( 'SYSDATA', $SYSDATA ); >>>>> $query->execute(); >>>>> $query->close(); >>>>> >>>>> >>>>> Thanks in advance for any suggestions. >>>>> >>>>> Mike >>>>> _______________________________________________ >>>>> BaseX-Talk mailing list >>>>> BaseX-Talk@mailman.uni-konstanz.de >>>>> https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk >>> > _______________________________________________ BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk