Re: [xsl] Nordic Characters in variables

Subject: Re: [xsl] Nordic Characters in variables
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Mon, 16 Jan 2012 10:32:49 +0000
On 16/01/2012 10:07, trond.huso@xxxxxx wrote:
Sorry about this:
What I am doing is this:
<xsl:variable name="filename">
             <xsl:value-of select="//filename"/>
         </xsl:variable>
That's a long-winded and expensive way of doing

<xsl:variable name="filename" select="//filename"/>

Where the //filename points to: <filename>RES_FF_20110924_084810</filename>

Error I am getting is:
2012-01-16 09:55:57: An Exception has occured: 'file:///j:/NTB-Normalizer/xml/Travresultater/RES_X_20101015_095157.xml' is not a valid windows path or URI. at xsl:variable
J:\NTB-Normalizer\xslt\Travdata\Travdata.xsl
I suspect you are getting the error when you use the variable, not when you declare it. I imagine you are using the variable as an argument to the doc() or document() function. The argument to this is expected to be a valid URI, and non-ASCII characters are not valid in URIs: try calling encode-for-uri() first:

http://www.w3.org/TR/xpath-functions/#func-encode-for-uri

(The spec allows implementations of doc() to be liberal in what they accept, but it doesn't require it.)

Michael Kay
Saxonica
Line 13, Character 10

2012-01-16 09:55:57:    at Altova.AltovaXML.XSLT2Class.ExecuteAndGetResultAsString()
    at NTBNormalizer.NTBConverter.XSLAltovaConverter(String fileXSL, FileInfo fileXML, ArrayList dirOutput, ArrayList arrFileEncoding, String strOutputDocType) in C:\Visual Studio Projects\Visual Studio 2008\NTBNormalizer\NTBNormalizer\Converter.cs:line 290
2012-01-16 09:55:57: Moving file to J:\NTB-Normalizer\error

It does not create this error when I am parsing/converting files that does not have Nordic characters.

As said in the initial mail: I can do this quick'n dirty by creating my own filename, but I kind of does not want to do that as I (or someone else) might have to get in touch with the originator of the file and therefor it is a good thing to tell them which file we have problems with.


Trond Husx



-----Original Message----- From: Michael Kay [mailto:mike@xxxxxxxxxxxx] Sent: 16. januar 2012 10:46 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] Nordic Characters in variables

On 16/01/2012 09:08, trond.huso@xxxxxx wrote:
Hi,

I am getting an error when transforming a file where I am storing a filenam= e in a variable. The filename sometimes contains letters that are quite com= mon in Nordic names (&aelig; and so on).
One solution is that I create new filenames, but I don't really want to do = that - yet). So I am wondering: How do I work around this issue?


Standard answer to this kind of question: there's no point telling us you're getting an error without telling us what the error is.

You need to say exactly what you did and exactly how it failed.

If the issue concerns non-ASCII filenames then it may also be dependent on your operating system.

Michael Kay
Saxonica

Current Thread