[jdom-interest] org.jdom.JDOMException

Laurent Bihanic laurent.bihanic at atosorigin.com
Wed Jul 24 01:37:11 PDT 2002


Your XML document includes a DTD declaration and the XML parser needs to read 
the DTD file in order to resolve external entities that may be referenced by 
your document.
This DTD file is declared as located on msdn.microsoft.com so the parser 
attempted to connect to this site but you probably did not have any active 
Internet connection at that time.

You can solve this problem by downloading the DTD file to store it locally and 
use SAXBuilder's setEntityResolver() to register your implementation of 
org.xml.sax.EntityResolver. Entity resolvers, when present, are used by SAX 
parsers to resolve references to enternal entities such as DTD files. In your 
implementation you just need to test the public or system ID. If it matches 
the one defined for the DTD file, return a SAX InputSource pointing at your 
local copy.

Hope this helps,


TAZ0789 at aol.com wrote:
> Hi all,
>    I'm new to xml and jdom.  I wrote a simple program that reads a 
> simple xml file.  The java file compiles ok, but when I run it, it gives 
> me the following error, following by the java source.  Please help.  Thanks.
> D:\sjsu\cs296>java WeblogsJDOM weblog.xml
> org.jdom.JDOMException: Error in building: msdn.microsoft.com
>         at org.jdom.input.SAXBuilder.build(SAXBuilder.java:373)
>         at org.jdom.input.SAXBuilder.build(SAXBuilder.java:772)
>         at WeblogsJDOM.listChannels(WeblogsJDOM.java:25)
>         at WeblogsJDOM.main(WeblogsJDOM.java:62)
> Caused by: java.net.UnknownHostException: msdn.microsoft.com
>         at java.net.InetAddress.getAllByName0(InetAddress.java:571)
>         at java.net.InetAddress.getAllByName0(InetAddress.java:540)
>         at java.net.InetAddress.getByName(InetAddress.java:449)
>         at java.net.Socket.<init>(Socket.java:100)
>         at sun.net.NetworkClient.doConnect(NetworkClient.java:50)
>         at sun.net.www.http.HttpClient.openServer(HttpClient.java:331)
>         at sun.net.www.http.HttpClient.openServer(HttpClient.java:517)
>         at sun.net.www.http.HttpClient.<init>(HttpClient.java:267)
>         at sun.net.www.http.HttpClient.<init>(HttpClient.java:277)
>         at sun.net.www.http.HttpClient.New(HttpClient.java:289)
>         at 
> sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection
> ..java:408)
>         at 
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
> nection.java:501)
>         at java.net.URL.openStream(URL.java:798)
>         at 
> org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultRe
> aderFactory.java:149)
>         at 
> org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
> alEntity(DefaultEntityHandler.java:772)
>         at 
> org.apache.xerces.readers.DefaultEntityHandler.startReadingFromExtern
> alSubset(DefaultEntityHandler.java:571)
>         at 
> org.apache.xerces.framework.XMLDTDScanner.scanDoctypeDecl(XMLDTDScann
> er.java:1139)
>         at 
> org.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDoc
> umentScanner.java:2145)
>         at 
> org.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentSc
> anner.java:2100)
>         at 
> org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispa
> tch(XMLDocumentScanner.java:831)
>         at 
> org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
> canner.java:381)
>         at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098)
>         at org.jdom.input.SAXBuilder.build(SAXBuilder.java:354)
>         at org.jdom.input.SAXBuilder.build(SAXBuilder.java:772)
>         at WeblogsJDOM.listChannels(WeblogsJDOM.java:25)
>         at WeblogsJDOM.main(WeblogsJDOM.java:62)

More information about the jdom-interest mailing list