[EMAIL PROTECTED] wrote:

Hi All,

We did have the fix "endExecuteChildren() in ElemVariable.cpp, ElemWithParam.cpp" in the source code built for Xalan 1.9 libraries(with Xerces 2.7).' I understand with this fix, InvalidStackContextException should not be encountered.

I analysed someof the problems with Xalan 1.9

When there is a <xsl:for-each> call on the empty element and when we are processing the data further we are getting the exception. <xsl:for-each> should not process empty elements and I am not sure how the Xalan 1.9 allows this.

You will have to explain what you mean by "<xsl:for-each> call on the empty element." xsl:for-each process every node selected by the XPath expression specified in its 'select' attribute. Any InvalidStackContextException indicates a bug, so it would be helpful if you could post a _minimal_ stylesheet that reproduces the problem.

> Xalan 1.3 did not allow for loop for empty elements.

Again, I don't understand what you mean.



One more issue with Xalan 1.9:
I have a call <xsl:if test="contains($assAttRefId,$assatt/@id)"> . When $assatt/@id is null, <xsl: if> test is processed which I understand is a bug.

You will need to explain what you mean by "when $assatt/@id is null." Do you mean when the XPath expression "$assatt/@id" selects an empty node-set? If that's the case, then "contains($assAttRefId,$assatt/@id)" will evaluate to true, because an empty node-set is converted to an empty string, and providing an empty string for the second attribute of the contains() function always returns true. This is made clear in the errata to the XPath 1.0 recommendation:

http://www.w3.org/1999/11/REC-xpath-19991116-errata/

Dave

Reply via email to