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.
date
Created 16 Dec 2021 by SP
Invisible XML Grammar
date: bla, day, S, number, S, month, S, year, bla;
bla, number, S, month, S, year, bla;
bla, day, ",", S, number, S, month, S, year, bla.
day: Monday; Tuesday; Wednesday; Thursday; Friday; Saturday; Sunday.
Monday: "Mon"; "Monday".
Tuesday: "Tue"; "Tuesday".
Wednesday: "Wed"; "Weds"; "Wednesday".
Thursday: "Thu"; "Thur"; "Thurs"; "Thursday".
Friday: "Fri"; "Friday".
Saturday: "Sat"; "Saturday".
Sunday: "Sun"; "Sunday".
number: cardinal; ordinal.
cardinal: digits1, "st"; digits2, "nd"; digits3, "rd"; digits4,"th".
ordinal: digits.
-digits: digit+.
-digit: ["0"-"9"].
-digits1: "1"; digits, "1".
-digits2: "2"; digits, "2".
-digits3: "3"; digits, "3".
-digits4: digit4; digits, digit4.
-digit4: ["4"-"9"]; "0".
-bla: ; char, bla.
-char: [" "-"~"].
month: January; February; March; April; May; June; July; August; September; October; November; December.
year: digit, digit, digit, digit.
January: "January"; "Jan".
February: "February"; "Feb".
March: "March"; "Mar".
April: "April"; "Apr".
May: "May".
June: "June"; "Jun".
July: "July"; "Jul".
August: "August"; "Aug".
September: "September"; "Sept"; "Sep".
October: "October"; "Oct".
November: "November"; "Nov".
December: "December"; "Dec".
-S: " "*.
Test case: date
Repository URI: …/tests/ambiguous/test-catalog.xml
Created 16 Dec 2021 by SP
Updated 01 Jan 2022 by MSM
stripped non-significant whitespace from result
Updated 05 Feb 2022 by ndw
added alternative parse
Input string (54 characters)
The conference starts Thursday, 9th Feb 2017 at 10:00.
Expected results (one of)
<!-- AMBIGUOUS
The input from line.pos 1.1 to 1.55 can be interpreted as 'date' in 2 different ways:
1: date[1.1:]: bla[:1.23] day[:1.31] ","[:1.32] S[:1.33] number[:1.36] S[:1.37] month[:1.40] S[:1.41] year[:1.45] bla[:1.55]
2: date[1.1:]: bla[:1.33] number[:1.36] S[:1.37] month[:1.40] S[:1.41] year[:1.45] bla[:1.55]
--><date xmlns:ixml="http://invisiblexml.org/NS" ixml:state="ambiguous">The conference starts <day>
<Thursday>Thursday</Thursday>
</day>, <number>
<cardinal>9th</cardinal>
</number>
<month>
<February>Feb</February>
</month>
<year>2017</year> at 10:00.</date>
<!-- AMBIGUOUS
The input from line.pos 1.1 to 1.55 can be interpreted as 'date' in 2 different ways:
1: date[1.1:]: bla[:1.23] day[:1.31] ","[:1.32] S[:1.33] number[:1.36] S[:1.37] month[:1.40] S[:1.41] year[:1.45] bla[:1.55]
2: date[1.1:]: bla[:1.33] number[:1.36] S[:1.37] month[:1.40] S[:1.41] year[:1.45] bla[:1.55]
--><date xmlns:ixml="http://invisiblexml.org/NS" ixml:state="ambiguous">The conference starts Thursday, <number>
<cardinal>9th</cardinal>
</number>
<month>
<February>Feb</February>
</month>
<year>2017</year> at 10:00.</date>