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