RE: How to use xslt to transform xml to xml with added nodes

Subject: RE: How to use xslt to transform xml to xml with added nodes
From: Michael Teigman <michael.teigman@xxxxxxxxxxx>
Date: Wed, 15 Sep 1999 16:31:48 -0400
Thanks for the response.

I do want to create a static node but I want it to depend on the value of the
other element attribute, e.g.:

<c>
<d e="texte"><f g="textg"/></d>
<d e="texth"><f g="texti"/></d>
</c>

if textg = A or E or I or U then texti = "vowel"
if textg = B or C or D or F or G or H or J then texti = "low consonant"
if textg = K or L or M then texti = "low middle consonant"
....

This is not my actual data text but it gives the idea.
The number of categories for textg could be quite long. Is there some easy way
of doing the match?



                                                                  
 (Embedded                                                        
 image moved   "Harbarth, Juliane" <jhb@xxxxxxxxxxxxxx>           
 to file:      09/15/99 06:23 AM                                  
 pic07645.pcx)                                                    
                                                                  



Please respond to xsl-list@xxxxxxxxxxxxxxxx

To:   xsl-list@xxxxxxxxxxxxxxxx
cc:    (bcc: Michael Teigman/HPG/US/Reuters)
Subject:  RE: How to use xslt to transform xml to xml with added nodes







> From: Michael Teigman [mailto:michael.teigman@xxxxxxxxxxx]
> Sent: Tuesday, September 14, 1999 6:20 PM
> Subject: How to use xslt to transform xml to xml with added nodes

> ...
> I want to transform it to a new xml keeping all the original intact
> but adding to <c> such that the new xml would be:
> ...

It is not clear to me, how you want to create this additional notes.
If you just intend to include some static content, the following
will do (with XT). It is just a slight variation of what James Clark
gives as the 'identity transformation' in the XSLT spec, see 7.5.
Copying.

<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0";>

 <xsl:template match="@*|*">
  <xsl:copy>
   <xsl:apply-templates select="@*|node()"/>
  </xsl:copy>
 </xsl:template>

 <xsl:template match="c">
  <xsl:copy>
   <xsl:apply-templates select="@*|node()"/>
   <d e="texth"><f g="texti"/></d>
  </xsl:copy>
 </xsl:template>

</xsl:stylesheet>


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


------------------------------------------------------------------------
Any views expressed in this message are those of the individual  sender,
except  where  the  sender  specifically  states them to be the views of
Reuters Ltd.

Attachment: pic07645.pcx
Description: Binary data

Current Thread