Jump to content

blahblah_gc

Members
  • Posts

    2
  • Joined

  • Last visited

Posts posted by blahblah_gc

  1. I use JAXB with SAXParserFactory to read in a xml that contains other inclusions. For example, this following xml is called “TheFile.xml” and it refers to “class_common.xml” .

    <!DOCTYPE page [  <!ENTITY class_common SYSTEM "class_common.xml" >]>    <api xmlns:denp="http://intranet.denali.com/wiki/DocBook_profiling">    &class_common;

    But what I notice is the default location used in SAXParserFactory for “class_common.xml” is where I launch the program . For example, my program is stared from DIR1 and both xml files are in DIR2, SAXParserFactory reads the “TheFile.xml” and tries to look for the “class_common.xml” from DIR1 instead of DIR2. How do I fix this?

     

    The code I have is like the following

     

    cl = class_xml.ObjectFactory.class.getClassLoader(); context = JAXBContext.newInstance("class_xml", cl); Unmarshaller u = context.createUnmarshaller(); SAXParserFactory spf = SAXParserFactory.newInstance(); spf.setXIncludeAware(true); XMLReader xr = (XMLReader) spf.newSAXParser().getXMLReader(); SAXSource source = new SAXSource(xr, new InputSource(new FileInputStream(classXMLFile))); api = (Api) u.unmarshal(source);

×
×
  • Create New...