[jdom-interest] How to specify a basedir from the Transformer
Patrick JUSSEAU
patrick at openbase.com
Wed Dec 29 15:28:23 PST 2004
Do you happen to have any pointers on how to write such a URIResolver?
Thanks
On 29 Dec 2004, at 23: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 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 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