XSLTProcessor:多个xsl文件

时间:2015-03-17 07:34:26

标签: php xml xslt

我正在使用php XSLTProcessor通过xsl文件从xml文件生成我的html代码。这很有效。

我的问题是某些时候xsl文件太大而无法轻松使用它,因此将一些部分分发到外部文件是有意义的。但是xsl:import和xsl:include函数都不起作用。我认为原因可能是xsl处理器存在路径问题,但我不确定。

在我的xsl文件中使用:

<xsl:import href="2nd_file.xsl"/> 

其中 2nd_file.xsl 与执行php的目录相同。

我收到此错误:

  

警告:XSLTProcessor :: importStylesheet()[xsltprocessor.importstylesheet]:编译错误:文件/local/path/to/first/xsl/main.xsl第7行   第57行 - 第57行/local/path/to/php/index.php中的元素导入   在PHP中是:$ proc-&gt; importStylesheet($ xslDoc);

1 个答案:

答案 0 :(得分:1)

/ local / path / to / first / xsl /是main.xsl的位置,但/local/path/to/php/index.php是导入的位置。您的样式表将期望根URL为/ local / path / to / first / xsl /。如果你把纸张放在那里,它应该可以工作。

如果您使用的是XSLT2,可以调用base-uri()来表明您正在使用XSLT。