Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Get 1st row of data into a variable

Posted on 2010-08-17
8
Medium Priority
?
427 Views
Last Modified: 2013-11-18
I have an xml file as seen below: what I need to get is the values in the first row to set some values in before I process all the rows in the row template.  

I can not figure out how to getl the data in the first row by itself before I run the row template.

XML -data
<?xml version="1.0"?>
<document>
  <row>
    <column1>20100810</column1>
    <column2>20100815</column2>
    <column3>20100817</column3>
    <column4>WLP_PCN_SL_regular_20100816.out</column4>
  </row>
  <row>
    <column1>01300</column1>
  </row>
  <row>
    <column1>01820</column1>
  </row>
  <row>
    <column1>02282</column1>
  </row>
</document>

XSL
  <xsl:template match="/">
    <xsl:apply-templates select="document"/>
  </xsl:template>

  <xsl:template match="document">
  <xsl:variable name="vNameOfDataFile" select="row/@column1"/>

          <ProcessStartWorkDate>
            <Date><xsl:value-of select="$vNameOfDataFile"/></Date>
          </ProcessStartWorkDate>
           
      <xsl:for-each select="row">
        <xsl:apply-templates select="."/>
      </xsl:for-each>
0
Comment
Question by:johnth1957
  • 5
  • 3
8 Comments
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 33455455
<xsl:variable name="vNameOfDataFile" select="row[1]/@column4"/>
0
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 33455644
the [1] tells you that you need the first row
the name of data file seems to be in column four
note that this variable can only be used in this template,
if you want a global variable put this at the highest level

<xsl:variable name="vNameOfDataFile" select="/document/row[1]/@column4"/>
0
 

Author Comment

by:johnth1957
ID: 33455773
Thanks, I just tried that and still not getting a value in that variable .
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 

Author Comment

by:johnth1957
ID: 33455824
Yes that is the correct column for the variable but I was just trying to get something to work in case I was pulling off another record.
I am declaring and using the variable in the same template.
0
 
LVL 60

Accepted Solution

by:
Geert Bormans earned 2000 total points
ID: 33455827
of course, the @ should not be there, error in copy and pasting from your mistake, sorry
    <xsl:variable name="vNameOfDataFile" select="/document/row[1]/column4"/>
0
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 33455841
or
<xsl:template match="document">
    <xsl:variable name="vNameOfDataFile" select="row[1]/column4"/>
    <xsl:value-of select="$vNameOfDataFile"/>
</xsl:template>
0
 

Author Closing Comment

by:johnth1957
ID: 33455904
Thanks!
0
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 33455914
welcome
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Knockoutjs (Knockout) is a JavaScript framework (Model View ViewModel or MVVM framework).   The main ideology behind Knockout is to control from JavaScript how a page looks whilst creating an engaging user experience in the least …
JavaScript has plenty of pieces of code people often just copy/paste from somewhere but never quite fully understand. Self-Executing functions are just one good example that I'll try to demystify here.
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
The viewer will receive an overview of the basics of CSS showing inline styles. In the head tags set up your style tags: (CODE) Reference the nav tag and set your properties.: (CODE) Set the reference for the UL element and styles for it to ensu…
Suggested Courses

885 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question