RE: [xsl] Calling templates based on node contents

Subject: RE: [xsl] Calling templates based on node contents
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Thu, 19 Aug 2004 10:16:09 +0100
> I don't know how conformant MSXSL and .NET XSLT processing is 
> in comparision to other processors? 
> 
> But no errors with match="." here...

MSXML is generally very conformant, reports of the .NET processor are rather
more mixed. But match="." is definitely not allowed. The grammar for
patterns is extremely simple, and there is no hint of a ".":

[1]     	Pattern  	   ::=     	LocationPathPattern  	
			| Pattern '|' LocationPathPattern 	
[2]    	LocationPathPattern 	   ::=    	'/' RelativePathPattern?

			| IdKeyPattern (('/' | '//') RelativePathPattern)?

			| '//'? RelativePathPattern 	
[3]    	IdKeyPattern 	   ::=    	'id' '(' Literal ')' 	
			| 'key' '(' Literal ',' Literal ')' 	
[4]    	RelativePathPattern 	   ::=    	StepPattern 	
			| RelativePathPattern '/' StepPattern 	
			| RelativePathPattern '//' StepPattern 	
[5]    	StepPattern 	   ::=    	ChildOrAttributeAxisSpecifier
NodeTest Predicate* 	
[6]    	ChildOrAttributeAxisSpecifier 	   ::=
AbbreviatedAxisSpecifier 	
			| ('child' | 'attribute') '::'

and from XPath 1.0:

[7]   	NodeTest	   ::=   	NameTest	
			| NodeType '(' ')'	
			| 'processing-instruction' '(' Literal ')'	

Michael Kay

Current Thread