[Bug 5464] [XSLT 2++] Enhancement: generalizing patterns

http://www.w3.org/Bugs/Public/show_bug.cgi?id=5464





--- Comment #1 from Michael Kay <mike@saxonica.com>  2008-09-03 08:40:35 ---
Some specific suggestions for enhancements:

(a) allow a variable reference at the start of the pattern, for example
$lookup//data. Can be written currently as data[ancestor::node() intersect
$lookup], but that's pretty cumbersome. Useful to specify that a template rule
is applicable only to one specific document.

(b) this also allows match="$nodeset" where $nodeset is a global variable. The
pattern then matches all nodes in this nodeset. Useful in cases where it is
easier or more efficient to select some set of nodes (often those to be treated
as exceptions) in a global variable. I've seen this in WordXML documents:
"ignore the first w:d element after any w:img element that has a w:text
descendant", etc.

(c) allow the first step to be a call on doc() or document(). Achieves the same
thing but without the need for a global variable.

A more radical idea is to allow the match pattern of an xsl:template to
reference the template parameters. So if the xsl:apply-templates specifies
<xsl:with-param name="color" select="'red'"/> then a template with
match="*[$color='blue']" will not be selected. 


-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Wednesday, 3 September 2008 08:41:10 UTC