[xsl] Problem with Safari?

Subject: [xsl] Problem with Safari?
From: "Manfred Staudinger" <manfred.staudinger@xxxxxxxxx>
Date: Mon, 28 Apr 2008 19:52:03 +0200
Hi List,

The stylesheet below (a test is available at
http://test.rudolphina.org/avail-test.xml ) works fine with SAXON
6.5.5, Transformiix (Firefox 2.0.0.14), Opera 9.27 and MSXML3 (IE 6).
But in Safari 2.0.4 it seems not to work. Jugging from a screen-shot
only, element-available(.) returns an empty string, maybe other issues
too.

Can somebody please confirm the problem?

Regards, Manfred

XML:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="avail-test.xsl" type="text/xsl"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
<html xmlns:dr="http://documenta.rudolphina.org/";
	xmlns="http://www.w3.org/1999/xhtml";>
	<head>
		<title>XSLT Availability</title>
	</head>
	<body>
		<h1>XSLT 1.0</h1>
		<dr:available>
			<dr:xslt>
				<dr:elements show="false">
					<dr:e>xsl:number</dr:e>
				</dr:elements>
				<dr:functions show="false">
					<dr:f>document</dr:f>
				</dr:functions>
			</dr:xslt>
			<dr:xpath>
				<dr:functions show="false">
					<dr:f>last</dr:f>
				</dr:functions>
			</dr:xpath>
			<dr:extension>
				<dr:elements show="true">
					<dr:e>msxsl:script</dr:e>
					<dr:e>exsl:document</dr:e>
				</dr:elements>
				<dr:functions show="true">
					<dr:f>msxsl:node-set</dr:f>
					<dr:f>exsl:node-set</dr:f>
				</dr:functions>
			</dr:extension>
		</dr:available>
	</body>
</html>

XSLT:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0"
	xmlns="http://www.w3.org/1999/xhtml";
	xmlns:xhtml="http://www.w3.org/1999/xhtml";
	xmlns:dr="http://documenta.rudolphina.org/";
	xmlns:exsl="http://exslt.org/exsl";
	xmlns:msxsl="urn:schemas-microsoft-com:xslt"
	extension-element-prefixes="exsl msxsl"
	exclude-result-prefixes="xhtml dr exsl msxsl"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

<xsl:output method="xml"
	doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
	doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";
	encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/>

<xsl:template match="/">
	<xsl:apply-templates/>
</xsl:template>

<xsl:template match="*">
	<xsl:copy>
		<xsl:apply-templates select="@*|node()"/>
	</xsl:copy>
</xsl:template>
<xsl:template match="@*|text()|comment()|xhtml:br">
	<xsl:copy/>
</xsl:template>
<xsl:template match="dr:available">
	<ul xmlns="http://www.w3.org/1999/xhtml";>
		<xsl:apply-templates select="@*|node()"/>
	</ul>
</xsl:template>
<xsl:template match="dr:xslt|dr:xpath|dr:extension">
	<xsl:apply-templates select="@*|node()"/>
</xsl:template>

<xsl:template match="dr:functions|dr:elements">
	<li xmlns="http://www.w3.org/1999/xhtml";>
		<xsl:value-of select="concat(local-name(ancestor::*[1]), ' ',
local-name(.), ' available')"/>
		<ul xmlns="http://www.w3.org/1999/xhtml";>
			<xsl:apply-templates select="node()">
				<xsl:sort select="."/>
			</xsl:apply-templates>
		</ul>
	</li>
</xsl:template>
<xsl:template match="dr:f">
		<li xmlns="http://www.w3.org/1999/xhtml";>
			<xsl:value-of select="concat(., ': ', function-available(.))"/>
		</li>
</xsl:template>
<xsl:template match="dr:e">
		<li xmlns="http://www.w3.org/1999/xhtml";>
			<xsl:value-of select="concat(., ': ', element-available(.))"/>
		</li>
</xsl:template>

</xsl:stylesheet>

Current Thread