Sign Up
Search
Options
search
Chat
Help
News
Log in
Not Logged in
Home
»
Boards
»
Stylus Studio Developer Network
»
Stylus Studio Technical Forum
»
Grouping
Topic
Topic Page
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Prev Topic
Next Topic
next
Subject:
Grouping
Author:
Chandra Sekhar
Date:
18 Dec 2019 08:33 PM
Hi,
I have xml file like
<Record>
<Header>
<Header>
<Header>
<LineItem>
<LindItem>
<LineItem>
<LineItem>
<Lot>
<Lot>
<Lot>
<Lot>
<Lot>
</Record>
Header,LineItem.Lot are different structures which has common key field as order number.. I want group by Order number like
<Record>
<Header>
<LineItem>
<Lot>
</Record>
HOW CAN we achieve this in XSLT.
Appreciate your Help.
Thanks,
CS
Source(6).xml
Source XML
top
Subject:
Grouping
Author:
(Deleted User)
Date:
14 Jan 2020 11:32 AM
Hi
If you use XSLT 2, you could do something like this:
<xsl:stylesheet xmlns:xsl="
http://www.w3.org/1999/XSL/Transform"
version="2.0" xmlns:ns0="
http://sap.com/xi/XI/SplitAndMerge">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:for-each-group select="ns0:Messages/ns0:Message1" group-by="messages/Lot_Line/Ordernumber">
<Record>
<!--<Ordernumber>
<xsl:value-of select="current-grouping-key()"/>
</Ordernumber>-->
<!--header-->
<xsl:apply-templates select="messages/Header[Ordernumber = current-grouping-key()]"/>
<xsl:apply-templates select="messages/Lineitem[Ordernumber = current-grouping-key()]"/>
<xsl:apply-templates select="messages/Lot_Line[Ordernumber = current-grouping-key()]"/>
</Record>
</xsl:for-each-group>
</xsl:template>
<!--changes the root for Lot_line-->
<xsl:template match="Lot_Line">
<Lot>
<xsl:apply-templates/>
</Lot>
</xsl:template>
<xsl:template match="@*|*|processing-instruction()|comment()">
<xsl:copy>
<xsl:apply-templates select="*|@*|text()|processing-instruction()|comment()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Kind regards Bruce
Topic Page
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Prev Topic
Next Topic
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 to Conference:
Select Conference
Stylus Studio Feature Requests
Stylus Studio Technical Forum
Website Feedback
XSLT Help and Discussion
XQuery Help and Discussion
Stylus Studio FAQs
Stylus Studio Code Samples & Utilities
Stylus Studio Announcements
go
Log In Options
Username:
Password:
Site Map
|
Privacy Policy
|
Terms of Use
|
Trademarks
Stylus Scoop XML Newsletter:
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.