微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP可以与XSLT通信吗?

我想使用xml和amp;的组合xslt作为模板系统.我想回答的问题是:xslt和PHP可以相互通信(即共享变量)吗?

解决方法:

您可以使用PHP执行的基本任务是定义要使用哪个XSLT脚本转换的XML文件.使用这个你可以
a)将参数从PHP传递给XSLT和
b)在XSLT脚本中使用PHP函数.
这个例子展示了如何 – 第一个PHP文件

<?PHP
function f($value){
  //do something
  return $value;
}
$proc=new XsltProcessor;
$proc->registerPHPFunctions();
$proc->setParameter('', 'p', '123');
$proc->importStylesheet(DOMDocument::load("script.xsl"));
echo $proc->transformToXML(DOMDocument::load("data.xml"));
?>

第二个XSLT文件

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:PHP="http://PHP.net/xsl" exclude-result-prefixes="PHP">
  <xsl:param name="p" select="''"/>
  <xsl:template match="/">
    <xsl:value-of select="$p"/> 
    <xsl:value-of select="PHP:function('f', '456')"/>
  </xsl:template>
</xsl:stylesheet>

输出应为123456
已编辑:select =“””而是select =“”

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。