Слить несколько XSL шаблонов в один

demmi

Guest
Слить несколько XSL шаблонов в один

Потребовалось объединить несколько шаблонов в один:

допустим есть 2 шуки:

1 - главный

PHP:
<?xml version="1.0" encoding="WINDOWS-1251"?>
<xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match="/">
	<html><head><title></title></head><body>
	     <xsl:apply-templates select="news"/>
	</body></html>
</xsl:template>
</xsl:stylesheet>
2 - пристыковываемый
PHP:
<?xml version="1.0" encoding="WINDOWS-1251"?>
<xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
	<xsl:template match="news">
                 bla-bla-bla
	</xsl:template>
</xsl:stylesheet>
код стыковки следующий:
PHP:
$this->xslt = new DOMDocument;
$this->xslt->load("file1.xslt");
...
$mod_xslt=simplexml_load_file("file2.xslt");
$mod_import = dom_import_simplexml($mod_xslt);
$mod_import = $this->xslt->importNode($mod_import, true);
$this->xslt->appendChild($mod_import);
На выходе получаю бред -> объединение шаблонов с продублированными <xsl:stylesheet ..></xsl:stylesheet>

Как сделать правильно ?

P.S. PHP 5.0.2
 

Qasimodo

Новичок
Re: Слить несколько XSL шаблонов в один

Автор оригинала: demmi
Потребовалось объединить несколько шаблонов в один:
PHP:
<?xml version="1.0" encoding="WINDOWS-1251"?>
<xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:include href="file2.xslt"/>

<xsl:template match="/">
	<html><head><title></title></head><body>
	     <xsl:apply-templates select="news"/>
	</body></html>
</xsl:template>
</xsl:stylesheet>
 

demmi

Guest
нужно, именно, как раз без всяких там <xsl:include .. /> и <xsl:import .. />
 

slach

Новичок
ты импортируешь document root element со всеми child'ами

а надо импортировать все child'ы <xsl:stylesheet>
 
Сверху