Ivelin,

Thank you for spearheading this!

I am currently moving my code to Saxon to improve performance; it's
quite a bit more painful than I thought--will post my observations
shortly.

Point being XSLT performance is really important as you have been
saying, and thanks for getting this moving.

Stephen Ng
Lumigent

> -----Original Message-----
> From: Ivelin Ivanov [mailto:[EMAIL PROTECTED]] 
> Sent: Tuesday, May 21, 2002 9:33 AM
> To: [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
> Cc: [EMAIL PROTECTED]
> Subject: Re: XSLTC and Cocoon
> 
> 
> 
> Folks,
> 
> 
> The XSLTC team is trying to resolve the issues preventing 
> XSLTC from being used in Cocoon.
> 
> Please see below the problem they got into and try to help, 
> if you can.
> 
> 
> 
> BTW, Tom,
> 
> I think I can safely suggest that you post further issues 
> related to Cocoon directly to the dev list. It is of common 
> interest that XSLTC gets in Cocoon.
> 
> 
> Regards,
> 
> Ivelin
> 
> 
> ----- Original Message -----
> From: "Tom Amiro" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>; "Ivelin Ivanov" 
> <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
> Sent: Monday, May 20, 2002 2:34 PM
> Subject: Re: XSLTC and Cocoon
> 
> 
> > Hi,
> >
> > After modifying ./documentation/stylesheets/book2menu.xsl so XSLTC 
> > could compile it, I got to the next problem, which doesn't 
> appear to 
> > be XSLTC related.
> >
> > After bringing up the http://localhost:8080/cocoon and 
> clicking on the 
> > Documentation link, it throws
> >
> >    java.lang.NullPointerException
> >         at
> org.apache.cocoon.components.notification.DefaultNotifyingBuil
> der.build(Defa
> ultNotifyingBuilder.java:111)
> >         at
> org.apache.cocoon.components.notification.DefaultNotifyingBuil
> der.build(Defa
> ultNotifyingBuilder.java:170)
> >         at
> org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.
> java:1083)
> >         at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> >         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Application
> FilterChain.java:247)
> >         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilterCh
> ain.java:193)
> >
> > The error happens in a block that traps a SAXParserException on the
> following line of
> > code
> >
> > n.addExtraDescription("location",     sourceLocator.getSystemId());
> >
> > What do you suggest you/we do to get further?
> >
> > --
> >  Tom Amiro -- SQA Engineer
> >  Sun XML Technology Development
> >  voice: 781-442-0589 Fax: 781-442-1437
> >  eMail: tom.amiro@.sun.com
> >
> > Tom Amiro wrote:
> > >
> > > Stefano and Ivelin,
> > >
> > > I was able to use the war file you sent us -- as you suggested in 
> > > the following quote -- to investigate the problems with XSLTC.
> > >
> > > > Since many bugs that I find in xsltc aren't simply 
> reproducible by 
> > > > running the scripts from command line, I prepared a WAR 
> file with 
> > > > a prebuild Cocoon that uses Xalan XSLTC as the XSLT 
> processor for 
> > > > some parts of it.
> > > >
> > > > 1) the /status page
> > > > 2) the /documentation/* pages
> > > >
> > > > You can find the WAR package here:
> > > >
> > > >  
> > > > 
> http://www.apache.org/~stefano/dist/cocoon_with_xsltc-20020420.war
> > > >
> > > > To install it on your servlet container of choice follow the 
> > > > instructions at:
> > >
> > > Note, I replaced the version of the XSLTC jar in the war 
> file with 
> > > the latest version of xsltc.jar.
> > >
> > > When I click on the documentation link, the following error is 
> > > thrown
> > >
> > >    java.lang.VerifyError: (class: book2menu, method: 
> applyTemplates
> signature:
> > >
> (Lorg/apache/xalan/xsltc/DOM;Lorg/apache/xalan/xsltc/NodeItera
> tor;Lorg/apach
> e/xalan/xsltc/TransletOutputHandler;)V)
> > >    Unable to pop operand off an empty stack
> > >         at java.lang.Class.newInstance0(Native Method)
> > >         at java.lang.Class.newInstance(Class.java:232)
> > >         at
> org.apache.xalan.xsltc.trax.TemplatesImpl.getTransletInstance(
> TemplatesImpl.
> java:234)
> > >         at
> org.apache.xalan.xsltc.trax.TemplatesImpl.newTransformer(Templ
> atesImpl.java:
> 259)
> > >         at
> org.apache.xalan.xsltc.trax.TransformerFactoryImpl.newTransfor
> merHandler(Tra
> nsformerFactoryImpl.java:588)
> > >         at
> org.apache.cocoon.components.xslt.XSLTProcessorImpl.getTransfo
> rmerHandler(XS
> LTProcessorImpl.java:241)
> > >         at
> org.apache.cocoon.transformation.TraxTransformer.setup(TraxTra
> nsformer.java:
> 306)
> > >
> > > Looking at book2menu.xsl, there was an error the 
> stylesheet. It had
> > >
> > >      <xsl:stylesheet 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
> > >            xmlns:NetUtils="org.apache.cocoon.util.NetUtils"
> > >
> > > but the url for the external java function should be
> > >
> > >
> xmlns:NetUtils="http://xml.apache.org/xslt/java/org.apache.coc
> oon.util.NetUt
> ils"
> > >
> > > XSLTC couldn't compile the stylesheet because of this 
> syntax error.
> > >
> > > After correcting the stylesheet, XSLTC still has a problem with
> > >
> > >      <xsl:variable name="encLabel"
> select="NetUtils:encodePath(@label)"/>
> > >
> > > because @label is of type nodeset and NetUtils.java 
> expects a string 
> > > as
> show in the snippet below
> > >
> > >      * @param path the path to encode
> > >      * @return the encoded path
> > >      */
> > >      public static String encodePath(String path) {
> > >
> > > So you need to cast the @label nodest to a string, e.g.,
> > >
> > >      <xsl:variable name="encLabel"
> select="NetUtils:encodePath(string(@label))"/>
> > >
> > > It doesn't look like encLabel is even used.
> > >
> > > I'll see what happens next after changing book2menu to 
> get past this
> problem.
> > > Just wanted to let you know that we are working on it.
> > >
> > > --
> > >  Tom Amiro -- SQA Engineer
> > >  Sun XML Technology Development
> > >  voice: 781-442-0589 Fax: 781-442-1437
> > >  eMail: tom.amiro@.sun.com
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, email: [EMAIL PROTECTED]
> 
> 

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

Reply via email to