我一直在尝试几个小时,但我无法让包含工作。我留下的只是一个空白页面。采取甘德在代码:xsl:包括不工作
something.xsl
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" omit-xml-declaration="yes" />
<xsl:output
doctype-public="-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
doctype-system="http://www.wapforum.org/DTD/xhtml-mobile10.dtd"/>
<xsl:template match="/">
<xsl:element name="html">
<xsl:element name="head">
<xsl:element name="title">Something</xsl:element>
</xsl:element>
<xsl:element name="body">
<xsl:attribute name="onload">
<xsl:text>initialize();</xsl:text>
</xsl:attribute>
<xsl:element name="div">
<xsl:attribute name="id">
<xsl:text>main</xsl:text>
</xsl:attribute>
</xsl:element>
<xsl:include href="blob.xsl" />
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
blob.xsl
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" omit-xml-declaration="yes" />
<xsl:output
doctype-public="-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
doctype-system="http://www.wapforum.org/DTD/xhtml-mobile10.dtd"/>
<xsl:template match="*">
<xsl:element name="div">
<xsl:attribute name="id">
<xsl:text>navoptions</xsl:text>
</xsl:attribute>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
和PHP代码
<?php
$xml = new DOMDocument();
$xml->load('file.xml');
$xsl = new DOMDocument;
$xsl->load('something.xsl');
$proc = new XSLTProcessor();
$proc->importStyleSheet($xsl);
echo $proc->transformToXML($xml);
?>
更新:这显然不是到任何地方。就我的研究而言,使用PHP时不能导入多个xsl样式表。另一方面,有谁知道这是否可以使用ColdFusion?
试过了,它所做的只是单独加载第二个样式表。第一个被忽略。 – Zizo47 2013-02-27 15:21:43
另外,当我尝试将第一个和第二个样式表分配给不同的变量时,我又获得了空白页面。该页面上的评论实际上表示不支持多个样式表加载。 – Zizo47 2013-02-27 15:24:07