Subject: Re: URI's, double backslashes and regular expressions
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 28 Oct 2010 20:03:18 +0100
|
On 28/10/2010 19:51, Neil Owens wrote:
I just can't figure out the syntax here
I'm passing a directory location into Saxon as a parameter. Only I need to make every '\' character in the (windows) directory path a '\\' for the uri in the transform. As it's only the transform that needs this I thought I'd do the conversion in the transform. And it's beaten me.
why? UROs never use \ to separate components they always use / and \
isn't an escape character in xpath strings so you never need to double \/
The command line param is: ...path="C:\Documents and Settings\Adminis
trator\My Documents\Projects\Transform\OutputFiles"
I've got this neatly passed into the transform with:
<xsl:param name="path"></xsl:param>
...
<xsl:template match="Log">
<xsl:value-of select= replace($path, '\\', '\\')" />
<xsl:variable name="Command" select="concat($path, '\\OutputFiles\\Command-output.xml')" />
<xsl:result-document method="xml" href="{$Command}">
.....
But fails and I just can't figure out how to achieve setting the result-document
href to equal "C:\\Documents and Settings\\Administrator\\My
Documents\\Projects\\Transform\OutputFiles"
you want a URI not a windows file path with doubled \
file:///c:/Documents%20and%20Settings\\Administrator\\My%20Documents\\Projects\\Transform\OutputFiles
David
|