Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   XML (http://www.velocityreviews.com/forums/f32-xml.html)
-   -   Entity and classpath (http://www.velocityreviews.com/forums/t170149-entity-and-classpath.html)

cochrane68@hotmail.com 11-08-2005 01:22 PM

Entity and classpath
 
I'm trying to access an XML snippet based on the classpath. I know how
to use a snippet based on the absolute path of a file using:

<!DOCTYPE project [
<!ENTITY test SYSTEM "file:C:\Documents and
Settings\chris\Desktop\test2.xml">
]>

However, this is going to be used as part of a J2EE application, and I
need a way to access an XML snippet based on the classpath. So my
DOCTYPE declaration would look something like:

<!DOCTYPE project [
<!ENTITY test SYSTEM "resource:test2.xml">
]>

Is there anyway to do this directly in the XML, or does XML have no
concept of a classpath?


Philippe Poulard 11-08-2005 01:36 PM

Re: Entity and classpath
 
cochrane68@hotmail.com wrote:
> I'm trying to access an XML snippet based on the classpath. I know how
> to use a snippet based on the absolute path of a file using:
>
> <!DOCTYPE project [
> <!ENTITY test SYSTEM "file:C:\Documents and
> Settings\chris\Desktop\test2.xml">
> ]>
>
> However, this is going to be used as part of a J2EE application, and I
> need a way to access an XML snippet based on the classpath. So my
> DOCTYPE declaration would look something like:
>
> <!DOCTYPE project [
> <!ENTITY test SYSTEM "resource:test2.xml">
> ]>
>
> Is there anyway to do this directly in the XML, or does XML have no
> concept of a classpath?
>


XML has no concept of classpath, but it has a concept of entity resolver

with java, you just have to provide an implementation of the interface
org.xml.sax.EntityResolver that has a single method ; if it returns
null, the parsers will try to resolve the external identifier by its
own, otherwise (the case where the system identifier starts with
"resource:") you have to supply yourself the resource

to plug this entity resolver to the XML parser, refer to
javax.xml.parsers.DocumentBuilder or to org.xml.sax.XMLReader

--
Cordialement,

///
(. .)
-----ooO--(_)--Ooo-----
| Philippe Poulard |
-----------------------

Martin Honnen 11-08-2005 01:38 PM

Re: Entity and classpath
 


cochrane68@hotmail.com wrote:

> However, this is going to be used as part of a J2EE application, and I
> need a way to access an XML snippet based on the classpath. So my
> DOCTYPE declaration would look something like:
>
> <!DOCTYPE project [
> <!ENTITY test SYSTEM "resource:test2.xml">
> ]>
>
> Is there anyway to do this directly in the XML, or does XML have no
> concept of a classpath?


A Java class path? No, XML is not Java specific.
If you are using Java tools/APIs then you need to build your own
implementation of the interface org.xml.sax.EntityResolver I think.
But chances are someone in a group or forum about J2EE knows more about
that and might even be able to point you to existing implementations if
that resource: URL is common use there.

--

Martin Honnen
http://JavaScript.FAQTs.com/

cochrane68@hotmail.com 11-08-2005 02:04 PM

Re: Entity and classpath
 
That's what I thought, but hoping there was an easier way. Thanks for
the responses!



All times are GMT. The time now is 05:55 AM.

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