我正在使用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);
答案 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。