This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Xalan complains about relative DTD URL in transformed document
- From: "Michael Kay" <michael dot h dot kay at ntlworld dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Fri, 30 Aug 2002 23:13:05 +0100
- Subject: RE: [xsl] Xalan complains about relative DTD URL in transformed document
- Reply-to: xsl-list at lists dot mulberrytech dot com
This isn't actually an XSLT problem, it's a JAXP/SAX problem...
Specify a base URI for the source document by calling setSystemId() on
the SAXSource object, and perhaps on the InputSource object as well.
Note that a SAX parser must convert a relative URI to an absolute URI
before it calls your EntityResolver.
Michael Kay
Software AG
home: Michael.H.Kay@ntlworld.com
work: Michael.Kay@softwareag.com
> -----Original Message-----
> From: owner-xsl-list@lists.mulberrytech.com
> [mailto:owner-xsl-list@lists.mulberrytech.com] On Behalf Of
> David Byrden
> Sent: 30 August 2002 13:26
> To: xsl-list@lists.mulberrytech.com
> Subject: [xsl] Xalan complains about relative DTD URL in
> transformed document
>
>
>
>
> I'm using JDK14 to transform some XML
> documents that reference a DTD with a relative URL.
>
> I'm getting this exception:
> org.xml.sax.SAXParseException: Relative URI "../../text
> bodies.dtd"; can
> not be resolved without a base URI.
>
> Believe me I've spent time on this, and the
> code I'm using now is from a solution posted to this
> list by J.Pietschmann:
>
>
> Transformer tr =
> TransformerFactory.newInstance().newTransformer( transform )
> ; SAXParserFactory saxParserFactory =
> SAXParserFactory.newInstance() ;
> saxParserFactory.setValidating( false ) ; XMLReader xmlReader
> = saxParserFactory.newSAXParser().getXMLReader() ;
> xmlReader.setEntityResolver( new MyResolver() ) ;
> tr.transform( new SAXSource( xmlReader, src ), res ) ;
>
> Unfortunately it does not work, in that the MyResolver
> is not even called on to resolve anything before
> the exception occurs.
>
> Any ideas? I do want to use a relative URL for the DTD.
>
> David
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list