Tests that cx:ebnf-convert creates XML.
Test ebnf-convert-004.xml is expected to pass.
<p:declare-step xmlns:cx="http://xmlcalabash.com/ns/extensions" xmlns:p="http://www.w3.org/ns/xproc" name="main" version="3.0">
<p:import href="https://xmlcalabash.com/ext/library/ebnf-convert.xpl"/>
<p:output port="result" sequence="true"/>
<cx:ebnf-convert notation="ixml" xml="true">
<p:with-input port="source">
<p:inline content-type="text/plain">
S: A | B | C.
A: "a".
B: "b".
C: ().
</p:inline>
</p:with-input>
</cx:ebnf-convert>
</p:declare-step>
<s:schema xmlns:s="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2">
<s:ns prefix="g" uri="http://www.w3.org/2001/03/XPath/grammar"/>
<s:pattern>
<s:rule context="/">
<s:assert test="g:grammar">The root is wrong.</s:assert>
<s:assert test="empty(//g:production[@name='A'])">There shouldn’t be a A production.</s:assert>
<s:assert test="empty(//g:production[@name='C'])">There shouldn’t be a C production.</s:assert>
</s:rule>
</s:pattern>
</s:schema>
Created test.