On 12.Jul.2002 -- 08:42 AM, Vadim Gritsenko wrote:
> > From: Christian Haul [mailto:[EMAIL PROTECTED]]
> >       {
> >          org.apache.cocoon.components.parser.Parser newParser = null;
> >          try {
> >             newParser = (org.apache.cocoon.components.parser.Parser)
> > this.manager.lookup(org.apache.cocoon.components.parser.Parser.ROLE);
> >             XSPUtil.include(this.resolver.resolve(<xsl:copy-of
> > select="$source-uri"/>).getInputSource(), this.contentHandler,
> newParser);
> 
> Ooooh, no! Sorry Chris, but why the hell parse source twice???
> 
> My thinking here is that everywhere else Cocoon uses resolver to
> resolver URIs (and factory is deprecated). Thus, include-source is not
> needed and include-uri has to be refactored.
> 
> 
> >           } catch (Exception e) {
> >               getLogger().error("Could not include source", e);
> >           } finally {
> >               if (newParser != null) this.manager.release((Component)
> > newParser);
> >           }
> >       }

OK, gimme a hint: why does the following result in no output at all while the
other one works fine?

    public static void includeSource(String uri, String base, SourceResolver resolver, 
ContentHandler contentHandler) 
        throws RuntimeException {
        
        if (base != null) base = (base != "" ? base : null);
        Source source = null;
        try {
            source = resolver.resolveURI(uri, base, null);
            resolver.toSAX(source, contentHandler);
          } catch (Exception e) {
              throw new RuntimeException("Error including source "+uri+" 
"+base+":"+e.getMessage());
          } finally {
              if (source != null)
                 resolver.release(source);
          }
    }

Oh, of course I couldn't find an error message anywhere.

        Chris.
-- 
C h r i s t i a n       H a u l
[EMAIL PROTECTED]
    fingerprint: 99B0 1D9D 7919 644A 4837  7D73 FEF9 6856 335A 9E08


---------------------------------------------------------------------
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