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.



-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to