【发布时间】:2011-04-26 08:51:08
【问题描述】:
在我的 XSLT 文件中。我使用document()函数
<xsl:variable name="Publicity" select="document('./publicity.xml')" />
这可行,但如果我尝试链接动态生成 XML 的 PHP 脚本,
<xsl:variable name="Publicity" select="document('./publicity.php')" />
我得到一个
Warning: XSLTProcessor::transformToXml() [xsltprocessor.transformtoxml]: file:///C:/wamp/www/XSLT/test.php:3: parser error : Start tag expected, '<' not found in ... on line ...
其中包含来自<?php 的<
看起来 XSLTProcessor 没有像通过 HTTP 请求那样请求文件,所以它不是由 Apache / PHP 执行的。
我知道我可以简单地将那个 XML 结构包含到我的主要 XML 中,但我试图避免这种情况......直到有人告诉我没有其他方法。
谢谢!
【问题讨论】:
-
一点都不清楚。您的源 xml 文档是什么(请提供一个最小示例)。您的 XSLT 样式表是什么(请提供一个最小示例)。 “如果我尝试链接动态生成 XML 的 PHP 脚本”是什么意思?示例必须完整但最少,并且必须重现问题。
-
@Dimitre:当我使用
document()指向XML文件时,它可以工作,但如果我使用document()访问PHP脚本(PHP 可以生成XML 仅供参考)我得到一个错误。比尔说document()从磁盘读取文件所以PHP没有执行所以我得到一个错误。我想没有办法真正做到这一点。 -
查看我的答案以获得解释和解决方法。