[jdom-interest] How to specify a basedir from the Transformer

Per Norrman per.norrman at austers.se
Wed Dec 29 14:38:33 PST 2004


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 at 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:
>>> http://www.jdom.org/mailman/options/jdom-interest/ youraddr at yourhost.com
>>
>>
>> _______________________________________________
>> To control your jdom-interest membership:
>> http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.com
>>
> 
> 



More information about the jdom-interest mailing list