You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by sb...@locus.apache.org on 2000/08/04 14:41:40 UTC

cvs commit: xml-xalan/src/org/apache/xalan/xslt FuncDocument.java

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();
             }