XSLTProcessor:多个xsl文件


XSLTProcessor: multiple xsl files

我使用phpXSLTProcessor通过xsl文件从xml文件生成html代码。这是有效的。

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

在我的xsl文件中使用这个:

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

其中2nd_file.xsl在执行php的同一目录中。

我得到这个错误:

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

/local/path/to/first/xl/是main.xsl所在的位置,而/local/path/to/php/index.php是导入所在的位置。样式表将要求根URL为/local/paath/to/first.xsl/。如果你把要导入的图纸放在那里,它应该可以工作。

如果您正在使用XSLT2,您可以调用base-uri()来显示XSLT的工作原理。