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

Re: using attribute value as an attribute name OR usin

Subject: Re: using attribute value as an attribute name OR using elementvalue as an attribute name
From: Joerg Heinicke <joerg.heinicke@xxxxxx>
Date: Sun, 22 Sep 2002 01:48:06 +0200
column original value as attribute
Hello Ross,

ross@xxxxxxxxxxxxx wrote:
Dave,

Thank you again for helping me with this. Have you written a book or
anything I can buy? :-)

We are getting very close. I can output the name of each column, but somehow
I am having trouble figuring how to actually use that column name as the
data attribute name. Your original syntax:

<xsl:value-of select="$row/@*[name()=.]">

Yes, this seems to be wrong. It's true for every attribute, whose value is the same as its name, e.g. test="test". Both name() and . refer to the attribute.


...didn't didn't seem to work (I get no data). And yet if I do <xsl:value-of
select="." /> I do get the column names. Here's what I have so far, which is
basically a straight copy of what you gave me.

	<xsl:variable name="columns"
select="/root/config/columnList/column/@name"/>

This will only store the value of the first column in the variable (a string). Change it to
<xsl:variable name="columns" select="/root/config/columnList/column"/>
to store a node set of the columns.


<table width="95%" class="reporttable" cellpadding="2" cellspacing="2">
  <xsl:for-each select="/root/row">
    <tr>
      <xsl:variable name="aRow" select="."/>
      <xsl:for-each select="$columns">

<xsl:variable name="aColumnsName" select="name()"/>


<td>

<xsl:value-of select="$aRow/column[@name = $aColumnsName]" />


        </td>
      </xsl:for-each>
    </tr>
  </xsl:for-each>
</table>

Also untested and without knowing the XML structure, but I hope it works ...

Thanks again.


== Ross ==

Regards,


Joerg

PS: Please don't use TABs as indenting in mails. They made XML really unreadable. 2 or 4 spaces are really enough.


-----Original Message-----
From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
[mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of David
Carlisle

The column ordering is a concern. The sort simply does an alphabetic
sort. Somehow I need to apply the user's column selection order as well.


ah I was lacking meta markup. I did xsl:sort on name because that would
work for column1 column2 etc, I should have known they were not the real
names....

so actually I'd zap the key and instead do

<xsl:variable name="columns"
select="/root/config/columnList/column/@name"/>
....
<xsl:for-each select="row">
<xsl:variable name="row" select="."/>
<xsl:for-each select="$columns">
  <xsl:value-of select="$row/@*[name()=.]">

untested as ever.

David



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.