Why not just:
<xsl:copy-of
select="//DataService/Transaction/Response/MasterCatalogRecord/EntityData[../ExternalKeys/Key[1]
= '2' and ../ExternalKeys/Key[2] = 'b']"/>
No need for a xsl:for-each.
Andy.
-----Original Message-----
From: Chris Coyle [mailto:chriscoyle(_at_)yahoo(_dot_)com]
Sent: 24 January, 2007 14:51
To: Mullberytech.com
Subject: [xsl] XSLT to query/output a portion of an XML
source document
I need to write a query to pull 1 node out of a source XML document.
The source document has a structure of
<Transaction>
<Response>
<MasterCatalogResponse>
<ExternalKeys>
<Key>1</Key>
<Key>a</Key>
</ExternalKeys>
<EntityData>
<Attribute>a</Attribute>
<Attribute>b</Attribute>
</EntityData>
</MasterCatalogRecord>
<MasterCatalogResponse>
<ExternalKeys>
<Key>2</Key>
<Key>b</Key>
</ExternalKeys>
<EntityData>
<Attribute>a</Attribute>
<Attribute>b</Attribute>
</EntityData>
</MasterCatalogRecord>
<MasterCatalogResponse>
<ExternalKeys>
<Key>3</Key>
<Key>c</Key>
</ExternalKeys>
<EntityData>
<Attribute>a</Attribute>
<Attribute>b</Attribute>
</EntityData>
</MasterCatalogRecord>
</Response>
</Transaction>
I need to extract the <EntityData> element for a given
<ExternalKeys> value match. The result should look like this
for an ExternalKeys (2,b)
<EntityData>
<Attribute>a</Attribute>
<Attribute>b</Attribute>
</EntityData>
This is what I tried:
<?xml version="1.0" encoding="UTF-8"?>
<?altova_samplexml SampleQueryResponse.xml?> <xsl:stylesheet
version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:output method="xml" encoding="UTF-8"
indent="yes" />
<xsl:template match="/">
<xsl:for-each
select="//DataService/Transaction/Response/MasterCatalogRecord">
<xsl:element name="EntityData">
<xsl:value-of select="."/>
</xsl:element>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Any suggestions are welcome.
______________________________________________________________
______________________
Bored stiff? Loosen up...
Download and play hundreds of games for free on Yahoo! Games.
http://games.yahoo.com/games/front
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--