RE: [xsl] Restrictions on pattern for the match attribute of the xsl:template element

Subject: RE: [xsl] Restrictions on pattern for the match attribute of the xsl:template element
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 6 Feb 2009 10:54:00 -0000
> I have an XML document like this:
>  
> ============================
> <Objects>
> 	<Object>
> 		<PropertyList>
> 			<Property>
> 				<Name>Property1</Name>
> 				<Value>abc</Value>
> 			</Property>
> 		</PropertyList>
> 	</Object>
> 	<Object>
> 		<PropertyList>
> 			<Property>
> 				<Name>Property1</Name>
> 				<Value>xyz</Value>
> 			</Property>
> 		</PropertyList>
> 	</Object>
> </Objects>
> ============================
> 
> and I want to extract all <Object> elements except the ones 
> that have [Name='Property1' and Value='abc'] (there are 
> several such restrictions on Name / Value pairs). I tried the 
> following but the 2nd match pattern is not allowed in XSLT:
> 
> <xsl:template 
> match="/Objects/*/PropertyList/Property[./Name='Property1'
> and ./Value='abc']/../.." priority="1"/>
> 
> 
> How could I achieve this?
> 

match="Object[PropertyList/Property[Name='Property1][Value='abc']]"

Michael Kay
http://www.saxonica.com/

Current Thread