RE: [xsl] document URI resolution.

Subject: RE: [xsl] document URI resolution.
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 11 Feb 2005 00:05:44 -0000
Try registering the URIResolver with the Transformer as well as with the
TransformerFactory.

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: Morgan, Corey [mailto:CMorgan@xxxxxxxxx] 
> Sent: 10 February 2005 23:55
> To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx'
> Subject: [xsl] document URI resolution.
> 
> Hello,
> 
> There is a document on our system that is defined by the URI:
> http://www.ourcompany.com/clients.xml .  This URI doesn't 
> physically exist,
> but rather is resolved in various ways (in Java) to a 
> physical Source via a
> URIResolver, an EntityResolver, or an XML-Catalog.
> 
> I would like to process this document via the document() 
> function, as in:
> 
>   <?xml version="1.0" encoding="UTF-8"?>
>   <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; ... >
> 
>     ...
>     <xsl:template match="d:cli">
>       <xsl:param
> name="doc-name">http://www.ourcompany.com/clients.xml</xsl:param>
>       <xsl:apply-templates
> select="document($doc-name)/c:clients/c:client[...]" />
>     </xsl:template>
> 
> 
>     ...
>   </xsl:stylesheet>
> 
> 
> With the hopes that the transformer can resolve it as well.  
> When using
> Xalan-2.6.2, setting the URIResolver on a TransformerFactory 
> instance works
> well to resolve the <xsl:import> hrefs, but won't resolve document()
> sources.  It will complain with:
> 
>      Can not load requested doc: http://www.ourcompany.com/clients.xml
> 
> I can't just define the physical location of the document in a global
> <xsl:param>, because I can't know what the $doc-name URI will 
> always be.
> 
> Is there a way to configure the TransformerFactory to also resolve
> document() URI's ?
> 
> Thanks,
> Corey Morgan

Current Thread