Re: [xsl] document() function and error-handling

Subject: Re: [xsl] document() function and error-handling
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 3 Jan 2008 22:39:04 GMT
>  and MSXML doesn't support the "script" extension.

all versions of msxsl support a script element in the msxsl namespace
that allows you to use javascript to define extension functions that you
can call from xpath.

something like this:

<xsl:stylesheet 
    version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    xmlns:msxsl="urn:schemas-microsoft-com:xslt"
    xmlns:f="f"
    >
  

<msxsl:script language="JScript" implements-prefix="f">
function fileexists(f) {
   var myObject;
        myObject = new ActiveXObject("Scripting.FileSystemObject");
        if(myObject.FileExists(f)){
          return 1
        } else {
                    return 0
        }
    }
</msxsl:script>

<xsl:template match="y">
  
one

  <xsl:if test="f:fileexists('c:/tmp/msdoc1.xml')">
    <xsl:value-of select="document('msdoc1.xml')"/>
  </xsl:if>

two

  <xsl:if test="f:fileexists('c:/tmp/msdoc2.xml')">
    <xsl:value-of select="document('msdoc2.xml')"/>
  </xsl:if>
</xsl:template>
</xsl:stylesheet>

Current Thread