Antonio Gallardo <[EMAIL PROTECTED]> writes:

> 
> Andreas Hartmann dijo:
> > Hi Cocoon developers,
> >
> > if an input module namespace is declared twice, e.g.
> >
> >    xmlns:xsp-input="http://apache.org/cocoon/xsp/input/1.0";
> >    xmlns:input="http://apache.org/cocoon/xsp/input/1.0";
> >
> > and <input:param> is used for a required parameter:
> >
> >    <input:get-attribute>
> >      <input:param name="name">foo</input:param>
> >      <input:param name="module">list</input:param>
> >    </input:get-attribute>
> >
> > a ProcessingException is thrown, because the template 
> > "get-namespace-prefix" in logicsheet-util.xsl is matching the first 
> > namespace declaration and does not find any parameter tags for this 
> > namespace prefix.
> >
> > I think it is not a good practise to rely on namespace prefixes. 
> > Wouldn't it be possible to use just the namespace URIs to 
> resolve the 
> > parameter?
> 
> The sample is weird and perhaps a bad practice, but if it is 
> allowed, it must be allowed. I made a test. Xerces allow the 
> code you wrote above. I made a similar change on another page 
> (non XSP) and xerces allow that.
 
IIRC the namespace spec. pretty explicitly says you shouldn't ever rely
on namespace prefixes, you always have to use the  URI for comparison
purposes.  For example, nothing stops you from aggregating two sources
of XML where the prefix for the same namespace is different.  As such,
the example may be weird, but I don't think it's bad practice...


Reply via email to