Subject: Re: [xsl] Selecting the value from diff i/p XML From: Hermann Stamm-Wilbrandt <STAMMW@xxxxxxxxxx> Date: Thu, 16 Sep 2010 01:00:01 +0200 |
Gerrit, good solutions. While the simpler with Root1.xml as input is to prefer it is also XSLT 1.0. I modified your other solution in order to emulate 3-argument XPath2 key function in XSLT 1.0: <xsl:template match="/"> - <xsl:for-each select="key( - 'idlist', - key('idlist', $data/root1/item/@id)/@id, - $data - ) - "> - <xsl:value-of select="@value"/> - <br/> + <xsl:variable name="ids" + select="key('idlist', $data/root1/item/@id)/@id"/> + <xsl:for-each select="$data"> + <xsl:for-each select="key( + 'idlist', + $ids + ) + "> + <xsl:value-of select="@value"/> + <br/> + </xsl:for-each> </xsl:for-each> </xsl:template> $ xsltproc 2.xsl Root1.xml A<br/>C<br/>E<br/>F<br/>H<br/>I<br/>J<br/> $ $ saxon 1.xsl Root2.xml ; echo A<br/>C<br/>E<br/>F<br/>H<br/>I<br/>J<br/> $ $ xsltproc 1a.xsl Root2.xml A<br/>C<br/>E<br/>F<br/>H<br/>I<br/>J<br/> $ Mit besten Gruessen / Best wishes, Hermann Stamm-Wilbrandt Developer, XML Compiler, L3 Fixpack team lead WebSphere DataPower SOA Appliances ---------------------------------------------------------------------- IBM Deutschland Research & Development GmbH Vorsitzender des Aufsichtsrats: Martin Jetter Geschaeftsfuehrung: Dirk Wittkopp Sitz der Gesellschaft: Boeblingen Registergericht: Amtsgericht Stuttgart, HRB 243294 From: "Imsieke, Gerrit, le-tex" <gerrit.imsieke@xxxxxxxxx> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Date: 09/15/2010 11:54 PM Subject: Re: [xsl] Selecting the value from diff i/p XML On 15.09.2010 23:51, Imsieke, Gerrit, le-tex wrote: > You key function returns the elements of Root2.xml whose id matches > those of the Root1 items. > > But ultimately you want to lookup the value attributes of the > corresponding Root1 elements. > > If you really want to process root2.xml as primary source, you may try > this (XPath2's 3-argument key function involved): In fact, it's the XSLT2 and not an XPath2 key function: http://www.w3.org/TR/xslt20/#function-key
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Selecting the value from , Imsieke, Gerrit, le- | Thread | Re: [xsl] Selecting the value from , Syd Bauman |
Re: [xsl] Selecting the value from , Imsieke, Gerrit, le- | Date | Re: [xsl] Selecting the value from , Syd Bauman |
Month |