Actions
Bug #6457
openTrace on xsl:param identifies descendant element, sometimes with column="0" (Saxon-HE 12.4J)
Status:
New
Priority:
Low
Assignee:
-
Category:
-
Sprint/Milestone:
-
Start date:
2024-06-24
Due date:
% Done:
0%
Estimated time:
Legacy ID:
Applies to branch:
Fix Committed on Branch:
Fixed in Maintenance Release:
Platforms:
Description
Trace data about xsl:param
for template parameters identifies a descendant element rather than xsl:param
itself. Sometimes, the column number is reported as 0, too. If this is correct behavior, can you explain the logic?
Reproduction Steps¶
The following stylesheet includes a big comment near the bottom that indicates the Saxon command I'm running and the output I'm seeing.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:template name="xsl:initial-template">
<xsl:param name="p-seq">
<xsl:sequence select="'p2'"/> <!-- param trace appears here -->
</xsl:param>
<xsl:param name="p-seq-value-of">
<xsl:sequence>
<xsl:value-of select="'p3'"/> <!-- param trace appears here -->
</xsl:sequence>
</xsl:param>
<xsl:param name="p-value-of">
<xsl:value-of> <!-- param trace appears here -->
<xsl:text>p4</xsl:text>
</xsl:value-of>
</xsl:param>
<xsl:param name="p-map" as="map(xs:string, xs:integer)">
<xsl:map>
<xsl:map-entry key="'One'" select="100"/> <!-- param trace appears here -->
</xsl:map>
</xsl:param>
<xsl:param name="p-map-entry" as="map(xs:string, xs:integer)">
<xsl:map-entry key="'One'" select="100"/> <!-- param trace appears here -->
</xsl:param>
<xsl:param name="p-if-map-entry" as="map(xs:string, xs:integer)">
<xsl:if test="$p-map-entry('One') gt 0"> <!-- param trace appears here -->
<xsl:map-entry key="'One'" select="100"/>
</xsl:if>
</xsl:param>
<xsl:param name="p-choose-map-entry" as="map(xs:string, xs:integer)">
<xsl:choose>
<xsl:when test="$p-map-entry('One') gt 0"> <!-- param trace appears here -->
<xsl:map-entry key="'One'" select="100"/>
</xsl:when>
</xsl:choose>
</xsl:param>
<xsl:param name="p-seq-map-entry" as="map(xs:string, xs:integer)">
<xsl:sequence>
<xsl:map-entry key="'One'" select="100"/> <!-- param trace appears here -->
</xsl:sequence>
</xsl:param>
<xsl:param name="p-no-elements"><!-- param trace at end of xsl:param start tag (correct)
-->p-no-elements
</xsl:param>
<xsl:param name="p-comment-element"><!-- param trace at end of <foo>
--><foo>100</foo>
</xsl:param>
<xsl:param name="p-text-comment-element">foo<!-- param trace between end of xsl:param start tag and start of text node
--><foo>100</foo>
</xsl:param>
</xsl:template>
<!-- Repro steps with Saxon-HE 12.4J:
java -cp "%SAXON_CP%" net.sf.saxon.Transform -T -xsl:trace-xsl-param.xsl -it -opt:0 >output.txt
Resulting trace:
<trace saxon-version="12.4" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="xsl:initial-template" line="5" column="45" module="trace-xsl-param.xsl">
<param line="7" column="0" module="trace-xsl-param.xsl">
</param>
<param line="11" column="38" module="trace-xsl-param.xsl">
</param>
<param line="15" column="21" module="trace-xsl-param.xsl">
</param>
<param line="21" column="0" module="trace-xsl-param.xsl">
</param>
<param line="25" column="0" module="trace-xsl-param.xsl">
</param>
<param line="28" column="0" module="trace-xsl-param.xsl">
</param>
<param line="34" column="0" module="trace-xsl-param.xsl">
</param>
<param line="41" column="0" module="trace-xsl-param.xsl">
</param>
<param line="44" column="37" module="trace-xsl-param.xsl">
</param>
<param line="48" column="15" module="trace-xsl-param.xsl">
</param>
<param line="50" column="46" module="trace-xsl-param.xsl">
</param>
</xsl:template>
</trace>
-->
</xsl:stylesheet>
No data to display
Please register to edit this issue
Actions