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