Connecting Tech Pros Worldwide Forums | Help | Site Map

Entity and classpath

cochrane68@hotmail.com
Guest
 
Posts: n/a
#1: Nov 8 '05
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?


Martin Honnen
Guest
 
Posts: n/a
#2: Nov 8 '05

re: Entity and classpath




cochrane68@hotmail.com wrote:
[color=blue]
> 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?[/color]

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/
Philippe Poulard
Guest
 
Posts: n/a
#3: Nov 8 '05

re: Entity and classpath


cochrane68@hotmail.com wrote:[color=blue]
> 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?
>[/color]

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 |
-----------------------
cochrane68@hotmail.com
Guest
 
Posts: n/a
#4: Nov 8 '05

re: Entity and classpath


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

Closed Thread