
OK. Thanks for looking into this. Lars On 9/7/2012 3:20 AM, George Cristian Bina wrote:
Hi Lars,
Sorry, we looked again into this and it seems an issue with the local variables/parameter detection when the context is inside an XPath expression. What happens is that we get the current XSLT element as a reference to collect the in-scope variables/parameters and the xsl:variable is not yet the current element, because it is about to be evaluated and thus we get the xsl:template instead thus failing to detect the local variables and parameters. We are working to find a solution to this problem.
Best Regards, George -- George Cristian Bina <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com
On 9/6/12 4:30 PM, Lars Huttar wrote:
Thank you for this explanation ... it helps to have an idea of why this is happening, and to have a workaround. Two follow-up questions:
1) Why are these parameters not visible inside XPath expressions, when those expressions are in the scope where those parameters/variables should be visible? If the parameters were referenced within the XPath expressions, that would be a valid reference, so it's hard to understand why the evaluation context there doesn't show certain variables.
2) It seems unfortunate that turning on the trace of XPath expressions actually removes the ability to see the values of certain variables, relative to having the XPath trace turned off. Certainly there are times when stepping through XPath expressions will be very helpful (or even crucial), in which case one has to sacrifice visibility of variables. If these variables cannot be displayed while stepping through an XPath expression, could additional stepping points be inserted, so that the value of a variable can be inspected as soon as it is computed, before entering the XPath evaluation context?
E.g. in the example I gave, I'm able to inspect the value of the first passed-in parameter, $mixedItemTypes, before the next <xsl:param> is evaluated. It would be very helpful (and consistent) to be able to do the same with the $tableScopeType parameter before entering the XPath expression in <xsl:variable name="file" select="."/>. Maybe this can be accomplished by inserting another stepping point after <xsl:param name="tableScopeType" select="''" as="xs:string"/> ?
Thanks as always for a great tool. My team and I have been annual subscribers for several years, and we continue to be convinced that we're getting a great value from oXygen.
Lars