|  | Posted by Torgny Bjers on 08/12/05 11:12 
Hello,
 A while back I posted a question in relation to XSL namespaces and
 callbacks, but never got a response, not even a flame, which I found a
 bit odd for this list. :P  I know this is pretty cutting-edge for PHP
 since the XSL library has only been used in PHP 5, well, except for the
 XSLT/Sablotron that was available for 4.
 
 My original post can be found here:
 http://marc.theaimsgroup.com/?l=php-general&m=112299671816888&w=2
 
 What I am trying to do here is what the .NET framework does in XSL by
 adding a custom namespace that binds to an Assembly and a class. Is this
 at all possible in PHP? The reason why I am asking this is because I do
 not want the end user to be able to execute any type of PHP code through
 XSL, which they can if I call $xslt->registerPHPFunctions(); and enable
 the php namespace through
 
 <xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:php="http://php.net/xsl">
 
 For security reasons I would want to limit the user to a specific custom
 library class instead of allowing them to use the php:function() that
 can call any PHP method/function/internal.
 
 So, instead of:
 <xsl:value-of select="php:function('ClassName::Method', ./@id)"/>
 I would like the call to be:
 <xsl:value-of select="namespace.classname:Method(./@id)"/>
 
 Where the stylesheet declaration looks like:
 <xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:namespace.classname="urn:namespace.classname">
 
 Since that way they can only call the macro classes/methods that have
 been validated and added as libraries when loading the XSL renderer.
 
 Any help in this matter is greatly appreciated. Also, if somebody can
 forward this matter to the PHP internals, Jochem comes to mind, it would
 be awesome. I think this would definitely be a very competitive feature
 for the PHP XSL implementation.
 
 Warm Regards,
 Torgny
  Navigation: [Reply to this message] |