Input xml
Code:
<PassengerList>
<SeatNumber>1A</SeatNumber>
<SeatNumber>1B</SeatNumber>
<SeatNumber>1D</SeatNumber>
<SeatNumber>1E</SeatNumber>
<SeatNumber>1F</SeatNumber>
<SeatNumber>1G</SeatNumber>
<SeatNumber>2B</SeatNumber>
<SeatNumber>2D</SeatNumber>
<SeatNumber>3A</SeatNumber>
<SeatNumber>3B</SeatNumber>
<SeatNumber>3D</SeatNumber>
<SeatNumber>3E</SeatNumber>
<SeatNumber>4A</SeatNumber>
<SeatNumber>4B</SeatNumber>
<SeatNumber>4E</SeatNumber>
<SeatNumber>4F</SeatNumber>
<SeatNumber>4G</SeatNumber>
<SeatNumber>4J</SeatNumber>
</PassengerList>
XSLT CODE
Code:
<xsl:template match="PassengerList">
<xsl:variable name="seatgroup">
<xsl:for-each-group select="SeatNumber" group-by="replace(., '[^0-9]+', '')">
<xsl:value-of select="current-grouping-key(), current-group()/replace(., '[0-9]+', '')" separator=""/>
</xsl:for-each-group>
</xsl:variable>
<xsl:value-of select="$seatgroup"/>
</xsl:template>
My question:
I tried your sample..I am getting error like 'variable is not declared 'like that, which is not accepting the variable.
My question is, based on the output I got to do line wrap if seatnumber exceeding 50 characters.I dont want to access the particular item like 1 or 2. I need the final output. In my case as below,
'1ABDEFG 2BD 3ABDE 4ABEFGJ'
I need the above output content as it is, so that I cant do Line wraping or any string functions.
replace(concat(normalize-space($text),' '),
'(.{0,50}) ',
'$1
')
I got to pass my output value to this above function for line wrap.
How can I access this value.?Is it possible? Please help me