Yesterday, I had a closer look upon COCOON3-103. Here is a better restatement of the problem: The "ObjectModel" keeps hold of the sitemap parameters and other variables. In SitemapParametersStack, a series of parameters is pushed upon the stack - whenever a 'pattern match ' occurs (map:match element) - when a "when" condition matches
Here is a simple case that does not work: <map:match name="matcherOne" pattern="selecttest/{para1}"> <map:generate src="static/lyrics/le_bistrot.xml"/> <map:select value="{map:para1}"> <map:when equals="one"> <map:transform src="xslt/song.xsl"> <map:parameter name="para1" value="{map:para1}"/> </map:transform> <map:serialize type="html"/> </map:when> <map:otherwise> <map:serialize type="xml"/> </map:otherwise> </map:select> </map:match> The trouble is with "getParameter" of SitemapParametersStack: - in this case, there is a match for relativeParameterMatcher, but subsequently the variable "level" is not correctly computed and only the last entry is taken to hold the parameter. I can fix that, so that parameters always get matched if they are on the stack, but my real question is: what is meant to happen? Is there a "scope" foreseen for sitemap parameters? Is there an 'absolute' and a 'relative' matching, are notations foreseen that look like: bla/blu or ../../../bla and what with /{justAName} ? In any case, this mechanism does not work for the moment. If you folks can explain me what the idea is, I can gladly provide a patch. I have nothing to do these days. Cheers, Jos