[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Creating child elements to existing Parent element
Subject: Re: Creating child elements to existing Parent elements
From: "Cherry Yang" <qian.cherry.yang@xxxxxxxxx>
Date: Thu, 7 Sep 2006 12:13:09 -0400
|
Thanks for your suggestion, I realized that I simplified my original
problem a bit too much. My original problem can't be solved by simply
matching some XPath query. Still this gives me some ideas to try in my
much complicate context.
QCY
On 9/7/06, Mukul Gandhi <gandhi.mukul@xxxxxxxxx> wrote:
Please try this stylesheet:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/x">
<Ingredients>
<xsl:for-each select="Spices/Spice | MeatParentTags/Meats/Meat |
Vegetables/Vegetable">
<Ingredient>
<xsl:copy-of select="@*" />
</Ingredient>
</xsl:for-each>
</Ingredients>
</xsl:template>
</xsl:stylesheet>
This when applied to XML:
<?xml version="1.0" encoding="UTF-8"?>
<x>
<Spices>
<Spice name="black pepper" id="11" />
<Spice name="ginger powder" id="12" />
<Spice name="salt" id="13" />
</Spices>
<MeatParentTags>
<Meats>
<Meat name="pork" id="21" />
</Meats>
</MeatParentTags>
<Vegetables>
<Vegetable name="Green Pepper" id="34" />
</Vegetables>
</x>
Produces the desired output:
<?xml version="1.0" encoding="UTF-8"?>
<Ingredients>
<Ingredient name="black pepper" id="11"/>
<Ingredient name="ginger powder" id="12"/>
<Ingredient name="salt" id="13"/>
<Ingredient name="pork" id="21"/>
<Ingredient name="Green Pepper" id="34"/>
</Ingredients>
On 9/7/06, Cherry Yang <qian.cherry.yang@xxxxxxxxx> wrote:
> Hi all,
> I was not able to find out how to create child elements to existing
> Parent elements after going through my XSLT document and searching on
> the web. I might not be searching with the right key words. Here is my
> problem:
>
> My Source xml document looks something like this:
> <Spices>
> <Spice name="black pepper" id="11"/>
> <Spice name="ginger powder" id="12"/>
> <Spice name="salt" id="13"/>
> </Spices>
> ....
> <MeatsParentTags>
> ......
> <Meats>
> <Meat name="pork" id="21"/>
> </Meats>
> </MeatParentTags>
> .....
> <Vegetables>
> <Vegetable name="Green Pepper" id="34/>
> </Vegetables>
>
> My desired output would be a combination of these tags.
> <Ingredients>
> <Ingredient name="black pepper" id="11"/>
> <Ingredient name="ginger powder" id="12"/>
> <Ingredient name="salt" id="13"/>
> <Ingredient name="pork" id="21"/>
> <Ingredient name="Green Pepper" id="34/>
> </Ingredients>
>
> My XSLT would create element <Ingredients> when processing <Spices>.
> Later on it should only create <ingredient> element as child element
> to <Ingredients> element when processing <Meat> or <Vegetable>. Any
> suggestion on how this can be achieved?
>
> I appreciate your help!
>
> QCY
--
Regards,
Mukul Gandhi
http://gandhimukul.tripod.com

|
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format
RSS 2.0 |
|
Atom 0.3 |
|
|