[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Selecting and sorting attributes from dynamic head

Subject: RE: Selecting and sorting attributes from dynamic head
From: MARTZEL Xavier <Xavier.MARTZEL@xxxxxxxxxxx>
Date: Tue, 7 Aug 2001 14:25:56 +0200
dynamic head
Thanks a lot. That worked exactly as I wanted.

Xavier Martzel

-----Message d'origine-----
De: Steven.C.Kienle@xxxxxxxxxx [mailto:Steven.C.Kienle@xxxxxxxxxx]
Date: mardi 7 août 2001 13:59
À: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Objet: Re:  Selecting and sorting attributes from dynamic head


  The stylesheet you're looking for is:
  
  <xsl:stylesheet version="1.0"
          xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  
     <xsl:template match="/">
          <xsl:apply-templates select="XmlData/Results/Row"/>
     </xsl:template>
  
     <xsl:template match="Row">
          <xsl:variable name="current-row" select="." />
          <tr>
          <xsl:for-each select="/XmlData/Headers/Column">
               <td>
               <xsl:value-of
                    select="$current-row/@*[name() = current()/@label]"
               />
               </td>
          </xsl:for-each>
          </tr>
     </xsl:template>
  </xsl:stylesheet>
  
  The keys are to save the current Row node in a variable, then process 
  each Column node (in document order).  Then in the XPath, select all 
  of the attributes and query to only that one whose name matches the 
  current Column's label attribute.  To do that, you need to use the 
  current() XPath function in the query.
  
     Steve


______________________________ Reply Separator
_________________________________
Subject:  Selecting and sorting attributes from dynamic headers.
Author:  xsl-list@xxxxxxxxxxxxxxxxxxxxxx at Internet-America
Date:    07-08-2001 1:15 PM


My XML file is:
  
<XmlData>
        <Headers>
                <Column label="att1" />
                <Column label="att4" />
                <Column label="att2" />
                <Column label="att7" />
        </Headers>
        <Results>
                <Row att1="AAA" att2="BBB" att3="CRC" ... att10="NNN" /> 
                <Row att1="AAA" att2="BAB" att3="CCT" ... att10="NNN" /> 
                <Row att1="AAA" att2="BCB" att3="CEC" ... att10="NNN" /> 
                <Row att1="AAA" att2="DBB" att3="CCR" ... att10="NNN" /> 
                <Row att1="AAA" att2="BBE" att3="CCC" ... att10="NNN" />
        </Results>
</XmlData>
  
The Headers node is a param of my XSL file. I'd like to generate a HTML 
table with the attributes specified in the Headers node in the same order of

the Column nodes. I thought it was simple, but I can't to it !!
  
Thanks for any help.
  
Xavier Martzel
xavier.martzel@xxxxxxxxxxx
  
 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
  

 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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.