<!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 18:08, Per Norrman wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE><FONT COLOR="#737373"><I>Ken Roberts wrote:
&gt; On Wed, 2004-12-29 at 17:27, Per Norrman wrote:
&gt; 
&gt;&gt;/Ken Roberts wrote:
&gt;&gt;&gt; Passing in a system property to a JVM is done by specifying 
&gt;&gt;&gt; -Dvariable=value, no spaces on the command line.
&gt;&gt;&gt; 
&gt;&gt;&gt; Doing this inside JBoss means editing your run.bat file or your run.sh 
&gt;&gt;&gt; file, or (if redhat) the jboss_init_redhat.sh file.
&gt;&gt;&gt; 
&gt;&gt;&lt;irony&gt;
&gt;&gt;   Thank you very much for that timely and accurate piece of information.
&gt;&gt;&lt;/irony&gt;
&gt;&gt;
&gt;&gt;Serioulsy, next time, please read the entire thread before jumping in ...
&gt;&gt;
&gt;&gt;/pmn/
&gt;&gt;
&gt; 
&gt; Per,
&gt; 
&gt; Sorry if my solution seems old-school, but I had read the entire thread.
&gt; 
&gt; You answered the direct question of telling that the underlying 
&gt; transformer has no such setting.  I tried to answer the next question by 
&gt; indirection.  

Aha, so you *anticipated* that the next question would be &quot;Now that I have the
URIResolver, and knowing that this specific URIResolver uses a system property
to resolve relative urls, what can I possibly to do get that darn system 
property set?&quot;, and answered that question before it was posed.

If that's the case, your'e too quick for the rest of us.</I></FONT></PRE>
</BLOCKQUOTE>
<BR>
No, I went down the other path from the one you suggested, which is to set a system property based on an environment variable.&nbsp; I did it to offer a different solution to the same problem, since a URIResolver didn't exactly fit the needs I had when I implemented my solution.<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE><FONT COLOR="#737373"><I>There are all sorts of ways to define a base directory,
&gt; and the one I have used in the past is what I described because it fit 
&gt; more easily with our needs.  Your solution would take 10 minutes 

Actually, I said 10 *lines* of code.</I></FONT></PRE>
</BLOCKQUOTE>
<BR>
As opposed to:<BR>
<BR>
File myBaseDir = new File(System.getProperty(&quot;mybasedir&quot;));<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE><FONT COLOR="#737373"><I>Let's not continue this off-topic thread ...</I></FONT></PRE>
</BLOCKQUOTE>
<BR>
Sure.&nbsp; We can stop as soon as you stop flaming me.&nbsp; I have in no way earned this treatment, and as a matter of fact I have a few months to spend on this if you like.&nbsp; Sarcasm and bitterness has no place on a forum such as this.&nbsp; We're not in a contest to see who's the brightest programmer, we're offering solutions to problems that people might have.<BR>
<BR>
Whether my solution was in style or not, it did satisfy a certain category of business needs.&nbsp; Generally it's considered a good idea to look at multiple solutions before making a design decision, and you offered one solution.&nbsp; I offered another.<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE><FONT COLOR="#737373"><I>&gt; code, you said, and mine took maybe 5.  Which is correct depends a lot 
&gt; on your application needs.
&gt; 
&gt; The interesting bit is that your solution and mine would both be placed 
&gt; in just about the same place in whatever code one would write.  Since it 
&gt; can't be done (by your statement) internally to the XSL parser, it would 
&gt; have to be done in the wrapping code, no matter what the solution.
&gt; 
&gt; Passing an environment variable is quaint and maybe not very elegant, 
&gt; but it does work.  I shared it because the original poster asked 
&gt; specifically about passing system properties.  Since the JVM used to 
&gt; pass the environment of the operating system in but no longer does, I 
&gt; thought my contribution was pertinent.
&gt; 
&gt;&gt;/&gt; On Wed, 2004-12-29 at 16:38, Per Norrman wrote:
&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;/Patrick JUSSEAU wrote:
&gt;&gt;&gt;&gt;&gt; Hi,
&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt; So there is no way to pass in a system property to set this up?
&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;Not that I'm aware of, no.
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt; I guess the other solution would be to put all the files I need in the  
&gt;&gt;&gt;&gt;&gt; same directory but I would rather have the option to set the base dir  
&gt;&gt;&gt;&gt;&gt; of the external file that is referenced from the document() method.
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;But that is exactly what you would/could do with an URIResolver. It is less
&gt;&gt;&gt;&gt;that 10 lines of code to have a URIResolver resolve a relative url using a
&gt;&gt;&gt;&gt;system property as the base uri.
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;/pmn
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt; Patrick
&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt; On 29 Dec 2004, at 19:51, Per Norrman wrote:
&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt;&gt; Hi,
&gt;&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt;&gt; I believe you can use the Transformer#setURIResolver method.
&gt;&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt;&gt; /pmn
&gt;&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt;&gt; patrick@openbase.com wrote:
&gt;&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Hi,
&gt;&gt;&gt;&gt;&gt;&gt;&gt; I am using JDOM to perform an XSL transformation. The problem I have  
&gt;&gt;&gt;&gt;&gt;&gt;&gt; is that my XSL Document refers to an external file using the  
&gt;&gt;&gt;&gt;&gt;&gt;&gt; document(URL) method. I don't want to use an absolute URL. What I  
&gt;&gt;&gt;&gt;&gt;&gt;&gt; would like to do is tell JDOM  (the Transformer) what the basedir is  
&gt;&gt;&gt;&gt;&gt;&gt;&gt; (/Users/aUser) so that in my XSL file I could use:
&gt;&gt;&gt;&gt;&gt;&gt;&gt; ...
&gt;&gt;&gt;&gt;&gt;&gt;&gt; &lt;xsl:variable name=&quot;lookupParam&quot; select=&quot;document('aFile.xml')&quot;/&gt;
&gt;&gt;&gt;&gt;&gt;&gt;&gt; ...
&gt;&gt;&gt;&gt;&gt;&gt;&gt; and aFile.xml would abvioulsy be in /Users/aUser
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Here is the code I am using
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Document p_sourceDocument = ....
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Document p_xslDocument = ....
&gt;&gt;&gt;&gt;&gt;&gt;&gt; // Create a JDOMSource from the source JDOM Document
&gt;&gt;&gt;&gt;&gt;&gt;&gt;         JDOMSource source = new JDOMSource(p_sourceDocument);
&gt;&gt;&gt;&gt;&gt;&gt;&gt;         // Create a JDOMSource from the source XSL Document
&gt;&gt;&gt;&gt;&gt;&gt;&gt;         JDOMSource xslSource = new JDOMSource(p_xslDocument);
&gt;&gt;&gt;&gt;&gt;&gt;&gt;         // Get a XSLT Transformer
&gt;&gt;&gt;&gt;&gt;&gt;&gt;         Transformer transformer =  
&gt;&gt;&gt;&gt;&gt;&gt;&gt; getTransformerFactory().newTransformer(xslSource);
&gt;&gt;&gt;&gt;&gt;&gt;&gt;         // Create a JDOMResult
&gt;&gt;&gt;&gt;&gt;&gt;&gt;         JDOMResult result = new JDOMResult();
&gt;&gt;&gt;&gt;&gt;&gt;&gt;         // Populate the Result
&gt;&gt;&gt;&gt;&gt;&gt;&gt;         transformer.transform(source, result);
&gt;&gt;&gt;&gt;&gt;&gt;&gt; I guess there must be some way to tell the underlying Transformer  
&gt;&gt;&gt;&gt;&gt;&gt;&gt; what the basedir is?
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Thanks,
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Patrick
&gt;&gt;&gt;&gt;&gt;&gt;&gt; _______________________________________________
&gt;&gt;&gt;&gt;&gt;&gt;&gt; To control your jdom-interest membership:
&gt;&gt;&gt;&gt;&gt;&gt;&gt; //_//_</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
&gt;&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt;&gt; _______________________________________________
&gt;&gt;&gt;&gt;&gt;&gt; To control your jdom-interest membership:
&gt;&gt;&gt;&gt;&gt;&gt; __</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">&gt;&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;_______________________________________________
&gt;&gt;&gt;&gt;To control your jdom-interest membership:
&gt;&gt;&gt;&gt;__</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">&gt;&gt;&gt;&gt;/
&gt;&gt;&gt;&gt;
&gt;&gt;/
&gt;&gt;
</I></FONT></PRE>
</BLOCKQUOTE>
</BODY>
</HTML>