Subject: Re: [xsl] XSLT 2: File path to URI for non-XML file From: Yves Forkl <Y.Forkl@xxxxxx> Date: Wed, 08 Oct 2008 14:12:32 +0200 |
Yves Forkl wrote: [...]How can I "convert" the file path of the CSS file (i.e. $css_file) into a URI, given that the XSLT stylesheet is not located in the same directory? Functions targeting the URI of source document nodes won't help me much either, I fear.
The href attribute of xsl:result-document takes a URI reference (relative or absolute) so I am not sure where the problem is, is your variable value not simply a relative file URI?. If you want/need to resolve relative URIs then use http://www.w3.org/TR/xpath-functions/#func-resolve-uri
<xsl:function name="my:windowsfilepath_to_uri" as="xs:string"> <xsl:param name="filepath" as="xs:string"/> <!-- Conversion steps: 1) replace backslashes with slashes 2) encode percent sign 3) percent-encode URI fragment identifier character 4) percent-encode characters illegal in URIs, using iri-to-uri 5) add three slashes before drive letter 6) prefix result with "file:" --> <xsl:value-of select="concat( 'file:', replace( iri-to-uri( replace( replace( replace($filepath, '\\', '/'), '%', '%25'), '#', '%23')), '^([A-Za-z]):', '///$1:'))"/> </xsl:function>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XSLT 2: File path to URI , Martin Honnen | Thread | RE: [xsl] XSLT 2: File path to URI , Michael Kay |
RE: [xsl] XSLT 2.0 processor signal, Michael Kay | Date | Re: [xsl] Key and document() proble, G. Ken Holman |
Month |