iXML Community Group Test Suite

23 Oct 2023 (22 Nov 2023)

Top-level catalog for tests in the iXML Community Group Test Suite.

Tests have been contributed from several sources, but the core of the test collection are the tests contributed by Steven Pemberton in December 2021.

Ambiguous inputs

01 Jun 2022

Tests provided by Steven Pemberton in December 2021, with corrections of 21 December. Reorganized by Norm Tovey-Walsh, February 2022.

ambig3

Created 16 Dec 2021 by SP

Invisible XML Grammar

a: "a", spaces, b.
b: spaces, "b".
spaces: " "*.

Test case: ambig3

Repository URI: …/tests/ambiguous/test-catalog.xml

Created 16 Dec 2021 by SP

Updated 30 Dec 2021 by MSM

remove trailing whitespace from input

Updated 01 Jan 2022 by MSM

remove nonsignificant whitespace from expected result

Updated 01 Jan 2022 by MSM

added the other three parses as expected results

Input string (5 characters)

a   b

Expected results (one of)

<!-- AMBIGUOUS
     The input from line.pos 1.1 to 1.6 can be interpreted as 'a' in 4 different ways:
     1: a[1.1:]:  "a"[:1.2] spaces[:1.2] b[:1.6] 
     2: a[1.1:]:  "a"[:1.2] spaces[:1.3] b[:1.6] 
     3: a[1.1:]:  "a"[:1.2] spaces[:1.4] b[:1.6] 
     4: a[1.1:]:  "a"[:1.2] spaces[:1.5] b[:1.6] 
--><a xmlns:ixml="http://invisiblexml.org/NS" ixml:state="ambiguous">a<spaces/>
   <b>
      <spaces>   </spaces>b</b>
</a>
<!-- AMBIGUOUS
     The input from line.pos 1.1 to 1.6 can be interpreted as 'a' in 4 different ways:
     1: a[1.1:]:  "a"[:1.2] spaces[:1.2] b[:1.6] 
     2: a[1.1:]:  "a"[:1.2] spaces[:1.3] b[:1.6] 
     3: a[1.1:]:  "a"[:1.2] spaces[:1.4] b[:1.6] 
     4: a[1.1:]:  "a"[:1.2] spaces[:1.5] b[:1.6] 
--><a xmlns:ixml="http://invisiblexml.org/NS" ixml:state="ambiguous">a<spaces> </spaces>
   <b>
      <spaces>  </spaces>b</b>
</a>
<!-- AMBIGUOUS
     The input from line.pos 1.1 to 1.6 can be interpreted as 'a' in 4 different ways:
     1: a[1.1:]:  "a"[:1.2] spaces[:1.2] b[:1.6] 
     2: a[1.1:]:  "a"[:1.2] spaces[:1.3] b[:1.6] 
     3: a[1.1:]:  "a"[:1.2] spaces[:1.4] b[:1.6] 
     4: a[1.1:]:  "a"[:1.2] spaces[:1.5] b[:1.6] 
--><a xmlns:ixml="http://invisiblexml.org/NS" ixml:state="ambiguous">a<spaces>  </spaces>
   <b>
      <spaces> </spaces>b</b>
</a>
<!-- AMBIGUOUS
     The input from line.pos 1.1 to 1.6 can be interpreted as 'a' in 4 different ways:
     1: a[1.1:]:  "a"[:1.2] spaces[:1.2] b[:1.6] 
     2: a[1.1:]:  "a"[:1.2] spaces[:1.3] b[:1.6] 
     3: a[1.1:]:  "a"[:1.2] spaces[:1.4] b[:1.6] 
     4: a[1.1:]:  "a"[:1.2] spaces[:1.5] b[:1.6] 
--><a xmlns:ixml="http://invisiblexml.org/NS" ixml:state="ambiguous">a<spaces>   </spaces>
   <b>
      <spaces/>b</b>
</a>