[jdom-interest] Re: Finding the DTD
    Aidan Killian 
    aidan at concordianet.com
       
    Tue Sep  5 03:28:19 PDT 2000
    
    
  
Hi,
	I have a slightly more complex version of this problem.
Typically I recieve XML files with the following DOCTYPE 
statement:
<!DOCTYPE FpML PUBLIC "-//FpML//DTD Financial product Markup Language
(1-0))//EN">
	A System Identifier string ("FpML-1.0.dtd") may follow the public
identifier. This is quite a common situation in the SGML world that is
addressed by the Oasis Open Catalog standard.
	When using Xerces I use the EntityResolver interface:
public class Catalog implements EntityResolver 
{
	public InputSource resolveEntity (String publicId, String systemId)
	{
		// ...
		return new InputSource(new FileReader(DTDpath));
	}
}
	I do not believe the build(InputStream, String) method solves 
this problem. (B.T.W. I only know how to implement this in Xerces and
XML4J 1.x; I am not sure if other parsers even support entity mapping).
	Great work; I really like JDOM.
Best regards,
	Aidan Killian (ConcordiaNet Inc.)
> Message: 10
> Date: Mon, 04 Sep 2000 22:50:01 +0200
> From: Jason Hunter <jhunter at collab.net>
> To: "Muhle, Daniel" <Daniel.Muhle at mettenmeier.de>
> CC: "'jdom-interest at jdom.org'" <jdom-interest at jdom.org>
> Subject: Re: [jdom-interest] Finding the DTD
> 
> >       SAXBuilder builder = new SAXBuilder();
> >       Document doc =  builder.build(in);
> >
> >  I get an FileNotFoundException, because the parser tries to
> > find the DTD in a directory relative to
> > the directory, the Webserver is started from.
> 
> That's why there's a build(InputStream, String) method.
>
    
    
More information about the jdom-interest
mailing list