Subject: Re: [xsl] Concat state-city together From: Xiaocun Xu <xiaocunxu@xxxxxxxxx> Date: Mon, 30 Jul 2001 06:28:17 -0700 (PDT) |
Thanks for the suggestion, it made a lot of sense and worked great. Much appreciated, Xiaocun --- Alexander Gutman <gutman@xxxxxxxxxxxxxxx> wrote: > Helo. > > One of possible solutions is presented below. > If you want the output to be text rather than XML, > use > <xsl:output method="text"/> and modify the templates > accordingly. > > <xsl:template match="/*"> > <pairs> > <xsl:apply-templates > select="row[cell[@column='2']]"/> > </pairs> > </xsl:template> > > <xsl:template match="row"> > <pair> > <xsl:variable name="state-row" > select="preceding-sibling::row[cell[@column='1']][1]"/> > <xsl:choose> > <xsl:when test="$state-row"><xsl:value-of > select="$state-row/cell"/></xsl:when> > <xsl:otherwise>Unknown</xsl:otherwise> > </xsl:choose> > <!---->-<xsl:value-of select="cell"/> > </pair> > </xsl:template> > > Xiaocun Xu wrote: > > I am having problem figure this out, so any help > is > > appreciated. > > I have a source document, where a row contain > either > > state or city names. State names are always > located > > at cell/@column=1 and city names are always > > cell/@column=2. I want to concat each of the city > > names with the last state name in the previous > rows. > > Following is an example: > > > > Source XML: > > <row row="17"> > > <cell column="1">Alabama</cell> > > </row> > > <row row="18"> > > <cell column="2">Birmingham</cell> > > </row> > > <row row="19"> > > <cell column="2">Hoover</cell> > > </row> > > <row row="20"> > > <cell column="1">Arizona</cell> > > </row> > > <row row="21"> > > <cell column="2">Phoenix</cell> > > </row> > > <row row="22"> > > <cell column="2">Tucson</cell> > > </row> > > <!-- more states and cities follows --> > > > > Target text: > > Alabama-Birmingham > > Alabama-Hoover > > Arizona-Phoenix > > Arizona-Tucson > > XSL-List info and archive: > http://www.mulberrytech.com/xsl/xsl-list > __________________________________________________ Do You Yahoo!? Make international calls for as low as $.04/minute with Yahoo! Messenger http://phonecard.yahoo.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Concat state-city togethe, Alexander Gutman | Thread | [xsl] MSXML 4.0 (July) BUG: appendC, Alexander Gutman |
Re: [xsl] An XSLT puzzle, Oliver Becker | Date | RE: [xsl] xsl and text with xml ind, Michael Kay |
Month |