- From: Steven Pemberton <steven.pemberton@cwi.nl>
- Date: Tue, 09 May 2023 13:42:01 +0000
- To: John Lumley <john@saxonica.com>, public-ixml@w3.org
- Message-Id: <1683639676928.2812230846.3869781848@cwi.nl>
On Tuesday 09 May 2023 15:31:06 (+02:00), John Lumley wrote:
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.
My mistake. It should be a: -"a".
Steven
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:42:08 UTC