Tests that cx:existdb runs against Elemental. This is really just a smoke test for the Elemental container.
Test elemental-001.xml is expected to pass.
It requires the following features: elemental.
<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/exist-db.xpl"/>
<p:output port="result" sequence="true"/>
<!-- By default eXist DB and Elemental have to use different ports. The
mechanism for changing the ELEMENTAL option only works in CI. -->
<p:option name="ELEMENTAL" select="'http://elemental:8090'" static="true"/>
<cx:exist-db database-uri="{$ELEMENTAL}/exist/rest/db/" query-parameters="map{'cache':'yes'}">
<p:with-input>
<p:empty/>
</p:with-input>
<p:with-input port="query">
<p:inline content-type="text/plain">
<doc>{{3 + 4}}</doc>
</p:inline>
</p:with-input>
</cx:exist-db>
</p:declare-step>
<s:schema xmlns:s="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2">
<s:ns prefix="exist" uri="http://exist.sourceforge.net/NS/exist"/>
<s:pattern>
<s:rule context="/">
<s:assert test="exist:result">The root is wrong.</s:assert>
<s:assert test="exist:result[@exist:session]">No session.</s:assert>
<s:assert test="exist:result/doc[. = '7']">The doc is wrong.</s:assert>
</s:rule>
</s:pattern>
</s:schema>
Created test.