This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Stopping Saxon searching for an external DTD


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]