PHP5 и XSLT

2 отговора 90 прегледа
#1

PHP5 и XSLT

Опитвам се да подкарам XSLT поддръжката на PHP5 RC2. За целта реших да взема направо малко код от статиката на ZEND-а за XML. Пускам си extension-а за xsl съпорт... създавам си нужните файлчета (xml, xsl, php) пускам скрипта ииии..... драма драма, Apache-то горкото издъхва (Apache.exe Application Error). Явно грешката я връща PHP модула. Тръгнах да търся из гугъла и попадвам на bugs.php.net където хората(с имейл @php.net) ме карат да си тегля последния snapshot. Тегля... пускам... там пък се дъни php5ts.dll още при пускането/спирането на апаче-то(Apache.exe Application Error)... подменям го със този от RC2 и пали... обаче пак забива на същото място в скрипта... Ето го и него: (грешката не е в кода щото е 1:1 от ZEND-а, а там още никой не се е оплакал)

/* load the xml file and stylesheet as domdocuments */
$xsl = new DomDocument();
$xsl->load("articles.xsl");
$inputdom = new DomDocument();
$inputdom->load("articles.xml");

/* create the processor and import the stylesheet */
$proc = new XsltProcessor();
$xsl = $proc->importStylesheet($xsl);
$proc->setParameter(null,"name","value");

/* transform and output the xml document */
$newdom = $proc->transformToDoc($inputdom);
print $newdom->saveXML();

Когато изпълнението стигне до извикването на метода importStylesheet апачето гърми(т.е. извиква го и тогава гърми)... реагира така сякаш съм зациклил нещо...

Някой сблъсквал ли се е с подобен проблем? Или пък да има представа от какво може да е...

__________________________________
Пътят към ада е осеян с добри намерения
Отговор
в отговор на ..:: StanProg ::.. #2

Re: PHP5 и XSLT

не че съм много наясно, ама туй двете съвместими ли са ?
$xsl->load("articles.xsl");
$xsl = $proc->importStylesheet($xsl);

както и да гледам, има нещо което не ми харесва. едното ти е обект а другото е ненам к'во дет имам усещане че преви опит да препокрие обекта, па може и да греша, все пак 8 бири са си 8 бири.

Бе то не че в Зенд някой който публикува ги чете тези неща .....

-----------------------
гърбавия, ковчег ще го изправи
Отговор
в отговор на Bълk #3

Re: PHP5 и XSLT

В интерес на истината си прав, няма смисъл от него, още повече че този обект $xsl не се използва по-долу в примера. Метода importStylesheet върща булева стойност, явно казва дали е успял да извърши импортирването т.е. върнатата стойнст на метода препокрива обекта. В половината примери които съм прегедал е направено така:
$xsl = $proc->importStylesheet($xsl);
в другата половина така:
$proc->importStylesheet($xsl);

Това обаче не е от съществено значение в момента, важното е, че и при двата варианта изпълнението на метода importStylesheet води до скапване на PHP модула на Apache-то.

__________________________________
Пътят към ада е осеян с добри намерения
Отговор