xsl-list
[Top] [All Lists]

Re: [xsl] URI's, double backslashes and regular expressions

2010-10-28 14:03:32
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



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--