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>
--~--