Fw: [xsl] Need help combing two elements

Subject: Fw: [xsl] Need help combing two elements
From: Hermann Stamm-Wilbrandt <STAMMW@xxxxxxxxxx>
Date: Sun, 29 Mar 2009 22:56:14 +0200
>  <Row Type="Data">
>   <Cell>Mar 23, 2006</Cell>
>   <Cell>08:44</Cell>
>  </Row>
>
>  So how would your sample XSLT work with my sample XML?

XSLT:

<xsl:template match="Row">
  <both a="{Cell[1]}" b="{Cell[2]}"/>,
</xsl:template>

Output:

<both a="Mar 23, 2006" b="08:44"/>


If you want to be able to transform an arbitrary number of <Cell> entries:>

Input:

<table>
 <Row Type="Data">
 <Cell>Mar 23, 2006</Cell>
  <Cell>08:44</Cell>
 </Row>>
 <Row Type="Data">
  <Cell>Mar 23, 2006</Cell>
  <Cell>08:53</Cell>
  <Cell>text</Cell>>
 </Row>>
</table>

XSLT:

<xsl:template match="Row">>
  <xsl:element name="row">>
    <xsl:for-each select="child::*"><xsl:value-of select="."/>;
</xsl:for-each>
  </xsl:element>
</xsl:template>>

OUTPUT:

 <row>Mar 23, 2006; 08:44; </row>
 <row>Mar 23, 2006; 08:44; text; </row>


Mit besten Gr|_en / Best wishes,

Hermann Stamm-Wilbrandt
Developer, XML Compiler
WebSphere DataPower SOA Appliances
----------------------------------------------------------------------
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter
Geschdftsf|hrung: Erich Baier
Sitz der Gesellschaft: Bvblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294
----- Forwarded by Hermann Stamm-Wilbrandt/Germany/IBM on 03/29/2009 10:51
PM -----

             "Fatbob"
             <fatbob73@hotmail
             .con>                                                      To
                                       <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
             03/29/2009 11:06                                           cc
             PM
                                                                   Subject
                                       Re: [xsl] Need help combing two
             Please respond to         elements
             xsl-list@xxxxxxxx
              lberrytech.com








Thanks for the reply Wendell, but man I really slow at understanding XSL.

You sample looks to be quick simple, yet I'm not getting the desired
results. Perhaps it's because you're sample XML is quite a bit different
than my sample.

Here again is my sample (I simplified it further from my previous email)...

<Row Type="Data">
 <Cell>Mar 23, 2006</Cell>
 <Cell>08:44</Cell>
</Row>

So how would your sample XSLT work with my sample XML?

Thanks!

----- Original Message -----
From: "Wendell Piez" <wapiez@xxxxxxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Friday, March 27, 2009 4:05 PM
Subject: Re: [xsl] Need help combing two elements


> Fatbob:
>
> Input:
>
> <data>
>   <one a="1"/>
>   <two b="2"/>
> </data>
>
> XSLT:
>
> <xsl:template match="data">
>   <both a="{one/@a}" b="{two/@b}"/>
> </xsl:template>
>
> Output:
> <both a="1" b="2"/>
>
> Or more generally: decide on a context from which all the necessary data
> components for your new element are visible (any context will do but some

> are easier than others), and make the new element, pulling in whatever
> data you want from wherever you find it.
>
> In fact, it's pretty hard to write XSLT that doesn't do this, in a very
> general way. If you think in terms of elements and attributes being nodes

> on a tree, rather than stuff written with tags (as you really must to get

> anywhere with XSLT), it starts seeming very normal.
>
> Cheers,
> Wendell
>
> At 02:11 PM 3/27/2009, you wrote:
>>Thanks for taking the time to write that email. Greatly appreciate it.
>>
>>To answer your question about moving to XSLT 2.0, unfortunately that is
>>not
>>an option. So I'll have to find a solution to merging the two cells and
>>formatting the date using whatever functionality is available in 1.0.
>>
>>So far I'm still in the dark as to how I can merge the cells.
>
>
>
>
>
> ======================================================================
> Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
> Mulberry Technologies, Inc.                http://www.mulberrytech.com
> 17 West Jefferson Street                    Direct Phone: 301/315-9635
> Suite 207                                          Phone: 301/315-9631
> Rockville, MD  20850                                 Fax: 301/315-8285
> ----------------------------------------------------------------------
>   Mulberry Technologies: A Consultancy Specializing in SGML and XML
> ======================================================================

Current Thread