> From: Per Kreipke [mailto:[EMAIL PROTECTED]]
> 
> > > If I do the following in an XSP, the CInclude transformer doesn't
> > > recognize
> > > the cinclude:include element because it has no namespace
> > > associated with it.
> > >
> > > <xsp:element name="cinclude:include">
> >
> > This is incorrect.
> 
> Of course. I thought it might take it from the a parent XSP element
> but it doesn't.
> 
> > >   <xsp:attribute
> > > name="src"><xsp:expr>strURL</xsp:expr></xsp:attribute>
> > > </xsp:element>
> > >
> > >
> > > I had to change it to be:
> > >
> > > <xsp:element name="cinclude:include" prefix="cinclude"
> > > uri="http://apache.org/cocoon/include/1.0";>
> >
> > This is also not ok. Should be:
> >
> > <xsp:element name="include" prefix="cinclude"
> > uri="http://apache.org/cocoon/include/1.0";>
> 
> Yep, you're right of course, copy/paste sloppiness.
> 
> > >   <xsp:attribute
> > > name="src"><xsp:expr>strURL</xsp:expr></xsp:attribute>
> > > </xsp:element>
> > >
> > >
> > > In the second example, the condition where I forget to include 
> > > both @prefix
> > > and @uri, I get an error. But in the first example, there's 
> > > no error even
> > > though cinclude:include is an invalid XML element name without 
> > > a namespace.
> > >
> > > xsp.xsl would need an extra check.
> >
> > It will not be efficient to do this, because this check must be made
at
> > run time, and every time. I guess you have not considered that this
is
> > possible:

Forgot to add @name:

> > <xsp:element prefix="cinclude"
> > uri="http://apache.org/cocoon/include/1.0";>
> >   <xsp:param name="name"><xsp:logic>"incl" +
"ude"</xsp:logic></xsp:param>
> > </xsp:element>
> [aside: is <xsp:param> a real thing?]

Now it's real.


> I see you're point. But I'm willing to let that case go for efficiency
as
> long as we protect the beginner from naiive mistakes like
> name="cinclude:include". Just testing for ':' within @name would help
> prevent highlight their error instead of doing nothing at all.

Ok.

> It turns out that the CIncludeTransformer (correctly) skips the
element
> completely (because the namespace URI isn't applied to the element)
but when
> you examine the XML, it's not at all apparent, especially if you've
added
> the cinclude namespace at the top. Instead, the cinclude:include
element
> continues to appear in the output, no matter what you do to the
sitemap,
> mistakenly thinking that the transformer isn't being executed.

:)

Vadim


> Per


---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
For additional commands, e-mail:   <[EMAIL PROTECTED]>

Reply via email to