Referencing a second XML within a JAR

D

Daniel Frey

Hi

I am using XML to persist Java objects (with XStream). I have a general
leak of knowledge how ENTITY references within a XML can point to
another XML in a JAR. I.e. the following XML would reference a file
called file1.xml in the same directory:

<?xml version='1.0'?>
<!DOCTYPE root [ <!ENTITY file1 SYSTEM "file1.xml"> ]>
<root id="0">
&file1;
...
</root>

But I do not have both files in the same directory. Instead they are
located in different JARs. Do you know how to address an XML in a JAR?
Can I use kind of an absolute link like

<!DOCTYPE root [ <!ENTITY file1 SYSTEM
"/my/package/in/a/jar/file1.xml"> ]>

to point to the jared external XML. Any idea would be highly
appreciated.

Cheers
Daniel Frey
 
J

Joe Kesselman

Daniel said:
Do you know how to address an XML in a JAR?

XML doesn't understand the concept of jarfiles. All it works with is
URIs. So there's no guaranteed portable solution.

Many (not all) XML processors will let you plug in an "entity resolver"
or "uri resolver", which is code you've written to describe where and
how they should try to search when attempting to retrieve additional
information. If you write one that understands which jarfiles you want
to search, and how to do that search and pull the data out of them, that
will do what you want.

*SOME* processors may have this kind of capability built in -- I've seen
a few programs that understand URIs starting with jar: as requests to
retrieve one entry from a jarfile -- but you'd have to check the docs
for your program.

There may be other solutions -- but again, that's going to be a matter
of exactly what your software supports. And if you can't make it work
with your tools, you may have to either change tools or do something
different.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,001
Messages
2,570,255
Members
46,852
Latest member
CarlaDowle

Latest Threads

Top