[jdom-interest] EntityResolver (DTD Not Found)
    Jon Baer 
    jonbaer at digitalanywhere.com
       
    Fri Jul 20 03:43:57 PDT 2001
    
    
  
Brett McLaughlin wrote:
> > it but kept getting the same error/report.
>
> Try it out and let is know, but it should help.
No go.  In fact Im really puzzled, the javadoc @ Sun for SAX2 show this example for
an EntityResolver:
public class MyResolver implements EntityResolver {
   public InputSource resolveEntity (String publicId, String systemId)
   {
     if (systemId.equals("http://www.myhost.com/today")) {
              // return a special input source
       MyReader reader = new MyReader();
       return new InputSource(reader);
     } else {
              // use the default behaviour
       return null;
     }
   }
 }
What I dont get here is how to make this work with SAXBuilder if I can't get access
to the Reader here (or FileReader).  What is the InputSource I should return back?
Throwing back null still gives this error:
Warning: Could not load aiml/std-65percent.aiml(Error on line 2 of document file
:/C:/WINDOWS/Desktop/Alicebot/server/aiml/std-65percent.aiml: External entity not
found: "http://www.alicebot.org/dtd/aiml-1.0.dtd".)
From:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE aiml PUBLIC "-//A.L.I.C.E. AI Foundation//Artificial Intelligence Markup
Language 1.0//EN" "http://www.alicebot.org/dtd/aiml-1.0.dtd">
Using:
SAXBuilder builder = new SAXBuilder();
builder.setValidation(false);
builder.setEntityResolver(new NoDTDEntityResolver());
    
    
More information about the jdom-interest
mailing list