- From: John Lumley <john@saxonica.com>
- Date: Tue, 9 May 2023 14:31:06 +0100
- To: public-ixml@w3.org
- Message-ID: <58528165-6ec7-d9b9-a8a8-2dfbe16f71d9@saxonica.com>
On 09/05/2023 11:43, Steven Pemberton wrote:
> Ran into a bug while giving the tutorial, (and another bug while
> writing this mail) so probably need tests:
>
> Test 1
>
> ixml:
>
> data: a, " ", a, " ", a.
> -a: -" ".
>
> input:
> a a a
On my processor (https://johnlumley.github.io/jwiXML.xhtml) the input 'a
a a' gives an error, as it should, since 'a' never appears as a terminal.
With five spaces (' ') it produces <data> </data> (two spaces) if
indentation is supressed (not available yet on the public workbench),
<data/> if indentation supported.
The result on my processor is displayed in a <pre> whose text is
fn:serialize($result,map{'indent':true()}) and reading the XQuery and
XSLT Serialization
Recommendation suggests that with indentation enabled in XML output
mode, it is an implementation decision as to whether
Whitespace characters *MAY* be added adjacent to a text node only if
the text node contains only whitespace characters. Whitespace
characters in such a text node *MAY* also be elided or replaced. For
example, a tab *MAY* be inserted as a replacement for existing spaces.
I can't find a definition of 'elided' here (does it encompass 'delete
completely' or is it purely 'shortened'?) but by disabling the
indentation, the whitespace characters do appear along with the closing
tag. However, I think that most users would prefer to look at a
1000-part XML tree under indentation, so I'm adding an option to disable
the indentation if needed.
The same remarks apply to the second test.
>
> expected output:
>
>
> <data> </data>
>
>
> (The bug displayed this as <data/>)
>
> Test 2:
>
> data: +" ".
>
> No input
>
> Expected output
>
>
> <data> </data>
>
> Steven
>
Received on Tuesday, 9 May 2023 13:31:32 UTC