RE: [xsl] document() access. The combinations

Subject: RE: [xsl] document() access. The combinations
From: Américo Albuquerque <aalbuquerque@xxxxxxxxxxxxxxxx>
Date: Tue, 29 Apr 2003 18:32:21 +0100
Hi

I've tested your examples (with some changes since msxsl doesn't recover
from some errors) and this are the results I've got:

Msxsl:
Test on file access
XSL 1
Vendor: Microsoft
Vendor URL: http://www.microsoft.com

1 -  uriIncl.xml OK
Content is uriIncl.xml  
2 -  file:/uriIncl.xml OK
Content is c:\uriIncl.xml  
3 -  file://uriIncl.xml disabled by user 
4 -  file:///uriIncl.xml OK
Content is c:\uriIncl.xml  
5 -  file:///c:/sgml/files/uriIncl.xml OK
Content is c:\sgml\files\uriIncl.xml  
6 -  file://c:/sgml/files/uriIncl.xml OK
Content is c:\sgml\files\uriIncl.xml  
7 -  file:/c:/sgml/files/uriIncl.xml OK
Content is c:\sgml\files\uriIncl.xml  
8 -  file:///h:/uriIncl.xml OK
Content is c:\uriIncl.xml  
9 -  file://h:/uriIncl.xml OK
Content is c:\uriIncl.xml  
10 -  file:/h:/uriIncl.xml OK
Content is c:\uriIncl.xml  
11 -  file:/localhost/c:/sgml/files/uriIncl.xml disabled by user 
12 -  file://localhost/c:/sgml/files/uriIncl.xml OK
Content is c:\sgml\files\uriIncl.xml  
13 -  file:///localhost/c:/sgml/files/uriIncl.xml disabled by user 
14 -  h:/uriIncl.xml OK
Content is c:\uriIncl.xml  
15 -  \\church\data3\users\dpawson\uriIncl.xml OK
Content is \\church\data3\users\dpawson\uriIncl.xml  
16 -  //church/data3/users/dpawson/uriIncl.xml OK
Content is \\church\data3\users\dpawson\uriIncl.xml  
17 -  file:///h:/uriIncl.xml OK
Content is c:\uriIncl.xml  

Saxon:
Test on file access
XSL 1
Vendor: SAXON 6.5.2 from Michael Kay
Vendor URL: http://saxon.sf.net/ 

1 -  uriIncl.xml OK
Content is uriIncl.xml  
2 -  file:/uriIncl.xml OK
Content is c:\uriIncl.xml  
3 -  file://uriIncl.xml disabled by user 
4 -  file:///uriIncl.xml OK
Content is c:\uriIncl.xml  
5 -  file:///c:/sgml/files/uriIncl.xml OK
Content is c:\sgml\files\uriIncl.xml  
6 -  file://c:/sgml/files/uriIncl.xml OK
Content is c:\sgml\files\uriIncl.xml  
7 -  file:/c:/sgml/files/uriIncl.xml OK
Content is c:\sgml\files\uriIncl.xml  
8 -  file:///h:/uriIncl.xml OK
Content is c:\uriIncl.xml  
9 -  file://h:/uriIncl.xml OK
Content is c:\uriIncl.xml  
10 -  file:/h:/uriIncl.xml OK
Content is c:\uriIncl.xml  
11 -  file:/localhost/c:/sgml/files/uriIncl.xml disabled by user 
12 -  file://localhost/c:/sgml/files/uriIncl.xml OK
Content is c:\sgml\files\uriIncl.xml  
13 -  file:///localhost/c:/sgml/files/uriIncl.xml disabled by user 
14 -  h:/uriIncl.xml failed 
15 -  \\lanowar\data3\users\dpawson\uriIncl.xml failed 
16 -  //lanowar/data3/users/dpawson/uriIncl.xml failed 
17 -  file:///h:/uriIncl.xml OK
Content is c:\uriIncl.xml  

Xalan:
Test on file access
XSL 1
Vendor: Apache Software Foundation
Vendor URL: http://xml.apache.org/xalan-j

1 -  uriIncl.xml OK
Content is uriIncl.xml  
2 -  file:/uriIncl.xml OK
Content is c:\uriIncl.xml  
3 -  file://uriIncl.xml disabled by user 
4 -  file:///uriIncl.xml OK
Content is c:\uriIncl.xml  
5 -  file:///c:/sgml/files/uriIncl.xml OK
Content is c:\sgml\files\uriIncl.xml  
6 -  file://c:/sgml/files/uriIncl.xml OK
Content is c:\sgml\files\uriIncl.xml  
7 -  file:/c:/sgml/files/uriIncl.xml OK
Content is c:\sgml\files\uriIncl.xml  
8 -  file:///h:/uriIncl.xml OK
Content is c:\uriIncl.xml  
9 -  file://h:/uriIncl.xml OK
Content is c:\uriIncl.xml  
10 -  file:/h:/uriIncl.xml OK
Content is c:\uriIncl.xml  
11 -  file:/localhost/c:/sgml/files/uriIncl.xml disabled by user 
12 -  file://localhost/c:/sgml/files/uriIncl.xml OK
Content is c:\sgml\files\uriIncl.xml  
13 -  file:///localhost/c:/sgml/files/uriIncl.xml disabled by user 
14 -  h:/uriIncl.xml OK
Content is c:\uriIncl.xml  
15 -  \\lanowar\data3\users\dpawson\uriIncl.xml OK
Content is \\church\data3\users\dpawson\uriIncl.xml  
16 -  //lanowar/data3/users/dpawson/uriIncl.xml failed 
17 -  file:///h:/uriIncl.xml OK
Content is c:\uriIncl.xml  



Those signed as 'disabled by user' have valid="no" so they don't crash msxsl
but they don't work with the others either

Here is my altered stylesheet:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.1"
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
        xmlns:d="rnib.org.uk/tbs#">

 <d:doc >
  <revhistory>
   <purpose><para>Testing an external reference </para></purpose>
   <revision>
    <revnumber>1.0</revnumber>
    <date>29 Apr 03</date>
    <authorinitials>DaveP</authorinitials>
    <revdescription>
     <para>Altered by AAlbuquerque</para>
    </revdescription>
    <revremark>-</revremark>
   </revision>
  </revhistory>
 </d:doc>
 
 <xsl:output method="html"/>

 <d:forms>
  <form>uriIncl.xml</form>
  <form>file:/uriIncl.xml</form>
  <form valid="no">file://uriIncl.xml</form>
  <form>file:///uriIncl.xml</form>
  <form>file:///c:/sgml/files/uriIncl.xml</form>
  <form>file://c:/sgml/files/uriIncl.xml</form>
  <form>file:/c:/sgml/files/uriIncl.xml</form>
  <form>file:///h:/uriIncl.xml</form>
  <form>file://h:/uriIncl.xml</form>  
  <form>file:/h:/uriIncl.xml</form>
  <form valid="no">file:/localhost/c:/sgml/files/uriIncl.xml</form>
  <form>file://localhost/c:/sgml/files/uriIncl.xml</form>
  <form valid="no">file:///localhost/c:/sgml/files/uriIncl.xml</form>
  <form>h:/uriIncl.xml</form>
  <form>\\lanowar\data3\users\dpawson\uriIncl.xml</form>
  <form>//lanowar/data3/users/dpawson/uriIncl.xml</form>
  <form>file:///h:/uriIncl.xml</form>
 </d:forms>


 <xsl:template match="/">
  <html><head><title>Checking document()</title></head>
  <body>
   <h3>Test on file access</h3>
   <p><xsl:text>XSL </xsl:text><xsl:value-of
select="system-property('xsl:version')"/> <br/>
      <xsl:text>Vendor: </xsl:text><xsl:value-of
select="system-property('xsl:vendor')"/><br/>
      <xsl:text>Vendor URL: </xsl:text><xsl:value-of
select="system-property('xsl:vendor-url')"/></p>
   <table cellpadding="2" cellspacing="0">
   <xsl:for-each select="document('')//d:forms/form">
    <xsl:call-template name="checkit">
     <xsl:with-param name="form" select="."/>
    </xsl:call-template>
   </xsl:for-each>
  </table>
 </body>
 </html>
 </xsl:template>


 <xsl:template name="checkit">
  <xsl:param name="form" />
  <xsl:variable name="doc" select="document($form[@valid='y' or @valid='yes'
or not(@valid)])"/>
  
  <tr>
  <td width="50"><small><xsl:value-of select="position()"/><xsl:text> -
</xsl:text></small></td>
  <xsl:choose >
   <xsl:when test="$doc">
    <td><i><xsl:value-of select="$form"/></i> OK<br />
    <b>Content is </b><u><xsl:value-of
select="document($form)/ext"/></u></td>
   </xsl:when>
   <xsl:when test="$form[not(@valid='y' or @valid='yes' or not(@valid))]">
    <td><font color="darkred"><i><xsl:value-of select="$form"/></i> disabled
by user</font></td>
   </xsl:when>
   <xsl:otherwise>
    <td><font color="red"><i><xsl:value-of select="$form"/></i>
failed</font></td>
   </xsl:otherwise>
  </xsl:choose>
  </tr>
 </xsl:template>

</xsl:stylesheet>



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread