Some good news, I managed to get the include working when adding the files (either the minimized ones or my own files) using a command line or the basexGUI.
Unfortunately, i still have the error message when using the web interface (which is the only one I was using initially) and cannot figure out why. Pascal De : Christian Grün <christian.gr...@gmail.com> Envoyé : jeudi 18 février 2021 17:01 À : pascaljoub...@gmail.com Cc : BaseX <basex-talk@mailman.uni-konstanz.de> Objet : Re: [basex-talk] BaseX, xinclude and xpointer Nevertheless, I have strange warnings : Which of our distributions are you using? With the ZIP distribution, all libraries should be correctly added to the classpath. But I guess that won't solve your xinclude issue. Maybe you can find out more by comparing my minimized example with your setup. Cheers, Christian [warning] /usr/bin/basex: Unable to locate /usr/share/java/tagsoup.jar in /usr/share/java [warning] /usr/bin/basex: Unable to locate /usr/share/java/xml-resolver.jar in /usr/share/java [warning] /usr/bin/basex: Unable to locate /usr/share/java/jing.jar in /usr/share/java Could that be the cause of my problems when adding files to the database ? Thanks for the other answers. Pascal -----Message d'origine----- De : Christian Grün <christian.gr...@gmail.com <mailto:christian.gr...@gmail.com> > Envoyé : jeudi 18 février 2021 11:11 À : pascaljoub...@gmail.com <mailto:pascaljoub...@gmail.com> Cc : BaseX <basex-talk@mailman.uni-konstanz.de <mailto:basex-talk@mailman.uni-konstanz.de> > Objet : Re: [basex-talk] BaseX, xinclude and xpointer Hi Pascal, > My problem is that the referenced document IS NOT included at all if i remove > the xpointer attribute (I have the same error message). As it works on your > side, I guess my baseX installation is not good. I think I'll have a look at > that. Here’s a minimized test case on command line. Do you still get the same error for that one? doc.xml: <main xmlns:xi="http://www.w3.org/2001/XInclude"> <xi:include href="include.xml"/> </main> include.xml: <include/> Query: > basex "doc('doc.xml')" <main xmlns:xi="http://www.w3.org/2001/XInclude"> <included xml:base="include.xml"/> </main> Ideally, the include should work no matter if fn:doc is called or if a new database is created (at least with OpenJDK). > One more question : I understand that baseX "resolves" the xinclude when > adding the file into the database. But later, if I change the source files > (the ones I call from the main one), will the main file be changed > dynamically ? or do I need to reload this main file to baseX to perform the > xinclude operations again ? You’ll need to reload the file. The references will be fully resolved, and the file will get embedded in the mail file. > If answer 2, I guess I could just resolve the xinclude before loading into > baseX (in a dedicated xsl) and load the result in baseX, would it make a > difference ? Absolutely. Or you can do everything in XQuery. Here’s one quick’n’dirty solution to achieve that: declare namespace xi = 'http://www.w3.org/2001/XInclude'; declare option db:xinclude 'false'; let $doc := doc('EV.xml') update { for $inc in .//xi:include let $id := replace($inc/@xpointer, '.*\(|\)', '') let $included-doc := doc($inc/@href) return replace node $inc with id($id, $included-doc) } return ( $doc (: write to database... db:create('db', $doc, 'doc.xml') :) (: write back to file... file:write('doc.xml', $doc) :) ) If you want to work with documents in the database, the doc() calls can e.g. be replaced with db:open('db', 'doc.xml') calls. Hope this helps, Christian On 2/17/21, pascaljoub...@gmail.com <mailto:pascaljoub...@gmail.com> <pascaljoub...@gmail.com <mailto:pascaljoub...@gmail.com> > wrote: > Hi Christian, > Yes ideally I was hoping for the xpointer to work but I read in > previous posts that instead of a named element [element(EP15)], i > could use descendent path notation [element(1/2/1/1)] and that it > should work. That's not ideal but in my case, I think it will work > (all the files are structured in a very similar way). > https://mailman.uni-konstanz.de/pipermail/basex-talk/2015-April/008607 > .html My problem is that the referenced document IS NOT included at > all if i remove the xpointer attribute (I have the same error > message). As it works on your side, I guess my baseX installation is > not good. I think I'll have a look at that. > > One more question : I understand that baseX "resolves" the xinclude > when adding the file into the database. But later, if I change the > source files (the ones I call from the main one), will the main file > be changed dynamically ? or do I need to reload this main file to > baseX to perform the xinclude operations again ? > If answer 2, I guess I could just resolve the xinclude before loading > into baseX (in a dedicated xsl) and load the result in baseX, would it > make a difference ? > > Thanks > Pascal > > -----Message d'origine----- > De : Christian Grün <christian.gr...@gmail.com > <mailto:christian.gr...@gmail.com> > Envoyé : mercredi 17 > février 2021 19:18 À : pascaljoub...@gmail.com > <mailto:pascaljoub...@gmail.com> Cc : BaseX > <basex-talk@mailman.uni-konstanz.de > <mailto:basex-talk@mailman.uni-konstanz.de> > > Objet : Re: [basex-talk] BaseX, xinclude and xpointer > > Hi Pascal, > > Thanks for the sample files. The error you reported is returned by > Java’s default XML parser (the one from Xerces), so I guess we can’t > resolve that easily unless the XPointer support is improved in a future > version of Java. > As you may have seen, the referenced document will be fully included > if you remove the xpointer attribute, but that’s probably not what you need. > > Out of interest, I checked if Saxon can handle XPointer attributes. As > it relies on the default parser as well, it returns the same error > message as BaseX. > > I remember there have been previous posts on that issue; e.g here [1]. > > Sorry for that! > Christian > > [1] > https://mailman.uni-konstanz.de/pipermail/basex-talk/2015-June/009021. > html > > > > On Wed, Feb 17, 2021 at 10:03 AM Christian Grün > <christian.gr...@gmail.com <mailto:christian.gr...@gmail.com> > > wrote: >> >> > When I add the file into BaseX I now have the following message >> > when adding the main file into BaseX. >> > >> > > An include with href 'EP15.xml'failed, and no fallback element >> > > was found. >> >> Feel free to send us/me the files in question, I can have a look at that. > >