[xsl] Re: Can't get expath-file functions to work in Saxon 9.5 PE

Subject: [xsl] Re: Can't get expath-file functions to work in Saxon 9.5 PE
From: Martin Holmes <mholmes@xxxxxxx>
Date: Sun, 23 Feb 2014 16:58:17 -0800
That does work for expath file functions, but I can't get the zip functions to work. I wonder if anyone can suggest what I'm doing wrong here. You have to pass a <zip:file> element to the expath-zip:zip:file() function, and the simplest way I can see to do that is to create the zip:file element inside a variable and then pass the variable to the function:

<xsl:variable name="zipFile">
<zip:file href="{$outputFilePath}">
<zip:dir name="META-INF">
<zip:entry name="manifest.xml" src="{concat($tempDir, '/META-INF/manifest.xml')}" method="xml"/>
</zip:dir>
</zip:file>
</xsl:variable>


<xsl:sequence select="zip:zip-file($zipFile/zip:file)"/>

I've also tried with

<xsl:sequence select="zip:zip-file($zipFile)"/>

I've tried using both "zip" and "expath-zip" as the namespace prefix; in all cases I get this error:

Cannot find a matching 1-argument function named {http://expath.org/ns/zip}zip-file().

I know this isn't yet intended to be stable, but I would have thought the function would be accessible even if it fails somehow.

cheers,
Martin

On 14-02-23 01:48 PM, Graydon wrote:
On Sun, Feb 23, 2014 at 01:37:00PM -0800, Martin Holmes scripsit:
Hi there,

I'm using Saxon 9.5.1.3 PE in Oxygen 15.2 with XSLT 2.0. I'm trying
to use the expath-file functions, which the documentation says are
available. This is a simple version of what I'm trying:


...xmlns:expath-file="http://expath.org/ns/file";...
[snip]

xmlns:file="http://expath.org/ns/file";

is currently not giving me that error.

Disturbingly, file:exists() is returning true about a file that isn't
showing up in a directory that isn't there on the file system, so I've
clearly got a ways to go with this, but I think that's the correct
namespace so far as Oxygen is concerned.  (Though I am using XSLT 3.0).

-- Graydon

Current Thread