Konstantin Piroumian wrote: >From: "Christian Haul" <[EMAIL PROTECTED]> > >>On 27.May.2002 -- 11:49 AM, Carsten Ziegeler wrote: >> >>>Konstantin Piroumian wrote: >>> >>>>Hi alls! >>>> >>>>While inspecting the Forrest's sitemap >>>>(src/documentation/conf/sitemap.xmap) >>>>I've found several lines that are using Ant substitution params like: >>>><map:transform src="skins/@skin@/xslt/html/{type}.xsl">. >>>> >>>>Won't it be better to have parameters at the top level in sitemap that >>>> >can > >>>>be set externally, just as it is done in XSLT? So, those skin >>>>parameters can >>>>be set like this: >>>> >>>><map:sitemap ...> >>>> <map:parameter name="skin">forrest-skin</map:parameter> >>>>... >>>> >>>> <map:transform src="skins/{../skin}/xslt/html/{type}.xsl"> >>>>... >>>></map:sitemap> >>>> >>>>This parameters can be defined when Cocoon is called from the command >>>> >line > >>>>as command line arguments. Though, I have no idea how these parameters >>>> >can > >>>>be set when running Cocoon as servlet, maybe 'cocoon-param' request >>>>parameters can be used. >>>> >>>>Are there any technical difficulties in implementing this? Any >>>> >comments, > >>>>suggestions? >>>> >>>I would suggest to have these parameters as a configuration of the >>>map:pipelines >>>section, rather than the complete sitemap. >>> >>Hi, >> >>could this be relevant to your discussion (I'm sneaking in 'cause I >>saw Carsten's cross post to cocoon-dev)? >> >>http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=102249009904928&w=2 >> > >I've seen that discussion, but had problems with mail server and couldn't >join to it. > >My proposal is a little different. While input modules provide a way to >_get_ variable values from different sources (sitemap, request, etc.), my >need is to _set_ global parameters for the sitemap to avoid things like >@skin@ in matcher patterns, etc. Of course these params can be used as >"sitemap:param-name" everywhere when needed. The above example would look >like: > ><map:transform src="skins/{sitemap:skin}/xslt/html/{type}.xsl">. > >Behavior can be the same as for the XSLT params: if a value is specified >externally (from command line or request params) then it's used, otherwise >the default value is used that is specified in declaration of the parameter: > ><map:parameter name="skin" value="forrest-skin" /> > >Konstantin >
Konstantin, see my proposal on the "InputModule for variable substitution thread" at http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=102267878917025 where I make a proposal about this. We also have to decide where the value for these variables is defined. There are two locations for this : - in the mount instruction in the parent sitemap : <map:mount prefix="sub/"> <map:parameter name="skin" value="fancy"/> </map:mount> - in the sitemap itself (proposed by Carsten with a sligthly different syntax) <map:pipeline> <map:parameter name="skin" value="forrest"/> <map:match pattern="/"> ... Just as what's in use for both XSLT parameters and Ant properties, an externally-defined variable (defined in <map:mount>) would take precedence over a locally-defined one. Thus in the above examples, "fancy" will be used in the mounted sitemap instead of "forrest". Thoughts ? Sylvain -- Sylvain Wallez Anyware Technologies Apache Cocoon http://www.anyware-tech.com mailto:[EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]