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[(_at_)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