Jatin Gadhiya
Jatin Gadhiya

Reputation: 2075

How to get first value of string array in XSLT 2.0

We have string array in XML look like:

<arr name="CategoryName">
   <str>Movies</str>
   <str>Movies</str>
   <str>Movies</str>
   <str>Movies</str>
   <str>Movies</str>
   <str>DVD</str>
   <str>By Languages</str>
   <str>By Title</str>
   <str>By Decades</str>
   <str>By Genre</str>
   <str>2000's</str>
   <str>Drama</str>
   <str>English</str>
   <str>QRST</str>
</arr>

and my output from xslt transformation look like:

<category>MoviesMoviesMoviesMoviesMoviesDVDBy LanguagesBy TitleBy DecadesBy Genre2000'sDramaEnglishQRST</category>

but i want display only first category look like:

<category>Movies</category>

And my XSLT code look like:

<xsl:variable name="CategoryArray" select ="arr[@name = 'CategoryName']"/>

 <xsl:for-each select="$CategoryArray">
        <category><xsl:value-of select="$CategoryArray"/></category>
    </xsl:for-each>

but its not working so pls give me solution for How to get first value of string array.

thanks in advance.

Upvotes: 0

Views: 1356

Answers (2)

Michael Kay
Michael Kay

Reputation: 163458

You want:

$CategoryArray/str[1]

Upvotes: 2

MikeyKennethR
MikeyKennethR

Reputation: 608

<xsl:for-each select="$CategoryArray/str">
    <category><xsl:value-of select="."/></category>
</xsl:for-each>

Upvotes: 0

Related Questions