Hi Eric, I'm going to take a wild guess and assume you're parsing your document from an java.io.InputStream or org.xml.sax.InputSource (depending on the API you're using). Relative URIs require a context for resolution. If you're parsing with an InputSource you need to set the system ID on this object. If you're parsing directly from an InputStream like with JAXP, you need to call the parse method which also accepts a system ID. If you don't do this the parser will just use the current working directory (the value of the system property user.dir) as the base URI for resolution, which in general won't be the desired behaviour.
On Tue, 18 Nov 2003, Eric Sirianni wrote: > I am trying to parse the following XML document using Xerces-J: > > <?xml version="1.0" encoding="ISO-8859-1"?> > <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" > "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ > <!ENTITY chap1 SYSTEM "chap1.xml"> > <!ENTITY chap2 SYSTEM "chap2.xml"> > ]> > <book> > &chap1; > &chap2; > </book> > > The parser seems to be having an issue resolving the locations of chap1.xml > and chap2.xml. It appears to be looking for them in the directory from > which I ran java, instead of relative to the original XML doc. Here is the > error I receive: > > java.io.FileNotFoundException: C:\wherever-i-run-java\chap1.xml (The system > cannot find the file specified) > > Clearly, I don't want to add full path names to these entity declarations. > The XML document above and chap1.xml and chap2.xml are all in the same > directory, so I would expect the parser to attempt to search there first... > no? > > This must be a common issue, but I can't find any information on how to > resolve this... > > Thanks, > Eric > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------- Michael Glavassevich XML Parser Development IBM Toronto Lab E-mail: [EMAIL PROTECTED] E-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
