Tests p:directory-list with an http URI using the files style.
Test http-directory-list-003.xml is expected to pass.
It requires the following features: http-collector or p:directory-list.
<p:declare-step xmlns:c="http://www.w3.org/ns/xproc-step" xmlns:p="http://www.w3.org/ns/xproc" version="3.0">
<p:output port="result"/>
<p:option name="WHOST" select="'http://localhost:8246'" static="true"/>
<p:directory-list xmlns:cx="http://xmlcalabash.com/ns/extensions" path="{$WHOST}/docs/web/index.html" max-depth="unbounded" cx:http-parameters="map{'style':'files'}"/>
</p:declare-step>
<s:schema xmlns="http://www.w3.org/1999/xhtml" xmlns:s="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2">
<s:ns uri="http://www.w3.org/ns/xproc-step" prefix="c"/>
<s:pattern>
<s:rule context="/">
<s:assert test="c:directory">Root element is not c:directory.</s:assert>
</s:rule>
</s:pattern>
<s:pattern>
<s:rule context="/c:directory">
<s:assert test="count(*) = count(c:file)">Non file entries</s:assert>
<s:assert test="count(c:file) = 7">Wrong number of file entries</s:assert>
<s:assert test="c:file/@name='index.html'">No index.html</s:assert>
<s:assert test="base-uri(c:file[@name='index.html']) = 'http://localhost:8246/docs/web/index.html'">Base uri for index.html is incorrect.</s:assert>
<s:assert test="c:file/@name='style.css'">No style.css</s:assert>
<s:assert test="base-uri(c:file[@name='style.css']) = 'http://localhost:8246/docs/web/css/style.css'">Base uri for style.css is incorrect.</s:assert>
<s:assert test="c:file/@name='script.js'">No script.js</s:assert>
<s:assert test="base-uri(c:file[@name='script.js']) = 'http://localhost:8246/docs/web/js/script.js'">Base uri script.js for is incorrect.</s:assert>
<s:assert test="c:file/@name='web.html'">No web.html</s:assert>
<s:assert test="base-uri(c:file[@name='web.html']) = 'http://localhost:8246/docs/web/web.html'">Base uri for web.html is incorrect.</s:assert>
<s:assert test="c:file/@name='a.html'">No a.html</s:assert>
<s:assert test="base-uri(c:file[@name='a.html']) = 'http://localhost:8246/docs/web/html/a.html'">Base uri for a.html is incorrect.</s:assert>
<s:assert test="c:file/@name='b.html'">No b.html</s:assert>
<s:assert test="base-uri(c:file[@name='b.html']) = 'http://localhost:8246/docs/web/html/b.html'">Base uri for b.html is incorrect.</s:assert>
<s:assert test="c:file/@name='c.html'">No c.html</s:assert>
<s:assert test="base-uri(c:file[@name='c.html']) = 'http://localhost:8246/docs/web/html/c.html'">Base uri for c.html is incorrect.</s:assert>
</s:rule>
</s:pattern>
</s:schema>
Initial commit.