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.
Tests producing parse trees
22 Nov 2022
Tests provided by Steven Pemberton in December 2021, with corrections of 21 December. Reorganized by Norm Tovey-Walsh, February 2022.
ixml tests
Created 16 Dec 2021 by SP
Updated 21 Dec 2021 by SP
Corrected input, grammar, or output for 5 tests
Updated 30 Dec 2021 by MSM
Updated catalog, corrected many tests.
Updated 30 May 2022 by MSM
Add whitespace-and-delimiters test sets.
vcard
Created 16 Dec 2021 by SP
Invisible XML Grammar
card: -"BEGIN:", name, eoln, property+, -"END:", endname, eoln.
property: name, parameters, -":", attribute++-";", -eoln.
parameters: (-";", parameter)*.
parameter: name, -"=", pvalue.
@pvalue: ~[";:"; #a; #d]+.
attribute: value.
@value: achar*.
-achar: ~["#;"; #a; #d].
@name: ["a"-"z"; "A"-"Z"]+.
@endname: name.
-eoln: -#a | -#d, -#a.
Test case: vcard
Repository URI: …/tests/correct/test-catalog.xml
Created 16 Dec 2021 by SP
Updated 30 Dec 2021 by MSM
stripped non-significant whitespace from result
Input string (233 characters)
BEGIN:VCARD
VERSION:3.0
N:Lastname;Surname
FN:Displayname
ORG:EVenX
URL:http://www.evenx.com/
EMAIL:info@evenx.com
TEL;TYPE=voice,work,pref:+49 1234 56788
ADR;TYPE=intl,work,postal,parcel:;;Wallstr. 1;Berlin;;12345;Germany
END:VCARD
Expected result
<card name="VCARD" endname="VCARD">
<property name="VERSION">
<parameters/>
<attribute value="3.0"/>
</property>
<property name="N">
<parameters/>
<attribute value="Lastname"/>
<attribute value="Surname"/>
</property>
<property name="FN">
<parameters/>
<attribute value="Displayname"/>
</property>
<property name="ORG">
<parameters/>
<attribute value="EVenX"/>
</property>
<property name="URL">
<parameters/>
<attribute value="http://www.evenx.com/"/>
</property>
<property name="EMAIL">
<parameters/>
<attribute value="info@evenx.com"/>
</property>
<property name="TEL">
<parameters>
<parameter name="TYPE" pvalue="voice,work,pref"/>
</parameters>
<attribute value="+49 1234 56788"/>
</property>
<property name="ADR">
<parameters>
<parameter name="TYPE" pvalue="intl,work,postal,parcel"/>
</parameters>
<attribute value=""/>
<attribute value=""/>
<attribute value="Wallstr. 1"/>
<attribute value="Berlin"/>
<attribute value=""/>
<attribute value="12345"/>
<attribute value="Germany"/>
</property>
</card>