Subject: RE: [xsl] Concatenation of Element Values From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 22 Jun 2007 10:20:56 +0100 |
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@xxxxxxxxx] > > Sent: 22 June 2007 05:08 > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > 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/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Concatenation of Element , Michael Kay | Thread | [xsl] question about count(node()), Andreas Peter |
RE: [xsl] Concatenation of Element , Michael Kay | Date | RE: [xsl] Calling Saxon from a CGI , Bhaskar _ |
Month |