Stefano Mazzocchi wrote: >Sylvain Wallez wrote: > > >>Hi team, >> >>We all agree to add module-based sitemap variables, but we didn't came >>to a consensus about it's syntax. So let's vote to make a choice. To >>illustrate each possible syntax, I will consider the substitution of the >>"foo" request parameter using the "request" InputModule. >> >> > >Sorry if the question has been answered previously, but where is this >"InputModule" defined? > >
What, aren't you up to date with the Cocoon source base ??? Don't worry, I also have some problems to follow the CVS logs ;) Anyway, look at org.apache.cocoon.components.modules.input in HEAD, you will find there the InputModule interface and several implementation. Basically, a module is a component that gives access to simple data elements (compared to sources which give access to large streams of data). >I'm worrying about possible namespacing issues with future cocoon >blocks. > I'm not sure there are some issues : this is used only for sitemap variable resolution, i.e. inside the "{}" syntax, and not the syntax of URLs, which is where AFAIK blocks will appear. >>Here are the various syntaxes that people have proposed so far : >> >>1 : {request:foo} >>2 : {/request:foo} >> >> > >between these I prefer #1. #2 seems to imply that the trailing path has >an effect on the use. > This was a syntactic hack proposal to avoid name clashes in the hypothetic case where a sitemap variable has a colon in its name. But this is actually solved either by forbidding it as you suggest, or by using the builtin "sitemap" module. >>3 : {module:request:foo} >>4 : {/module:request:foo} >>5 : {module://request/foo} >> >> > >what is a 'module' in this sense? > 'module' is there to denote that the information comes from a module (implementation of InputModule). I personally don't like it as it shows in the syntax some implementation details that IMO should not be there : what is important in this example is that we get the value of the "foo" request parameter and not that it is obtained by an InputModule. >between #3 and #4, the same consideration above apply. #5 is even worse: >it seems to imply an entirely new protocol and might conflict with >cocoon blocks in the future. > > > >>My +1 goes to (1) : I don't see the need to explicitly specify >>"module:", just as we don't prefix URLs with "source:" or "url:" to >>specify if they should be handled by a SourceFactory or URLFactory. And >>if one day we add another mechanism to InputModules, the choice will be >>the job of a variable resolver, just at it is today's job of the >>SourceResolver for URLs. >> >>In order to have a more formal definition of sitemap variables, I >>suggest that we consider unprefixed variables to belong to a builtin >>"sitemap" module, which can be named explicitely, for example if the >>variable name contains a colon, e.g. "{sitemap:foo:bar}". >> >> > >Much easier: force variable names *not* to contain a colon. It works for >XML elements and people using XML stuff are used to the notion of colon >as a namespaced prefixed declaration. > > That's exactly why I proposed to use a colon, as we widely use this for both URL schemes and XML namespace prefixes. 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]