On Fri, 01 Jun 2001 09:20:44 +0200, "Carsten Ziegeler" wrote: >I just checked some ideas to make it at least work, but unfortunalety >Xalan prevents us from a working version. >So, to avoid any problems with the XSL specification, we can't use >the cocoon urls in xsl:include etc for now. When the problem in Xalan >is fixed, we can use it. Hi Carsten, I think I found a solution to this ... I'm not so certain anymore that this is a xalan issue. I've attached a patch that through some preliminary testing seems to work. It hasn't been extensively tested by any means since I'm not aware of all the issues surrounding the URIResolver bits. This fix basically includes the URI along with the InputStream in returning the javax.xml.transform.stream.StreamSource from the resolve() method. With this, the "base" parameter is no longer being passed in as null.
Index: src/org/apache/cocoon/transformation/TraxTransformer.java =================================================================== RCS file: /home/cvspublic/xml-cocoon2/src/org/apache/cocoon/transformation/TraxTransformer.java,v retrieving revision 1.15 diff -u -r1.15 TraxTransformer.java --- src/org/apache/cocoon/transformation/TraxTransformer.java 2001/06/01 06:19:56 1.15 +++ src/org/apache/cocoon/transformation/TraxTransformer.java 2001/06/02 05:18:36 @@ -274,7 +274,7 @@ + new File(parent.getParentFile(), href).getAbsolutePath()); } } - return new javax.xml.transform.stream.StreamSource(xslSource.getInputStream()); + return new +javax.xml.transform.stream.StreamSource(xslSource.getInputStream(), +xslSource.getSystemId()); } catch (IOException e) { throw new javax.xml.transform.TransformerException(e); } catch (SAXException e) { @@ -288,13 +288,7 @@ if(tfactory == null) { tfactory = (SAXTransformerFactory) TransformerFactory.newInstance(); tfactory.setErrorListener(new TraxErrorHandler(getLogger())); - // FIXME (CZ) - // The current Xalan Version 2.1.0 passes sometimes only - // a null pointer to the resolve method as the base argument. - // So we can add this if the problem is solved. - // Until then resolving of our special urls will not work - // using include of the stylesheets. - // tfactory.setURIResolver(this); + tfactory.setURIResolver(this); } return tfactory; }
Rick Tessner [EMAIL PROTECTED] MYRA Systems Corp. Fone: (250) 381 1335 x125 Phax: (250) 381 1304 Cell: (250) 885 9452 "Hmmm. They have the Internet on computers now!"
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]