Hi Andy,

> Can the WebDAV serialization be set independently of the default, in
> web.xml?

The defaults for whitespace chopping and serialization can only be
assigned globally for all features of BaseX. Did you try to set both
'org.basex.chop' and 'org.basex.serializer' in web.xml / does it
introduce other unwanted side effects?

Cheers,
Christian


> /Andy
>
> On 7 August 2017 at 09:57, Christian Grün <christian.gr...@gmail.com> wrote:
>>
>> Dear Ottid,
>>
>> Thanks for providing us with the helpful example, which helped me to
>> understand the problem.
>>
>> >> replace /a <root xml:space="preserve"><a><b>foo</b></a> bar</root>
>> > "a.xml" (Line 1): Open quote is expected for attribute "xml:space"
>> > associated with an  element type  "root".
>>
>> Just a side note: Command-line parsing is restrictive when it comes to
>> replacing XML. The reason is that is possible to send multiple
>> commands in a single line, as shown in the following example:
>>
>>   create db db; replace /a <a/>; xquery .
>>
>>
>> >> xquery /root
>> > <root><a><b>foo</b></a> bar</root>
>>
>> You may be surprised to hear that whitespaces in your document were
>> actually chopped, and that the whitespaces are  added by the
>> serializer, because the "indent" serialization parameter is by default
>> set to "yes".
>>
>> It was surprised to see that no one else pointed at this so far, and
>> that was not mentioned in our documentation, so I have just added some
>> explanatory lines [1,2].
>>
>> Some more technical background:
>>
>> If you call BaseX the "info storage" command, you will see which XML
>> nodes are stored in the document:
>>
>> > set chop on;create db db <a> </a>; info storage
>> CHOP: true
>> Database 'db' created in 11.0 ms.
>> PRE  DIS  SIZ  ATS  ID  NS  KIND  CONTENT
>> -----------------------------------------
>>   0    1    2    1   0   0  DOC   db.xml
>>   1    1    1    1   1   0  ELEM  aIf
>>
>> > set chop off;create db db <a> </a>; info storage
>> CHOP: false
>> Database 'db' created in 20.12 ms.
>> PRE  DIS  SIZ  ATS  ID  NS  KIND  CONTENT
>> -----------------------------------------
>>   0    1    3    1   0   0  DOC   db.xml
>>   1    1    2    1   1   0  ELEM  a
>>   2    1    1    1   2   0  TEXT
>>
>> Serialization indentation was a chosen as default because it goes hand
>> in hand with the CHOP option. It even works fine if CHOP is disabled
>> if a document has whitespaces included (in which case no whitespaces
>> will be added by the serialized). But it may definitely cause
>> undesirable output if a document contains no superfluous whitespaces,
>> such as in your case.
>>
>> Hope this helps,
>> Christian
>>
>> [1] http://docs.basex.org/wiki/Options#CHOP
>> [2] http://docs.basex.org/wiki/Full-Text#Mixed_Content
>
>

Reply via email to