Hi all, I'm trying to make sure I understand what happens in a certain pipeline 
flow using Matchers.

If you've got an embedded matcher, with further pipeline elements after it, and 
the inner matcher doesn't match, does the pipeline default to the elements 
below it?

And more to the point, if the matcher matches, do those additional elements 
after it get included in pipeline processing?  Perhaps the example will 
illuminate best:

         <map:match pattern="disseminate-package/*/*/**">
            <map:match type="request-parameter" pattern="package">
               <map:read type="DisseminationPackageReader">
                  <map:parameter name="handle" value="{../1}/{../2}"/>
                  <map:parameter name="name" value="{../3}"/>
                  <map:parameter name="package" value="{1}"/>
               </map:read>
            </map:match>
                <map:read type="DisseminationPackageReader">
                   <map:parameter name="handle" value="{1}/{2}"/>
                   <map:parameter name="name" value="{3}"/>
                </map:read>
         </map:match>

It appears to me that the DisseminationPackageReader will execute twice in the 
situation where the "package" parameter is present.  Is this true?

Shouldn't this be using a request-parameter Selector or some such mechanism to 
decide whether to use the first or the second pipeline?


--
sands fish
Software Engineer
MIT Libraries
Technology Research & Development
sa...@mit.edu<mailto:sa...@mit.edu>
E25-131




Reply via email to