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