AB p:invisible-xml 004
Tests p:invisible-xml (Example 4 from spec)
Test is expected to pass.
The pipeline
<p:declare-step xmlns:p="http://www.w3.org/ns/xproc"
xmlns:t="http://xproc.org/ns/testsuite/3.0" version="3.0">
<p:output port="result"/>
<p:invisible-xml>
<p:with-input port="grammar">
<p:inline content-type="text/plain">
letters: X, (A; B; C) .
A: digits .
B: digits .
C: digits .
X: "a" .
digits: ["0"-"9"]+ .
</p:inline>
</p:with-input>
<p:with-input port="source">
<p:inline content-type="text/plain">a123</p:inline>
</p:with-input>
</p:invisible-xml>
</p:declare-step>
Result
<letters xmlns:ixml="http://invisiblexml.org/NS"
xmlns:t="http://xproc.org/ns/testsuite/3.0" ixml:state="ambiguous">
<X>a</X>
<A>
<digits>123</digits>
</A>
</letters>
Schematron checks
<s:schema xmlns="http://www.w3.org/1999/xhtml"
xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:t="http://xproc.org/ns/testsuite/3.0"
queryBinding="xslt2">
<s:ns uri="http://invisiblexml.org/NS" prefix="ixml"/>
<s:pattern>
<s:rule context="/">
<s:assert test="letters">The root element is not 'letters'.</s:assert>
<s:assert test="letters/@ixml:state='ambiguous'">The root element does not have attribute 'ixml:state' with value 'ambiguous'.</s:assert>
</s:rule>
</s:pattern>
</s:schema>
Revision history
- 14 Sep 2024, Achim Berndzen
- Changed step's name to p:invisible-xml
- 25 Nov 2023, Achim Berndzen
- Initial check in.