Re: [xsl] create new xml with xsl

Subject: Re: [xsl] create new xml with xsl
From: "Babu Sathish Ramaraj" <bramaraj@xxxxxxxxxx>
Date: Fri, 7 Feb 2003 18:20:48 +0530
Hi,,

I will suggest u Java ..as we can easily group the datas of the particular
node...then on verifying the conditions u can call one xsl and on the other
case u can call the other...i think this will be really easy to carry on the
work. ..

Cheers,
Babu Sathish.

----- Original Message -----
From: "jandra x" <jandra_7@xxxxxxxxxxx>
To: <XSL-List@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Friday, February 07, 2003 5:42 PM
Subject: [xsl] create new xml with xsl


> Hi everybody! I have this project for my school and i cant seem to find
any
> good solution. I searched the list but nothing seems to help me
> exactly...What i want to do is to create a new xml document from an
original
> one using a simple xsl and then reuse this xml to ctreate another xml
> document with another xsl. Everything should be the simplest possible. I
> cant seem to work the combination of these xsl's.
>
> My original xml document includes clients from different countries.At
first
> i want to create anew xml doc which will have onlyclients from USA and
then
> a new xml doc which will have only those from ny. Assume that USA=1 and
> ny=11(all the other countries have different numbers..)
>
> For example this is a part from my original xml:
>
> <client>
>   <fname>george</name>
>   <lastname>qwerty</lastname>
>   <address>1</address>
>   <region>12</region>
>   <email>hotmail</email>
>   <phone>200897456</phone>
> </client>
>
> <client>
>   <fname>george</name>
>   <lastname>liberty</lastname>
>   <address>1</address>
>   <region>14</region>
>   <email>hotmail</email>
>   <phone>20084457456</phone>
> </client>
>
> <client>
>   <fname>nick</name>
>   <lastname>klipd</lastname>
>   <address>1</address>
>   <region>19</region>
>   <email>hotmail</email>
>   <phone>200855</phone>
> </client>
>
> <client>
>   <fname>alex</name>
>   <lastname>poly</lastname>
>   <address>1</address>
>   <region>11</region>
>   <email>hotmail</email>
>   <phone>20013131</phone>
> </client>
>
> <client>
>   <fname>owen</name>
>   <lastname>nitro</lastname>
>   <address>7</address>
>   <region>71</region>
>   <email>yahoo</email>
>   <phone>8003698</phone>
> </client>
>
> <client>
>   <fname>what</name>
>   <lastname>who</lastname>
>   <address>7</address>
>   <region>78</region>
>   <email>yahoo</email>
>   <phone>98</phone>
> </client>
>
> <client>
>   <fname>owen</name>
>   <lastname>bishop</lastname>
>   <address>7</address>
>   <region>76</region>
>   <email>yahoo</email>
>   <phone>800</phone>
> </client>
> etc....
>
> So with my first xsl i wnat to create this sort of xml
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <?xml-stylesheet type="text/xsl" href="8.xsl"?>
> <wow>
> <client>
>   <fname>george</name>
>   <lastname>qwerty</lastname>
>   <address>1</address>
>   <region>12</region>
>   <email>hotmail</email>
>   <phone>200897456</phone>
> </client>
>
> <client>
>   <fname>george</name>
>   <lastname>liberty</lastname>
>   <address>1</address>
>   <region>14</region>
>   <email>hotmail</email>
>   <phone>20084457456</phone>
> </client>
>
> <client>
>   <fname>nick</name>
>   <lastname>klipd</lastname>
>   <address>1</address>
>   <region>19</region>
>   <email>hotmail</email>
>   <phone>200855</phone>
> </client>
>
> <client>
>   <fname>alex</name>
>   <lastname>poly</lastname>
>   <address>1</address>
>   <region>11</region>
>   <email>hotmail</email>
>   <phone>20013131</phone>
> </client>
> </wow>
>
> and then with the second xsl this xml:
>
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <?xml-stylesheet type="text/xsl" href="8.xsl"?>
> <wow>
> <client>
>   <fname>alex</name>
>   <lastname>poly</lastname>
>   <address>1</address>
>   <region>11</region>
>   <email>hotmail</email>
>   <phone>20013131</phone>
> </client>
> </wow>
> ....
>
> what i cant achieve is to cobine the two xsl files.import or include dont
> seem to work. i use if to take only the clients from usa and then copy-of
> select to create the new tree with them and then in the different xsl the
> same idea to take the nyorkers.
> The code is something like this:
>
> <xsl:stylesheet
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";  version="1.0">
> <xsl:output method="xml" indent="yes"/>
> <xsl:template match="/">
> <xsl:apply-templates/>
> </xsl:template>
> <xsl:template match="clients">
> <xsl:if test="address='1'">
> <xsl:element name="client">
>      <xsl:element name="fname"><xsl:copy-of
select="./fname"/></xsl:element>
>      <xsl:element name="lastname"><xsl:copy-of
> select="./lastname"/></xsl:element>
>      <xsl:element name="address"><xsl:copy-of
> select="./address"/></xsl:element>
>      <xsl:element name="region"><xsl:copy-of
> select="./region"/></xsl:element>
>      <xsl:element name="email"><xsl:copy-of
select="./email"/></xsl:element>
>      <xsl:element name="phone"><xsl:copy-of
select="./phone"/></xsl:element>
> </xsl:element>
> </xsl:if>
> </xsl:template>
> </xsl:stylesheet>
>
> (**if this is my correct file..:)
> But i cant combined them into one.What should i do with the xml file so
that
> it will see first the first xsl and then the second???? This is exactly
what
> my professor wants. He wants us to create 2 diferrent xsl's and to apply
> them somehow to the xml file and the output of the first to go as input to
> the second ant thus create the last xml file.
> I'm stuck.Do i have to use java as i've seen in some other messages in the
> list??
> PLEASEEEEEEE anyone outthere?
> Thank u in advance and sorry for the huge msg..
>
> _________________________________________________________________
> STOP MORE SPAM with the new MSN 8 and get 2 months FREE*
> http://join.msn.com/?page=features/junkmail
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>


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


Current Thread