I have a problem, for which I have found a somewhat undesirable work around.  It seems that when I issue an XPath statement that ends with “text()”, on some systems, especially ones where memory and performance are a bit of an issue, I get only a portion of the text.  This sounds a bit like a side-effect of the fact that characters() can be called multiple times by SAX for a single text node.

 

If I take the containing node (or one of its ancestors) and do a node.normalize(), the problem goes away.  This has bitten me with large documents returned by an XSLT transform using xalan. I now do a node.normalize() on the document element, but my guess is that this has possibly huge performance problems on a system that already suffers (memory utilization by xalan for XSLT is unbelievable!)

 

Is there something else I can do to prevent this behaviour and avoid having to do the node.normalize() call everytime I may have manipulated a text node?

 

TIA,

Reply via email to