Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用msxsl=";进行XSLT转换;urn:schemas microsoft com:xslt“;_Php_Xslt_Transformation_Msxsl - Fatal编程技术网

Php 使用msxsl=";进行XSLT转换;urn:schemas microsoft com:xslt“;

Php 使用msxsl=";进行XSLT转换;urn:schemas microsoft com:xslt“;,php,xslt,transformation,msxsl,Php,Xslt,Transformation,Msxsl,我有一个XSLT样式表,其标题如下 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:lxslt="http://xml.apache.org/xslt" xmlns:redirect="org.apache.xalan.xslt.extensions.Redirect" extension-element-prefixes="redirect

我有一个XSLT样式表,其标题如下

  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:lxslt="http://xml.apache.org/xslt"
    xmlns:redirect="org.apache.xalan.xslt.extensions.Redirect"
    extension-element-prefixes="redirect"
   xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:my-ext="ext1">
我们可以看到函数没有被找到/理解,尽管这是我在命令行中使用msXSL.exe运行的代码。

因此,我最终要找出我的PHP.ini中是否有需要修复/添加的内容,以了解如何使用MS扩展,或者我是否需要更改XSL样式表

男人。。。我希望这个问题有意义!谢谢你的帮助。 谢谢

抢劫

我的phpInfo显示

**XSL**
XSL                                      enabled
libxslt Version                              1.1.23
libxslt compiled against libxml Version      2.6.32
EXSLT                                    enabled
libexslt Version                             0.8.13

msxsl:script
是一个专有扩展,允许您使用JScript或VBScript编写扩展函数,我认为libxslt不支持这一点。但是,使用PHP5和libxslt,您可以用PHP编写扩展函数,请参阅。因此,这似乎是一种方法,如果您不能使用纯XSLT来实现您的需求,那么您需要将用J(ava)脚本编写的函数移植到PHP,并利用它在XSLT中使用这些函数


另一种选择是,如果您在有MSXML可用的Windows上运行PHP,您可能希望尝试从PHP使用它,这应该可以借助于例如
new COM(“MSXML2.DomDocument.3.0”)的帮助
例如,应该为您提供一个带有
transformNode
方法的MSXML DOM文档,以使用
msxsl:script

运行样式表,Martin,谢谢您提供的信息。不幸的是,我的处境并不那么明确。我现有的XSL(12个样式表)(w/Javascript扩展)已经是一个生产就绪的批处理系统。我希望使用PHP/HTML以前端方式重用此代码。简言之,我需要从大量XML文件中提取节点,并根据用户的搜索条件生成“单个”HTML输出。用PHP重新实现对我来说是不可行的。再次感谢您的投入。抢劫+
Warning: XSLTProcessor::transformToXml() [xsltprocessor.transformtoxml]: xmlXPathCompOpEval: **function resetAll not found** in D:\Development\AppServ\www\RJFWEB\jqueryFileTree\PHPMain.php on line 49

Warning: XSLTProcessor::transformToXml() [xsltprocessor.transformtoxml]: **Unregistered function** in D:\Development\AppServ\www\RJFWEB\jqueryFileTree\PHPMain.php on line 49
**XSL**
XSL                                      enabled
libxslt Version                              1.1.23
libxslt compiled against libxml Version      2.6.32
EXSLT                                    enabled
libexslt Version                             0.8.13