Hi Marco,

If you want to prevent Xerces from loading an external DTD, you can accomplish this by setting the load-external-dtd [1] feature to false. Alternatively if you actually want to load the DTD but it points to an inaccessible resource, try setting an entity resolver on the parser which returns an input stream to the DTD directly or redirects to another URI, perhaps a local file.

[1] http://xml.apache.org/xerces2-j/features.html#nonvalidating.load-external-dtd

Marco <[EMAIL PROTECTED]> wrote on 05/14/2004 05:47:31 PM:

> Is it possible to process xml files with unreachable (or unavailable) DTDs?
> Even using a non-validating sax parser as source, xalan still throws
> the
>
> javax.xml.transform.TransformerException: java.io.FileNotFoundException:
> office.dtd
>
> where office.dtd is the input file dtd.
> Here's the source:
>
> SAXParserFactory spf = SAXParserFactory.newInstance();
> spf.setValidating(false);
> spf.setNamespaceAware(true);
> XMLReader xmlr = spf.newSAXParser().getXMLReader();
> TransformerFactory tf = TransformerFactory.newInstance();
> Transformer t = tf.newTransformer(new StreamSource("notes.xsl"));
> t.transform(new SAXSource(xmlr, new InputSource("content.xml")), new
> StreamResult("output.html"));
>
> Thanks in advance,
> Marco
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>

Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: [EMAIL PROTECTED]

E-mail: [EMAIL PROTECTED]

Reply via email to