Selects the first of a set of Resources (usually files) that exists in the context.
The 'test' expression is interpreted as a context-rooted ('/' = context) path, resolved by the servlet container, not a Source.
A parameter,
<map:parameter src="prefix" value="/"/>
may be supplied to the selector instance. This prefix is prepended to all test expressions before evaluation. The default prefix is '/', meaning that all expressions are context root-relative, unless explicitly overridden.
For example, we could define a ResourceExistsSelector with:
<map:selector name="resource-exists" logger="sitemap.selector.resource-exists" src="org.apache.cocoon.selection.ResourceExistsSelector" />
And use it to build a PDF from XSL:FO or a higher-level XML format with:
{{{<map:match pattern="**.pdf">
<map:select type="resource-exists">
<map:when test="content/xdocs/{1}.fo">
<map:generate src="content/xdocs/{1}.fo" />
</map:when>
<map:otherwise>
<map:generate src="content/xdocs/{1}.xml" />
<map:transform src="stylesheets/document2fo.xsl" />
</map:otherwise>
</map:select>
<map:serialize type="fo2pdf" />
}}}