diff options
author | Chris Burdess <dog@bluezoo.org> | 2006-09-18 17:50:07 +0000 |
---|---|---|
committer | Chris Burdess <dog@bluezoo.org> | 2006-09-18 17:50:07 +0000 |
commit | a06b2e2f5135402203e676f4c1b9ad6df48241b0 (patch) | |
tree | 73ad5ea9a43ecc3dd4a871e9f5b1e9b5f2c2f038 /gnu/xml | |
parent | 02ce7405ca4c908400ed97bae52d4331dd951472 (diff) | |
download | classpath-a06b2e2f5135402203e676f4c1b9ad6df48241b0.tar.gz |
2006-09-18 David Pirkle <dpirkle@symyx.com>
Fixes PR 28589
* gnu/xml/transform/XSLURIResolver.java: Test SAXSource for specific
input stream during resolution.
Diffstat (limited to 'gnu/xml')
-rw-r--r-- | gnu/xml/transform/XSLURIResolver.java | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/gnu/xml/transform/XSLURIResolver.java b/gnu/xml/transform/XSLURIResolver.java index 6a49caab4..8d7e3fcb4 100644 --- a/gnu/xml/transform/XSLURIResolver.java +++ b/gnu/xml/transform/XSLURIResolver.java @@ -53,6 +53,7 @@ import javax.xml.transform.Source; import javax.xml.transform.TransformerException; import javax.xml.transform.URIResolver; import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.sax.SAXSource; import javax.xml.transform.stream.StreamSource; import org.w3c.dom.Node; import org.xml.sax.InputSource; @@ -118,10 +119,9 @@ class XSLURIResolver try { - URL url = resolveURL(systemId, base, href); Node node = null; InputStream in = null; - if (source instanceof StreamSource) + if (source != null && source instanceof StreamSource) { StreamSource ss = (StreamSource) source; in = ss.getInputStream(); @@ -134,8 +134,25 @@ class XSLURIResolver } } } + else if (source != null && source instanceof SAXSource) + { + SAXSource ss = (SAXSource) source; + if (ss.getInputSource() != null) + { + in = ss.getInputSource().getByteStream(); + if (in == null) + { + Reader reader = ss.getInputSource().getCharacterStream(); + if (reader != null) + { + in = new ReaderInputStream(reader); + } + } + } + } if (in == null) { + URL url = resolveURL(systemId, base, href); if (url != null) { systemId = url.toString(); |