XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
- Stylus Studio Technical Forum (14621)
-> + External Cascading Style Sheet... (2)
-> + Need help with XML mapping - P... (2)
-> + Convert image to base64 in xsl... (2)
-> + Automation (2)
-> - Changing Default Property valu... (1)
-> + Help in reading cdata using xs... (4)
-> + Ok, I can programatically conv... (2)
-> + How do I prevent the previewer... (2)
-> + Can I programatically convert ... (2)
-> + XML To Flat File - Reverse Eng... (3)
-> + Check for valid attribute valu... (3)
-> + Java.lang.OutOfMemory - when I... (3)
-> + How to convert text in EBCDIC ... (8)
-> + First steps in XSLT mapping (4)
-> + Option to build XSL-FO is not ... (3)
-> + using Adaptor convert XML to e... (2)
-> + Using XML Converter on a Compl... (2)
-> + Java built-in processor needed... (3)
-> + XSL to draw a table (2)
-> - Stylus Studio in c# solutions (1)
-> + entities within schemaLocation... (4)
-> + java runtime error during xslt... (2)
-> + Conversion of XML Doc for RSS ... (2)
-> + Does anyone know how to upgrad... (2)
-> + XML editor corrupts my file (5)
-> + Stylus Studio & Berkeley DB XM... (4)
-> + XSLT for page breakout (2)
-> + How to avoid creating empty el... (2)
-> + Error in converting 945 EDI us... (4)
-> + XML to X12 (invoice 810 edi) (2)
-> - Stylus Studio 2009 Enterprise ... (1)
-> + Stylus Studio 2007 - license d... (2)
-> + XML to X12 conversion error (6)
-> + How to reset JVM (to another j... (2)
-> + How to generate XML sample dat... (2)
-> + Document Path reference after ... (4)
-> + concatenate with xquery (6)
-> + i want to capture the xml tag ... (3)
-> + "View Sample XML" in schema an... (2)
-> + Can't get to Toolbar settings ... (2)
-> + SOAPException (3)
-> + how to patch xml files with wr... (2)
-> + wysiwug xslt editor (2)
-> + XML to Google Charts (10)
-> + XML to HL7 (2)
-> - Outputting this XML (1)
-> + Interpreting XSD Error Message... (2)
-> + converter EDI --> typ = no (8)
-> + License issue (7)
-> + One of the simplest questions ... (3)
-> + xQuery transformation encounte... (2)
-> + Schema Evolution (2)
-> + Preview in Browser button gray... (4)
-> + converter:EDI:val=no AND chr=.... (4)
-> + [XQuery][DB2 JDBC Driver]Unsu... (2)
-> + Need Help Create XML file thro... (4)
-> + Flat file to XML conversion in... (5)
-> + How to set delimiters if it's ... (4)
-> + XSD Validation failing (4)
-> + XSD Validation failing (2)
-> + Web Service Call cannot retrie... (7)
-> + Flat file conversion to XML (2)
-> + Stylus Studio crash (5)
-> + Stylus Studio No Longer loads (2)
-> + How do I print in color? (2)
-> + Integrating Documentum WebPubl... (2)
-> + Stylus Studio crashes on openi... (4)
-> + Change format of XML output fo... (3)
-> + XSLT mapper / Source file not ... (7)
-> + Stylus Studio crashes on start... (3)
-> + Loading GML3.1 (3)
-> + NullPointerException when runn... (5)
-> + Can not open Stylus Studio (3)
-> + macros for custom validation e... (6)
-> + Does Stylus Studio generate XM... (4)
-> + another csv conversion (7)
-> + ADD CVS to Source Control drop... (2)
-> + Automate xquery (6)
-> + Correcting multiple XML docume... (2)
-> + Unable to locate Components\Da... (5)
-> + Runtime Error, Struzzo.exe, Ab... (11)
-> + Convert XML to EDIfact (3)
-> + I don't have the Mapper tab (6)
-> + CSV conversion with null field (3)
-> + Converting a Complex Flat File... (2)
-> - installion in batch mode (1)
-> + Complete Custom Validation Lis... (2)
-> + creating xml from csv flat fil... (9)
-> - need Help Regarding XBRL (1)
-> + Exception FODC0004: file or di... (2)
-> + Activation (2)
-> + java runtime error (2)
-> + connection problem with AS 400... (4)
-> + XML to 837I EDI -- multiple NM... (3)
-> + WYSIWYG in SSv7 (2)
-> - Write into < head /> tags us... (1)
-> + Maximum recursion depth exceed... (2)
-> - Code coverage testing (1)
-> - Passing JavaScript with multip... (1)
-> + preserving white space in XML ... (8)
-- Previous [721-740] [741-760] [761-780] Next
+ Website Feedback (249)
+ XSLT Help and Discussion (7625)
+ XQuery Help and Discussion (2016)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Ram GudavalliSubject: Combine Duplicates
Author: Ram Gudavalli
Date: 29 Sep 2004 05:55 PM
Hi,

I am new to XSLT and I am having trouble combining child elements when
the parents attributes are same.

Sample:

<A>
<B id="xxxx">
<C val="aa">
</B>
<B id="yyyy"
<C val="bb">
</B
<B id="xxxx">
<C val="cc">
</B
</A>

I need the output as,

<A>
<B id="xxxx">
<C val="aa">
<C val="cc">
</B>
<B id="yyyy">
<C val="bb">
</B>
</A>

Please help me out here.
Thanks.

Postnext
Ivan PedruzziSubject: Combine Duplicates
Author: Ivan Pedruzzi
Date: 29 Sep 2004 07:33 PM
Hi Ram,

This a tipical grouping problem that ca be solved suign the key function
The following XSLT does what you are looking for

I hope this helps
Ivan


<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:key name="id" match="/*/*" use="@id"/>
<xsl:key name="children" match="/*/*/*" use="../@id"/>

<xsl:template match="/">
<xsl:for-each select="*[1]"> <!--this is for the root only-->

<xsl:copy> <!-- copy root node and his attributes -->
<xsl:copy-of select="@*"/>

<!--
- group the B elements by attribute "id"
- eliminate duplicates
- sort by attribute "id"
-->
<xsl:for-each select="*[generate-id() = generate-id(key('id', @id)[1])]">
<xsl:sort select="@id"/>

<!-- copy children nodes C using the attribute id as key -->
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:copy-of select="key('children', @id)"/>
</xsl:copy>

</xsl:for-each>

</xsl:copy>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

Posttop
Ram GudavalliSubject: Combine Duplicates
Author: Ram Gudavalli
Date: 30 Sep 2004 09:50 AM
Thanks a lot Ivan. I appreciate your help.

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.