This is what I get:

<?xml version="1.0" encoding="UTF-8"?>
<root><vs>
<kennung>REPLACED</kennung>
    <absatz> <fett>eins</fett>
    </absatz>
  </vs>
</root>

Do you possibly have some settings in your .basex configuration file
that I should consider? Or do you have a 'test' database with chopped
whitespaces that is opened instead of your test.xml document?



On Thu, Dec 13, 2018 at 1:43 PM Zimmel, Daniel <d.zim...@esvmedien.de> wrote:
>
> I was referring to XQuery update writeback, chop option is set to false:
>
> $ basex.bat -u -w -c"set exporter omit-xml-declaration=no,indent=no" 
> -itest.xml update.xquery
>
> update.xquery:
>
> for $c in doc(document-uri())//kennung
> return
> (replace value of node $c with "REPLACED")
>
> test.xml:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <root><vs>
> <kennung>test</kennung>
>     <absatz> <fett>eins</fett>
>     </absatz>
>   </vs>
> </root>
>
>
> Result
>
> <?xml version="1.0" encoding="UTF-8"?>
> <root><vs><kennung>REPLACED</kennung><absatz><fett>eins</fett></absatz><absatz>Test<fett>fett</fett><kursiv>kursiv</kursiv>Text
>  z.B. am 01.02.2018 Text.</absatz></vs></root>
>
>
> Saxon does not change indentation (with declare option saxon:output 
> "indent=no")
>
> > -----Ursprüngliche Nachricht-----
> > Von: Christian Grün [mailto:christian.gr...@gmail.com]
> > Gesendet: Donnerstag, 13. Dezember 2018 12:41
> > An: Zimmel, Daniel
> > Cc: BaseX
> > Betreff: Re: [basex-talk] Command line options not working with update 
> > operation
> > on input file
> >
> > > The only thing is I prefer the Saxon default about not changing anything 
> > > on
> > already existing indentation (BaseX is deleting any indentation with 
> > indent=no),
> > but I am aware this is implementation-defined.
> >
> > Existing identation is actually preserved by both BaseX and Saxon:
> >
> > declare namespace output = 
> > 'http://www.w3.org/2010/xslt-xquery-serialization';
> > declare option output:indent 'no';
> > parse-xml('<a>
> >         <b/>
> > </a>')
> >
> > Were you referring to documents with chopped whitespaces?
> >
> > Cheers
> > Christian
> >
> >
> >
> > > > -----Ursprüngliche Nachricht-----
> > > > Von: Christian Grün [mailto:christian.gr...@gmail.com]
> > > > Gesendet: Mittwoch, 12. Dezember 2018 18:47
> > > > An: Zimmel, Daniel
> > > > Cc: BaseX
> > > > Betreff: Re: [basex-talk] Command line options not working with update
> > operation
> > > > on input file
> > > >
> > > > …I think I got what you were trying to achieve! There is a separate
> > > > option for exporting databases and writing updates. This may be more
> > > > obvious now after another updates of our documentation [1].
> > > >
> > > > Here is a little self-contained BaseX call that (as I hope)
> > > > demonstrates the behavior:
> > > >
> > > > basex -u -c"set exporter omit-xml-declaration=no"
> > > > "file:write('doc.xml', <a/>)" "insert node <b/> into doc('doc.xml')/*"
> > > > "fetch:xml('doc.xml')"
> > > >
> > > > <?xml version="1.0" encoding="UTF-8"?>
> > > > <a>
> > > >   <b/>
> > > > </a>
> > > >
> > > > You can also run the following command script ("basex script.bxs"):
> > > >
> > > > set exporter omit-xml-declaration=no
> > > > set writeback on
> > > > xquery file:write('doc.xml', <a/>)
> > > > xquery insert node <a/> into doc('doc.xml')/*
> > > > xquery fetch:xml('doc.xml')
> > > >
> > > > Maybe we’ll merge these two options in a future release of BaseX.
> > > > Until then, just add an EXPORTER option to your .basex file with the
> > > > identical serialization parameters.
> > > >
> > > > Best
> > > > Christian
> > > >
> > > > [1] http://docs.basex.org/wiki/Options#WRITEBACK
> > > >
> > > >
> > > >
> > > >
> > > > On Wed, Dec 12, 2018 at 6:35 PM Christian Grün
> > > > <christian.gr...@gmail.com> wrote:
> > > > >
> > > > > > Any serialization parameter gets ignored from the command line with
> > XQuery
> > > > Update.
> > > > > >
> > > > > > Has this been solved? Is this a bug?
> > > > >
> > > > > XML declarations are never stored in the database. Instead, they will
> > > > > be added during serialization. So I’m not exactly on what you just
> > > > > tried to do. Could you please give some step-by-step instructions?

Reply via email to