[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] creating and accessing element in the same stylesheet


Subject: Re: [xsl] creating and accessing element in the same stylesheet
From: "Agnes kielen" <a.kielen@xxxxxxx>
Date: Tue, 16 Apr 2002 10:44:02 +0200

Hello Charly,
Reaccesing an element can be done by storing the element in an temporary
tree and then entering the variable. However I don't understand why you want
to do it in this way.

Cheers,
Agnes

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:variable name="temp">
      <xsl:element name="root">
         <xsl:for-each select="/report/account">
            <xsl:element name="{name(.)}">
               <xsl:attribute name="name">
                  <xsl:value-of select="@id"/>
               </xsl:attribute>
               <xsl:attribute name="value">
                  <xsl:value-of select="sum(./detail/@value)"/>
               </xsl:attribute>
            </xsl:element>
         </xsl:for-each>
      </xsl:element>
</xsl:variable>

<xsl:template match="/">
 <xsl:for-each select="$temp/root/account">
  <xsl:value-of select="@name"/>, <xsl:value-of select="@value"/>
  <xsl:text>
  </xsl:text>
 </xsl:for-each>
</xsl:template>
</xsl:stylesheet>


----- Original Message -----
From: "Charly" <cohana@xxxxxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Monday, April 15, 2002 11:58 PM
Subject: [xsl] creating and accessing element in the same stylesheet


> Hello Friends
> Does anyone have any idea how to create an element in a template and
> accessing it with another template within the same stylesheet .
> I have a generic template that takes a specific format so I need to
reformat
> my data before calling the generic template .
>
> Something that would look like :
>
> Stylesheet
> ----------
> <xsl:stylesheet>
>    <xsl:template match="/">
>       <xsl:element name="root">
>          <xsl:for-each select="/report/account">
>             <xsl:element name="{name(.)}">
>                <xsl:attribute name="name">
>                   <xsl:value-of select="@id"/>
>                </xsl:attribute>
>                <xsl:attribute name="value">
>                   <xsl:value-of select="sum(./detail/@value)"/>
>                </xsl:attribute>
>             </xsl:element>
>          </xsl:for-each>
>       </xsl:element>
>       <xsl:apply-templates />
>    </xsl:template>
>
>    <xsl:template match="/root">
>       <xsl:for-each select="/root/account">
>          <xsl:value-of select="@name"/> <xsl:value-of select="@value"/>,
> <br/>
>       </xsl:for-each>
>       <xsl:apply-templates />
>    </xsl:template>
> </xsl:stylesheet>
>
>
>
>
> XML Data
> --------
> <report>
>    <account id="X12345" description="Individual">
>       <detail symbol="GPRXX" price="1"     value="137"     qty="137" />
>       <detail symbol="ODP"   price="21.33" value="9598.50" qty="450" />
>       <detail symbol="PFE"   price="39.29" value="3536.10" qty="90"  />
>    </account>
>    <account id="A256987">
>       <detail symbol="ABCAX" price="11.49" value="69717.33" qty="6067.65"
/>
>       <detail symbol="WEINX" price="12.49" value="20855.92" qty="1669.81"
/>
>    </account>
>    <account id="A254487">
>       <detail symbol="ABCAX" price="11.49" value="69717.33" qty="6067.65"
/>
>       <detail symbol="WEINX" price="12.49" value="20855.92" qty="1669.81"
/>
>    </account>
>    <account id="C545251">
>       <detail symbol="AKAM" price="11.11" qty="965.38"  value="10725.37"
/>
>       <detail symbol="SPWX" price="5.20"  qty="492.49"  value="2560.97"
/>
>       <detail symbol="SUNW" price="13.69" qty="221.37"  value="3030.68"
/>
>       <detail symbol="AOL"  price="10.92" qty="490.51"  value="5356.43"
/>
>       <detail symbol="CSCO" price="6.99"  qty="1480.02" value="10345.37"
/>
>       <detail symbol="YHOO" price="8.56"  qty="1187.62" value="10166.07"
/>
>    </account>
> </report>
>
> Excepted Output
> ---------------
> X12345, 13271.6
> A256987, 90573.25
> A254487, 90573.25
> C545251, 42184.89
>
>
>
> Please Help .
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>
>



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



Current Thread
Keywords
xml