Subject: RE: 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: 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
|