Velocity Reviews

Velocity Reviews (
-   XML (
-   -   Referencing a second XML within a JAR (

Daniel Frey 02-10-2006 12:23 AM

Referencing a second XML within a JAR

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">

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

Daniel Frey

Joe Kesselman 02-10-2006 01:44 AM

Re: Referencing a second XML within a JAR
Daniel Frey wrote:
> 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

All times are GMT. The time now is 08:22 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.