<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.0.9">
</HEAD>
<BODY>
On Wed, 2004-12-29 at 17:27, Per Norrman wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE><FONT COLOR="#737373"><I>Ken Roberts wrote:
> Passing in a system property to a JVM is done by specifying
> -Dvariable=value, no spaces on the command line.
>
> Doing this inside JBoss means editing your run.bat file or your run.sh
> file, or (if redhat) the jboss_init_redhat.sh file.
>
<irony>
Thank you very much for that timely and accurate piece of information.
</irony>
Serioulsy, next time, please read the entire thread before jumping in ...
/pmn</I></FONT></PRE>
</BLOCKQUOTE>
<BR>
Per,<BR>
<BR>
Sorry if my solution seems old-school, but I had read the entire thread.<BR>
<BR>
You answered the direct question of telling that the underlying transformer has no such setting. I tried to answer the next question by indirection. There are all sorts of ways to define a base directory, and the one I have used in the past is what I described because it fit more easily with our needs. Your solution would take 10 minutes of code, you said, and mine took maybe 5. Which is correct depends a lot on your application needs.<BR>
<BR>
The interesting bit is that your solution and mine would both be placed in just about the same place in whatever code one would write. Since it can't be done (by your statement) internally to the XSL parser, it would have to be done in the wrapping code, no matter what the solution.<BR>
<BR>
Passing an environment variable is quaint and maybe not very elegant, but it does work. I shared it because the original poster asked specifically about passing system properties. Since the JVM used to pass the environment of the operating system in but no longer does, I thought my contribution was pertinent.<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE><FONT COLOR="#737373"><I>> On Wed, 2004-12-29 at 16:38, Per Norrman wrote:
>
>>/Patrick JUSSEAU wrote:
>>> Hi,
>>>
>>> So there is no way to pass in a system property to set this up?
>>>
>>Not that I'm aware of, no.
>>
>>> I guess the other solution would be to put all the files I need in the
>>> same directory but I would rather have the option to set the base dir
>>> of the external file that is referenced from the document() method.
>>
>>But that is exactly what you would/could do with an URIResolver. It is less
>>that 10 lines of code to have a URIResolver resolve a relative url using a
>>system property as the base uri.
>>
>>/pmn
>>
>>
>>>
>>> Patrick
>>>
>>> On 29 Dec 2004, at 19:51, Per Norrman wrote:
>>>
>>>> Hi,
>>>>
>>>> I believe you can use the Transformer#setURIResolver method.
>>>>
>>>> /pmn
>>>>
>>>>
>>>> patrick@openbase.com wrote:
>>>>
>>>>> Hi,
>>>>> I am using JDOM to perform an XSL transformation. The problem I have
>>>>> is that my XSL Document refers to an external file using the
>>>>> document(URL) method. I don't want to use an absolute URL. What I
>>>>> would like to do is tell JDOM (the Transformer) what the basedir is
>>>>> (/Users/aUser) so that in my XSL file I could use:
>>>>> ...
>>>>> <xsl:variable name="lookupParam" select="document('aFile.xml')"/>
>>>>> ...
>>>>> and aFile.xml would abvioulsy be in /Users/aUser
>>>>> Here is the code I am using
>>>>> Document p_sourceDocument = ....
>>>>> Document p_xslDocument = ....
>>>>> // Create a JDOMSource from the source JDOM Document
>>>>> JDOMSource source = new JDOMSource(p_sourceDocument);
>>>>> // Create a JDOMSource from the source XSL Document
>>>>> JDOMSource xslSource = new JDOMSource(p_xslDocument);
>>>>> // Get a XSLT Transformer
>>>>> Transformer transformer =
>>>>> getTransformerFactory().newTransformer(xslSource);
>>>>> // Create a JDOMResult
>>>>> JDOMResult result = new JDOMResult();
>>>>> // Populate the Result
>>>>> transformer.transform(source, result);
>>>>> I guess there must be some way to tell the underlying Transformer
>>>>> what the basedir is?
>>>>> Thanks,
>>>>> Patrick
>>>>> _______________________________________________
>>>>> To control your jdom-interest membership:
>>>>> //_</FONT><A HREF="http://www.jdom.org/mailman/options/jdom-interest/_"><U>http://www.jdom.org/mailman/options/jdom-interest/_</U></A><FONT COLOR="#737373"> youraddr@yourhost.com
>>>>
>>>>
>>>> _______________________________________________
>>>> To control your jdom-interest membership:
>>>> _</FONT><A HREF="http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.com_"><U>http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.com_</U></A>
<FONT COLOR="#737373">>>>>
>>>
>>>
>>
>>_______________________________________________
>>To control your jdom-interest membership:
>>_</FONT><A HREF="http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.com_"><U>http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.com_</U></A>
<FONT COLOR="#737373">>>/
>>
</I></FONT></PRE>
</BLOCKQUOTE>
</BODY>
</HTML>