doutusheng5879 2010-10-16 16:22
浏览 98
已采纳

在PHP中动态生成的XML上使用XSLT document()

In my XSLT file. I use the document() function

<xsl:variable name="Publicity" select="document('./publicity.xml')" />

and that works but if I try to link a PHP script that generate the XML dynamically,

<xsl:variable name="Publicity" select="document('./publicity.php')" />

I get a

Warning: XSLTProcessor::transformToXml() [xsltprocessor.transformtoxml]: file:///C:/wamp/www/XSLT/test.php:3: parser error : Start tag expected, '<' not found in ... on line ...

Which consist of the < from <?php

It looks like the XSLTProcessor isn't requesting the file like via a HTTP request so it's not executed by Apache / PHP.

I know I could simply include that XML structure to my main XML but I'm trying to avoid this... until someone tell me there is no other way.

Thank you!

  • 写回答

4条回答 默认 最新

  • douzhengyi5022 2010-10-16 16:49
    关注

    Right the document() function just reads a file off the disk, it does not make an HTTP request. So the PHP doesn't execute.

    You'll have to use an URL instead of just the filename as the argument to your document() function.

    <xsl:variable name="Publicity" 
         select="document('http://example.com/publicity.php')" />
    

    I believe that using an URL in this way is a common feature in most XSLT processors, but I have not tested it with PHP, so your mileage may vary.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛