santiagopg    2003/11/04 10:53:34

  Modified:    java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
  Log:
  Patch for Bugzilla 24188 by Bhakti Mehta ([EMAIL PROTECTED]). The runtime now 
attempts to resolve a reference when the URI resolver returns null.
  
  Revision  Changes    Path
  1.75      +25 -8     
xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerImpl.java
  
  Index: TransformerImpl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerImpl.java,v
  retrieving revision 1.74
  retrieving revision 1.75
  diff -u -r1.74 -r1.75
  --- TransformerImpl.java      22 Oct 2003 18:51:29 -0000      1.74
  +++ TransformerImpl.java      4 Nov 2003 18:53:34 -0000       1.75
  @@ -96,6 +96,8 @@
   import javax.xml.transform.stream.StreamResult;
   import javax.xml.transform.stream.StreamSource;
   
  +import org.apache.xml.utils.SystemIDResolver;
  +
   import org.apache.xalan.xsltc.DOM;
   import org.apache.xalan.xsltc.DOMCache;
   import org.apache.xalan.xsltc.StripFilter;
  @@ -1205,13 +1207,28 @@
        * @param translet A reference to the translet requesting the document
        */
       public DOM retrieveDocument(String baseURI, String href, Translet 
translet) {
  -     try {
  -        
  -        // Argument to document function was: document('');
  -        if (href.length() == 0) {
  -            href = new String(baseURI);
  -        }    
  -         return getDOM(_uriResolver.resolve(href, baseURI));
  +     try {        
  +            // Argument to document function was: document('');
  +            if (href.length() == 0) {
  +                href = new String(baseURI);
  +            }    
  +
  +            /*
  +             *  Fix for bug 24188
  +             *  Incase the _uriResolver.resolve(href,base) is null
  +             *  try to still  retrieve the document before returning null 
  +             *  and throwing the FileNotFoundException in
  +             *  org.apache.xalan.xsltc.dom.LoadDocument
  +             *
  +             */
  +            Source resolvedSource = _uriResolver.resolve(href, baseURI);
  +            if (resolvedSource == null)  {
  +                StreamSource streamSource = new StreamSource(
  +                     SystemIDResolver.getAbsoluteURI(href, baseURI));
  +                return getDOM(streamSource) ;
  +            } 
  +
  +            return getDOM(resolvedSource);
        }
        catch (TransformerException e) {
            if (_errorListener != null)
  
  
  

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

Reply via email to