|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] XSLT Grouping/Filtering issue with preceding/following
Hi,
I am very new to XSLT and need some enlightenment per the following
issue grouping filtering issue.
Any information (I'm sure this is FAQ'd somewhere) would be greatly
appreciated.
Thank you.
Description:
I am having the following problem when grouping/filtering as such in
that some nodes are getting filtered out/grouped correctly while others do
not
based on position when using either preceding or following.
XSL:
...
<xsl:template match="/">
<!-- This doesn't work...group is not filtered correctly -->
<xsl:variable name="uh" select="//Record[CodeId='FRED']"/>
<xsl:element name="Copy">
<xsl:copy-of select="$uh"/>
</xsl:element>
<xsl:element name="Filter">
<xsl:copy-of
select="$uh[(not(AttributeName=preceding::*/AttributeName)]"/>
</xsl:element>
<!-- This works but I'm sure is not the best way to do this... -->
<xsl:variable name="uh" select="//Record[CodeId='FRED']"/>
<xsl:element name="Copy">
<xsl:copy-of select="$uh"/>
</xsl:element>
<xsl:element name="Filter">
<xsl:copy-of
select="$uh[(not(AttributeName=preceding::*/AttributeName) and
position()=1) or
(not(AttributeName=following::*/AttributeName))]"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
XML:
<Results>
<Record>
<CodeId>FRED</CodeId>
<AttributeName>LT</AttributeName>
<OID>647f802e5f8675a6</OID>
<Id>AU 100-1</Id>
<AttributeValue>YES</AttributeValue>
</Record>
<Record>
<CodeId>FRED</CodeId>
<AttributeName>CPQ</AttributeName>
<OID>647f802e5f8675a6</OID>
<Id>AU 100-2</Id>
<AttributeValue>YES</AttributeValue>
</Record>
<Record>
<CodeId>30DAYPM</CodeId>
<AttributeName>LT</AttributeName>
<OID>daa575325f8675a6</OID>
<Id>AU 100-3</Id>
<AttributeValue>YES</AttributeValue>
</Record>
<Record>
<CodeId>30DAYPM</CodeId>
<AttributeName>CSW</AttributeName>
<OID>daa575325f8675a6</OID>
<Id>AU 100-4</Id>
<AttributeValue>YES</AttributeValue>
</Record>
<Record>
<CodeId>FRED</CodeId>
<AttributeName>LT</AttributeName>
<OID>647f802e5f8675a6</OID>
<Id>AU 100-5</Id>
<AttributeValue>YES</AttributeValue>
</Record>
<Record>
<CodeId>FRED</CodeId>
<AttributeName>CPQ</AttributeName>
<OID>647f802e5f8675a6</OID>
<Id>AU 100-6</Id>
<AttributeValue>YES</AttributeValue>
</Record>
<Record>
<CodeId>30DAYPM</CodeId>
<AttributeName>LT</AttributeName>
<OID>daa575325f8675a6</OID>
<Id>AU 100-7</Id>
<AttributeValue>YES</AttributeValue>
</Record>
<Record>
<CodeId>30DAYPM</CodeId>
<AttributeName>CCSW</AttributeName>
<OID>daa575325f8675a6</OID>
<Id>AU 100-8</Id>
<AttributeValue>YES</AttributeValue>
</Record>
</Results>
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








