Sorry, the ../* is wrong, it's looking relative to ID rather than to
ADDRESS. The right answer depends on exactly where your <addressField1> etc
elements are.
Michael Kay
http://www.saxonica.com/
<xsl:template match="ADDRESS">
<xsl:for-each select="ADDRESSFIELD/ID">
<xsl:value-of select="../*[name()=concat('addressField',
current())"/>
<xsl:if test="position()!=last()">;</xsl:if>
</xsl:for-each>
</xsl:template>
(I'm assuming here that addressField2, etc, are siblings of
ADDRESS, but you didn't make this clear).
Incidentally, coding data into element names like this feels
like bad XML design. <addressField id="2"> would be much
cleaner than <addressField2>.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Mariecon Saberon [mailto:yc0n2x(_at_)yahoo(_dot_)com]
Sent: 22 June 2007 05:08
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Concatenation of Element Values
hi list,
i'm a newbie on XSL and i'm really overwhelmed by the
information i've
seen on the internet that i'm already confused as to how
i'm going to
come up with the rights codes for my program. here's my problem..
i have an xml that's like this:
<ADDRESS>
<ADDRESSFIELD>
<ID>2</ID>
<ADDRESSFIELD>
<ADDRESSFIELD>
<ID>5</ID>
<ADDRESSFIELD>
<ADDRESSFIELD>
<ID>9</ID>
<ADDRESSFIELD>
<ADDRESS>
then i also have some post parameters:
<addressField2>some Street address</addressField2>
<addressField5>some
Town address</addressField5> <addressField9>some City
address</addressField9>
and this is the value i need to get:
<addressField2>;<addressField5>;<addressField9>
ex. some Street address; some Town address; some City address
so far, this is what i have:
<xsl:template match="ADDRESS">
<xsl:for-each select="ADD">
<xsl:call-template name="getAdd">
<xsl:with-param name="addField">
in_add<xsl:value-of select="ID"/>
</xsl:with-param>
</xsl:call-template>
</xsl:for-each>
</xsl:template>
<xsl:template name="getAdd">
<xsl:param name="addField"/>
<!-- this is where i'm lost. i'm lost on how im gonna get the
address field values and concatenate them -->
</xsl:template>
hope someone can shed some light on my blurry mind.
any help is
greatly greatly appreciated. thanks!
-ycon
______________________________________________________________
______________________
Never miss an email again!
Yahoo! Toolbar alerts you the instant new Mail arrives.
http://tools.search.yahoo.com/toolbar/features/mail/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--