Subject: RE: 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/
|