This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Stopping Saxon searching for an external DTD
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] Stopping Saxon searching for an external DTD
- From: Mike Brown <mike at skew dot org>
- Date: Mon, 12 Feb 2001 14:27:55 -0700 (MST)
- Reply-To: xsl-list at lists dot mulberrytech dot com
jim smith wrote:
> <!DOCTYPE moreovernews SYSTEM
> "http://p.moreover.com/xml_dtds/moreovernews.dtd">
>
> fails when I'm offline, but not when I'm online.
>
> I'm not actually clear what's going on here. Is Saxon actually
> attempting to grab the DTD or is Java having a problem because it
> thinks the URL should be resolved before proceeding? (In which case,
> why doesn't it crash like a normal Java app on a Mac...)
>
> As I'm confident that Moreover files are valid, and my XSL doesn't
> care, is there any way to turn this feature off?
DTDs are used for more than just validation. You'll have to get rid of the
<!DOCTYPE> altogether. If there is such a declaration, it's going to be
examined for an internal and external DTD subset, so that the XML parser
can determine default attribute values, resolve entity references, and, if
it is a validating parser, do schema validation.
I believe that in the event that the DTD is external, the parser has the
option of ignoring it, but I would bet that the parser you're using does
not fall back when the URI resolver coughs up an exception. You might
check the docs for your XML parser to see if it gives you a way to turn
off resolution of external entities, or perhaps you can override the
resolver with one of your own.. (sorry if I'm not being very helpful..
I've not tried to do this myself)
Michael Kay will probably post more helpful Saxon-specific info.
- Mike
____________________________________________________________________
Mike J. Brown, software engineer at My XML/XSL resources:
webb.net in Denver, Colorado, USA http://skew.org/xml/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list