xmlhack.ru XML-форумы
Обсуждение XML и связанных с ним технологий

xml+xsl+DOMDocument


Автор Сообщение
МСергей
Гость




[13234] Вт Ноя 18, 2008 12:49
xml+xsl+DOMDocument
Доброго всем времени!
Есть страница на php. Есть несколько xml, и xsl Заголовки у них одинаковы
$xmlf='<?xml version="1.0" encoding="windows-1251"?>....';
$xsltemplate='<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl=".../1999/XSL/Transform">
<xsl:output xmlns=".../TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="Windows-1251" indent="yes" method="html" omit-xml-declaration="no" cdata-section-elements="body" version="1.0" media-type="text/xml"/>...';

в страницу вставляю в произвольных местах с использованием:
$xml = new DOMDocument;
$xml->LoadXML($xmlf);
$xsl = new DOMDocument;
$xsl->LoadXML($xsltemplate);

$xlsproc = new XSLTProcessor();
$xlsproc->importStylesheet($xsl);
echo $xlsproc->transformToXML($xml);

Все обрабатывается хорошо но в HTML перед каждым вставленным блоком добавляется строка:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"> как от этого избавиться?
Спасибо!
Fireball
Наставник

Зарегистрирован: 26.02.2008
Сообщения: 282

[13237] Вт Ноя 18, 2008 13:48

Хм, а поискать в коде такую же строчку слабо было? Smile
Прочитай про все атрибуты тега <xsl:output />. У него явно есть лишние.

А вообще, я бы посоветовал сделать, чтобы один шаблон генерил одну страницу полностью. В него можно инклуды/импорты других шаблонов напихать, главное, тут, что в коде на PHP лучше сгенерить ОДНУ XML'ку и к ней применить ОДИН шаблон. А не собирать из частей все это дело.