--- /dev/null
+<?php\r
+// Coded for PHP4 - requires PHP's XSLT extension to be enabled\r
+\r
+$outfile=isset($_GET["name"]) ? $_GET["name"] : "export";\r
+if (!isset($_GET["xml"])) {\r
+ echo "ERROR: expected url for xml source document";\r
+}\r
+elseif (!isset($_GET["xsl"])) {\r
+ echo "ERROR: expected url for xsl transformation";\r
+}\r
+else {\r
+ doTransform($_GET["xml"], $_GET["xsl"]."2xl.xsl");\r
+}\r
+\r
+\r
+\r
+function doTransform($xmlfilename, $xslfilename) {\r
+ $xh = xslt_create();\r
+ if (!$xh) {\r
+ echo "<p>ERROR: unable to invoke php's xslt processor";\r
+ return;\r
+ }\r
+ $root='file://'.$_SERVER['DOCUMENT_ROOT'];\r
+ $result = xslt_process($xh, $root.$xmlfilename, $root.$xslfilename);\r
+ if ($result) {\r
+ header("Content-type: application/ms-excel");\r
+ //header("Content-type: application/vnd.ms-excel");\r
+ header('Content-Disposition: attachment; filename="'.$GLOBALS['outfile'].'.xls";');\r
+ echo $result;\r
+ } else {\r
+ echo "<p>ERROR: unable to transform ".$xmlfilename;\r
+ echo "<br>" . xslt_error($xh); \r
+ }\r
+ xslt_free($xh);\r
+}\r
+\r
+?> \r