【问题标题】:PHP XSLTProcessor::importStylesheet(): compilation errorPHP XSLTProcessor::importStylesheet():编译错误
【发布时间】:2021-01-07 18:38:01
【问题描述】:

我正在尝试导入 XSLT 样式表,但仍然收到此错误...

PHP:

//cadena original
        $xsl = new \DOMDocument();
        $xsl->load('storage/utils/cadenaoriginal_3_3.xslt');        
        // Crear el procesador XSLT que nos generará la cadena original con base en las reglas descritas en el XSLT
        $proc = new \XSLTProcessor();
        // Cargar las reglas de transformación desde el archivo XSLT.
        $proc->importStyleSheet($xsl);

XSLT: 网址:http://www.sat.gob.mx/sitio_internet/cfd/3/cadenaoriginal_3_3/cadenaoriginal_3_3.xslt

有什么想法吗? :( 这是 goberment 使用的 XSLT,所以,它内部应该没有什么问题,但是有人能看出一些奇怪的地方吗?

【问题讨论】:

    标签: php xml xslt


    【解决方案1】:

    样式表上写着version="2.0",这可能意味着它是为XSLT 2.0 处理器编写的。基于 libxslt 的 PHP 仅支持 XSLT 1.0。理论上,遇到更高版本声明的 XSLT 1.0 处理器应该尝试切换到前向兼容处理,但我认为 libxslt 不会这样做。

    因此,您需要尝试使用 Saxon 9 或 10 运行 XSLT,可用于 Java 或 .NET 或作为 Saxon-C 也可以使用 PHP 绑定,如果您需要从 PHP 执行此操作。

    【讨论】:

    • 非常感谢你的帮助,我在这里有点新,所以我不能“投票”,但它真的很有用,谢谢♥
    猜你喜欢
    • 1970-01-01
    • 2020-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-14
    • 2011-12-17
    • 1970-01-01
    • 2012-09-14
    相关资源
    最近更新 更多