cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hunsberger, Peter" <Peter.Hunsber...@STJUDE.ORG>
Subject RE: Bug? logicsheet-util.xsl and duplicate namespace declarations
Date Fri, 18 Jun 2004 20:51:07 GMT
Antonio Gallardo <agallardo@agssa.net> 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...



Mime
View raw message