[xsl] Adding a break character between a group of input data except for the last entry

Subject: [xsl] Adding a break character between a group of input data except for the last entry
From: "Steve Assad" <SAssad@xxxxxxxxxxx>
Date: Thu, 29 Nov 2001 16:19:09 -0800
Vendor: Microsoft XML Parser(MSXML)3.0
Processor version: XML SPY version 3.5

 Slice of input XML file
      <prescriber-info>
        <trade-name>Acephen</trade-name>
      </prescriber-info>
      <prescriber-info>
        <trade-name>Aceta</trade-name>
      </prescriber-info>
      <prescriber-info>
        <trade-name>Acetaminophen Uniserts</trade-name>
      </prescriber-info>
      <prescriber-info>
        <trade-name>Apacet</trade-name>
      </prescriber-info>
      <prescriber-info>
        <trade-name>Aspirin Free</trade-name>
      </prescriber-info>
      <prescriber-info>
        <trade-name>Pain Relief</trade-name>
      </prescriber-info>
      <prescriber-info>
        <trade-name>Children's</trade-name>
      </prescriber-info>

Problem:
Trying to extract all the <trade-name> into a single tag. Each <trade-name>
separated be a ';' except for the last one.

Example out put needed:

<annotationsText>

           <variable_line> Acepta; Acetaminapphen Uniserts; Apacet; Aspirin
Free; Pain Relief; Children's </variable_line>
</annotationsText>

What I have tried to do.

             <annotationsText>
               <xsl:variable name="line" select="prescriber-info/trade-name
"/>
                   <xsl:for-each select="prescriber-info/trade-name">
                             <xsl:variable name="trade_names" select="
prescriber-info/trade-name"/>
                             <xsl:if test= "$trade_names != $line">; </
xsl:if> <xsl:value-of select="."/></xsl:for-each>
             </annotationsText>
The if statement always comes out false. Which means $trade_name equals
$line. Why? How else could I get it done.
output from above code

;  Acepta;  Acepta; Acetaminapphen Uniserts; Apacet; Aspirin Free; Pain
Relief; Children's

It does work if there is only one trade-name on the list. for eample if
there is only Acepta as a tradename the output will be correct.
It does not work if there is a list of trade-names.
Thanks in advance.


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread