sboag       00/08/04 05:41:39

  Modified:    src/org/apache/xalan/xslt FuncDocument.java
  Log:
  Fix for documents sometimes being double-parsed.  Check in lookup table for 
fully resolved system ID.
  
  Revision  Changes    Path
  1.14      +15 -1     xml-xalan/src/org/apache/xalan/xslt/FuncDocument.java
  
  Index: FuncDocument.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/src/org/apache/xalan/xslt/FuncDocument.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- FuncDocument.java 2000/03/29 03:51:57     1.13
  +++ FuncDocument.java 2000/08/04 12:41:37     1.14
  @@ -204,7 +204,21 @@
             url = parserLiaison.getURLFromString(uri, base);
             if((null != url) && (url.toString().length() > 0))
             {
  -            XSLTInputSource inputSource = new 
XSLTInputSource(url.toString());
  +            String urlString = url.toString();
  +            newDoc = 
(Document)execContext.getSourceDocsTable().get(urlString);
  +            if(null != newDoc)
  +              return newDoc;
  +            /*
  +            int indexOfColon = urlString.indexOf(':');
  +            int indexOfSlash = urlString.indexOf('/');
  +            System.out.println("urlString: "+urlString);
  +            if(!((indexOfColon != -1) && (indexOfSlash != -1) && 
(indexOfColon < indexOfSlash)))
  +            {
  +              // The url (or filename, for that matter) is not absolute.
  +              urlString = "file:///"+urlString;
  +            }
  +            */
  +            XSLTInputSource inputSource = new XSLTInputSource(urlString);
               parserLiaison.parse(inputSource);
               newDoc = parserLiaison.getDocument();
             }
  
  
  

Reply via email to