p:choose with no default

Hi 

I'm sure I'm missing something obvious here but I'm failing to see it. I have a pipeline in which a step should be executed only if a given element is present in the input. Otherwise, nothing need be done - there is no meaningful default. So I started with:


    <!-- generate the dedication if present -->
    <p:choose>
        
        <p:xpath-context>
            <p:pipe port="result" step="text-fix"></p:pipe>
        </p:xpath-context>
        
        <p:when test="/db:book//db:dedication">
            
            <cstep:create-dedication>
                <p:input port="source">
                    <p:pipe port="result" step="text-fix"/>
                </p:input>
                <p:with-option name="xhtml-path" select="$xhtml-path"/>
            </cstep:create-dedication>
                        
        </p:when>
        
    </p:choose>

This fails with the error:

SEVERE: It is a dynamic error if no subpipeline is selected by the p:choose and no default is provided.

I assume that this a meaningful way to express this sort of thing in XProc but I'm vaguely stumped as to what is. Would anyone care to point out the (probably obvious) approach I should be taking?

cheers

nic

--
Nic Gibson
Corbas Consulting
Digital Publishing Consultancy and Training
http://www.corbas.co.uk, +44 (0)7718 906817	
	

Received on Wednesday, 6 October 2010 10:05:25 UTC