xsl-list
[Top] [All Lists]

RE: [xsl] Error Namespace 'java.io.File' does not contain any functions" (was Re: [xsl] XSL cant check if "File exists"?)

2006-09-01 02:01:36
Generally, you can't rely on extension functions being portable across
different processors. Certainly, you can't expect Java extension functions
to work in the Internet Explorer processor (MSXML).

As a matter of interest, is the file you are checking for client side or
server side? There may well be security reasons why you aren't allowed to do
this, regardless of any other issues.

Generally, if you stray outside the XSLT 1.0 specification, you will need to
write processor-specific code. You should be able to write conditional code
that executes differently depending which processor you are using.
Alternatively, you might find you can do the work outside your XSLT, in the
calling Javascript, and pass the result in as a parameter. 

Michael Kay
http://www.saxonica.com/



-----Original Message-----
From: Laky Tang [mailto:tulaky(_at_)yahoo(_dot_)com] 
Sent: 31 August 2006 22:51
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Error Namespace 'java.io.File' does not 
contain any functions" (was Re: [xsl] XSL cant check if "File 
exists"?)

Thanks Mike, David and Mukul, 
If you have to work client side, then you're stuck with 
XSLT 1.0 for a 
couple of years yet.

I am hearing the bottomline is that XSL (client side) cannot 
gracefully check if a file exists for now.

But going back to my earlier question (which I am not sure 
was answered), I read there is a way to check using 
extensions, but the following example gives me an error 
"Namespace 'java.io.File'
does not contain any functions" in IE and XML spy. It works 
incorrectly in Firefox / Flock by always saying the file does 
not exist (even if it does). Changing XSLT 1.0 to 2.0 did not 
make any difference. Am I missing something in the namespace 
declarations?

 If there is no way this can be gracfully done in XSL (client 
side) then we might have to dump our work in XSL and start 
looking for alternatives to XSL and I hope the guru's have 
some solution.
Thanks,
-Tulaky
Example adapted from another posting:
------------------------
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:fo="http://www.w3.org/1999/XSL/Format";
xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns:fn="http://www.w3.org/2005/02/xpath-functions";
xmlns:xdt="http://www.w3.org/2005/02/xpath-datatypes";
xmlns:xlink="http://www.w3.org/1999/xlink";
xmlns:h="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd";>
<!-- my other templates go here which call this with the 
Fully qualified or relative filename--> <xsl:template 
name="file_exists"
xmlns:file="java.io.File">
  <xsl:param name="filename" />

  <xsl:if test="not(file:exists($filename))">
  file <xsl:value-of select="$filename"/> does not exist!
  </xsl:if>
</xsl:template>
</xsl:stylesheet>



------------------------------

Date: Wed, 30 Aug 2006 13:41:44 +0100
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
From: "Michael Kay" <mike(_at_)saxonica(_dot_)com>
Subject: RE: [xsl] Namespace
'http://www.w3.org/2005/xpath-functions' does not
contain any functions (was Re: [xsl] XSL cant check
if "File exists"?)
Message-ID: <00d801c6cc31$a69b3090$1a09010a(_at_)turtle>


 but IE says Namespace
'http://www.w3.org/2006/xpath-functions' does not
contain any 
functions.(tried both 2006 and 2005 in the fn
namespace 
declaration) Firefox says "Error during XSLT
transformation: 
An unknown XPath extension function was called."

In both cases, they are saying "I'm an XSLT 1.0
processor, I don't
understand anything about XSLT 2.0 functions".

If you have to work client side, then you're stuck
with XSLT 1.0 for a
couple of years yet.

Michael Kay
http://www.saxonica.com/

------------------------------


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

--~------------------------------------------------------------------
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>
--~--



--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>
  • RE: [xsl] Error Namespace 'java.io.File' does not contain any functions" (was Re: [xsl] XSL cant check if "File exists"?), Michael Kay <=