[Vienna-pm] Seltsames XML::Parser-Problem

karlheinz kh at dartbase.com
Sun Mar 6 09:17:16 PST 2005


Peter J. Holzer wrote:

> Kann es sein, dass die libxml2 ein Limit von 31 DOM-Bäumen hat? 

das kann durchaus sein... ich habe nie mehr als ein paar XML dokumente 
parallel bearbeitet.

 > Ich dachte, ich kann das umgehen, indem ich ein Hilfsdokument erzeuge
 > und alle Elemente, die ich mir merken will, mit adoptNode in dieses
 > Dokument ziehe, aber das nützt auch nichts. Irgendwo bleibt da offenbar
 > eine Referenz bestehen ...

womit du ausserdem wahrscheinlich in dieses problem rennst:

NOTE: Don't try to adoptNode() to import subtrees that contain entity 
references - even if the entity reference is the root node of the 
subtree. This will cause serious problems to your program. This is a 
limitation of libxml2 and not of XML::LibXML itself.

du muesstest bei diesem ansatz also eher mit sowas wie 
$hilfsdoc->documentElement->appendChild($node->cloneNode(1)) arbeiten.

wenn allerdings die angenommenen 31 DOM baeume limit nicht zu umgehen 
sind wird's aber wohl beim gepatchten XML::DOM bleiben...

lg
karlheinz



More information about the Vienna-pm mailing list