This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: xsl:copy-reposting


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

<xsl:output method="xml" indent="yes"/>
<xsl:strip-space elements="*"/>

<xsl:template match="/">
    <xsl:apply-templates select="students"/>
</xsl:template>
<!-- ********************************************* -->

<xsl:template match="students">
    <xsl:apply-templates select="student"/>
</xsl:template>
<!-- ********************************************* -->

<xsl:template match="student">
  <xsl:copy>
    <xsl:copy-of select="@*"/>
    <xsl:copy-of select="*"/>
  </xsl:copy>
  <xsl:if test="address = 'YYY'">
   <xsl:copy>
     <xsl:copy-of select="@*"/>
     <xsl:copy-of select="*[name() != 'address']"/>
     <xsl:apply-templates select="address"/>
   </xsl:copy>
  </xsl:if>
</xsl:template>

<!-- ********************************************* -->

<xsl:template match="address">
  <xsl:copy>
    <xsl:copy-of select="@*"/>
     <xsl:value-of select="'changed-YYYY'"/>
  </xsl:copy>
</xsl:template>

<!-- ********************************************* -->
<!-- ********************************************* -->

</xsl:stylesheet>

----- Original Message -----
From: <subbu@boltblue.com>
To: <xsl-list@lists.mulberrytech.com>
Sent: Thursday, August 08, 2002 10:19 AM
Subject: [xsl] xsl:copy-reposting


> hello people.. Sorry for reposting...
> following the suggestion given by Jeff and Mike,
> I decided to go for the two-phase transformation..
> I am stuck up in the very first phase :)
> The following is my doubt.
> I have the following xml with me..
> <?xml version="1.0"?>
> <students>
> <student id = "101">
> <name>A</name>
> <address>XXX</address>
> </student>
> <student id = "201">
> <name>B</name>
> <address>YYY</address>
> </student>
> <student id = "301">
> <name>C</name>
> <address>XXX</address>
> </student>
> <student id = "401">
> <name>E</name>
> <address>YYY<address>
> </student>
> </students>
>
> now what i have to do is .. convert this into an xml in such a way that if
> address is 'YYY' then add the same node again with a changed address ..
> so what i want is after the
>
> <student id = "201">
> <name>B</name>
> <address>YYY</address>
> </student>
>
> i want another Student Element Set which looks like
>
> <student id = "201">
> <name>B</name>
> <address>Changed-YYY</address>
> </student>
>
> I looked at the archives came close to the solution but dint get what i
> wanted  :(...
> the final transformed XML would look like ..
>
> <students>
> <student id = "101">
> <name>A</name>
> <address>XXX</address>
> </student>
> <student id = "201">
> <name>B</name>
> <address>YYY</address>
> </student>
> <student id = "201">
> <name>B</name>
> <address>Changed-YYY</address>
> </student>
> <student id = "301">
> <name>C</name>
> <address>XXX</address>
> </student>
> <student id = "401">
> <name>E</name>
> <address>YYY<address>
> </student>
>         <student id = "401">
> <name>E</name>
> <address>Changed-YYY<address>
> </student>
> </students>
>
> The Changed-YYY is something i read from a template passing YYY as
parameter.
> its a paramater ( $Changed-YYY)
>
> I am sorry to trouble you .. but wud be happy if someone suggests me a way
to
> come out of it
> Thanx  a ton!!
>
>
>
>
>
> --------------------------------------------------------------
> Sent with "Me-Mail", Boltblue's FREE mobile messaging service.
> http://www.boltblue.com
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>
>
>



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]