Restricting Quick Fix Operations
To restrict a Quick Fix or a specific
operation to only be available if certain conditions are met, the
@use-when
attribute can be included in the <sqf:fix>
element or any of the SQF
operation elements. The condition of the @use-when
attribute is an XPath
expression and the fix or operation will be performed only if the condition is satisfied. In
the following example, the use-when
condition is applied to the
<sqf:fix>
element:<sqf:fix id="last" use-when="$colWidthSummarized - 100 lt $lastWidth"
role="replace">
<sqf:description>
<sqf:title>Subtract excessive width from the last element.</sqf:title>
</sqf:description>
<let name="delta" value="$colWidthSummarized - 100"/>
<sqf:add match="html:col[last()]" target="width" node-type="attribute">
<let name="newWidth" value="number(substring-before(@width,'%')) - $delta"/>
<value-of select="concat($newWidth,'%')"/>
</sqf:add>
</sqf:fix>