Yakın boş XSL rağmen XSLTProcessor :: importStylesheet () PHP Uyarı

1 Cevap php

Ben aşağıdaki kodu kullanmak çalışıyorum

# LOAD XML FILE
$XML = new DOMDocument();
$XML->loadXML( $exporteddatatransformed );

# START XSLT
$xslt = new XSLTProcessor();
$XSL = new DOMDocument();
$XSL->load( 'xsl/'.$xsltemplatefileid.'.xsl', LIBXML_NOCDATA);
$xslt->importStylesheet( $XSL );            <-- LINE 549
#PRINT
print $xslt->transformToXML( $XML );

Ama aşağıdaki hata üretir.

Uyarı: XSLTProcessor :: importStylesheet () [xsltprocessor.importstylesheet]: derleme hatası:. On line in / home dosya / home/..../xsl/1234567890.xsl hat 2 elemanı stil / .... / myfile.php 549

XSL sayfalık bu gibi görünüyor:

<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
</xsl:template>
</xsl:stylesheet>

Şu anda sorun nerede teşhis etmek için bu "şey" aşağı kesilmiş, ama yine de bu "temel" XSL sürümünde kalır!

1 Cevap

Bu bir stil satırı: Bu xsl değiştirmeniz ise gayet yüklemek gibi görünüyor:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

Hangi bu xsl dosyası olması anlamına gelir:

<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:template match="/">
    </xsl:template>
</xsl:stylesheet>

Yerine senin.

Eğer dosya dönüştürmeye çalıştığınızda çalışır mı?


Note : I'm not using XSL quite often, so not sure why what you proposed didn't work ; but the "http://www.w3.org/1999/XSL/Transform" is used both on wikipedia's article about XSL Transformations, and in the example .xsl file used in the PHP manual...

Yani, "neden" ^ ^ ben gerçekten bilmiyorum bile, bu sorunu çözmeye yardımcı olmalı tahmin ediyorum