Problem with XSLT Sablotron -> Bug ?
| From: | Dirk Schwier | Date: | Mon, 14 Oct 2002 20:24:07 +0000 |
| Subject: | Problem with XSLT Sablotron -> Bug ? | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-89454@lists.php.net to get a copy of this message | ||
Hy NG,
I get under some circumstances an Sablotron Error: "XML parser error 3: no
element
found" - this Error occurs only, when I put a lot of Text into an
CDATA-Section.
I Put a sample script beyond, maybe somone can tell me, if there is a
wokaround or if it is a bug (this is, what I guess).
I tried different php versions (4.2.3, 4.3.0dev, 4.3.0.-pre1, etc.) at the
moment I use Sablotron 0.96.1.
These are the sample scripts:
An XML-Datei (test.xml)
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE navigation [
<!ENTITY module1 SYSTEM "test2.xml">
]>
<navigation>
&module1;
</navigation>
and test2.xml. the entity:
<?xml version="1.0" encoding="iso-8859-1"?>
<test>
<![CDATA[
sdfgsdfgjsödfkjgsödlkfjgsödkfjgsödfkgjsödkfgjsödkfgjsödkfgjsödlkfjgsödfgsdfg
gggggggggggggslkdjfgsödlkfjgöslkdjgösldkgjsödlkfgjsödklfgjsödlkfgjsödkfgjsöd
flkgjsödkfgjsödklfgjsödlkfgjsödlkfgjsödlkfgjsödlkfgjsödlkfgjsödklfgjösdklfgj
södklfgjsödklfgjsödkfgjösdkfgjsödfkgjsödfkgjsödfkgjsödfgsdfgsjdöfgksjödfkgjs
ödlfkgjsödlkfjgsödlkfgjsödkfjgösdklfgjösdkfjgösdkfgjösdlkfgjsödlkfgjsödlkfjg
öskldfgjöslkjgölkwejrtkwejrtwejrtkjweörkltjweörkltjwöekrtjwöerlktjwöerkltjwö
ekrltjwöelkrtjwöeklrjtwöelkrtjweölrktjwöelrktjwöelkrjtwöekrtjwöekrjtöwerktjw
öerkjtöweklrtjwkerjtöwkerjtöwlkerjtöwklerjtöwlkerjtöweklrjtöwklerjtöwekrtjöw
elkrtjöwkelrjtöwkerjtöwlkerjtöweklrtjöweklrjtöwekrjtöwerktjwöekrtjwöekrjtöwe
lkrjtwöekrtjöwekrtjöwelkrjtwökelrtöwekrtjöwkelrjtölwkerjtwlökerjtwölekrjtwöl
ekrjtlwöekrjtlwöekrjlketjlkjklrjlkjkjrkjlkröjlkrjklrejlkrejlkrtjlktrjlktrkjl
trjlktrkljkltrjlktrjkltrkjlötrewrjlkewjlkrewjklrejlktrwkjlrkjlörwejklörewjkl
trjöewrjlökerkwrelökwrjkleöw
[... snipp ca. 240 columns with same content ...]
]]>
</test>
(for the test you have to the 240 cols into the script ...)
and test.xslt:
[... snipp ...]
<xsl:template match="navigation">
<xsl:value-of select="."/>
</xsl:template>
[... snipp ...]
this is the parsing script (test.php):
if( !$result = @xslt_process( $parser, // resource xh
"test.xml", // string xml
"test.xslt", // string xslt
$html, // string result
array(), // array arguments
array() // array parameters
) )
{
printf( "Sablotron Error (%s): <br /><strong>%s</strong>",
xslt_errno($parser), xslt_error($parser) );
}
xslt_free($parser);
echo $result;
echo $html;
after that I get the error.
If I delete some content in the test2.xml I get no error.
So I hope, that someone can help me.
:) Dirk Schwier.