Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 434
  • Last Modified:

Get 1st row of data into a variable

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
johnth1957
Asked:
johnth1957
  • 5
  • 3
1 Solution
 
Geert BormansCommented:
<xsl:variable name="vNameOfDataFile" select="row[1]/@column4"/>
0
 
Geert BormansCommented:
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
 
johnth1957Author Commented:
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.

 
johnth1957Author Commented:
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
 
Geert BormansCommented:
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
 
Geert BormansCommented:
or
<xsl:template match="document">
    <xsl:variable name="vNameOfDataFile" select="row[1]/column4"/>
    <xsl:value-of select="$vNameOfDataFile"/>
</xsl:template>
0
 
johnth1957Author Commented:
Thanks!
0
 
Geert BormansCommented:
welcome
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 5
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now