Sign Up
Search
Options
search
Chat
Help
News
Log in
Not Logged in
Home
»
Boards
»
Stylus Studio Developer Network
»
XSLT Help and Discussion
»
XSLT Order "Spliiting" Help
Topic
Topic Page
1
2
3
4
5
6
7
8
9
Prev Topic
Next Topic
next
Subject:
XSLT Order "Spliiting" Help
Author:
Jeffrey Lynch
Date:
26 Feb 2005 12:34 AM
I have an inbound document as shown below.
<Orders>
<Order>
<Header OrderNo="123"></Header>
<Line Item="ABC" Date="02-25-2005"></Line>
<Line Item="DEF" Date="02-26-2005"></Line>
<Line Item="YXZ" Date="02-26-2005"></Line>
<Footer NoLines="3"></Footer>
</Order>
</Orders>
I need help creating the map to transform to this if possible:
<Orders>
<Order>
<Header OrderNo="123"></Header>
<Line Item="ABC" Date="02-25-2005"></Line>
<Footer NoLines="1"></Footer>
</Order>
<Order>
<Header OrderNo="123"></Header>
<Line Item="DEF" Date="02-26-2005"></Line>
<Line Item="YXZ" Date="02-26-2005"></Line>
<Footer NoLines="2"></Footer>
</Order>
</Orders>
Basically, I need to split the single <Order></Order> into multiple
<Order></Order> with the same <Header> but with the <Line> items grouped
together by "Date".
next
Subject:
XSLT Order
Author:
Ivan Pedruzzi
Date:
26 Feb 2005 01:11 AM
Jeffrey,
This is a typical grouping problem, here is one of the possible solutions
Hope this helps
Ivan
<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="
http://www.w3.org/1999/XSL/Transform">
<xsl:key name="item" match="Orders/Order/Line" use="@Date"/>
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<Orders>
<xsl:for-each select="Orders/Order/Line">
<xsl:variable name="group" select="key('item', @Date)"/>
<xsl:if test="generate-id($group[1]) = generate-id()">
<Order>
<Header orderNo="{../Header/@OrderNo}"/>
<xsl:for-each select="$group">
<xsl:copy-of select="."/>
</xsl:for-each>
<Footer NoLines="{count($group) }"/>
</Order>
</xsl:if>
</xsl:for-each>
</Orders>
</xsl:template>
</xsl:stylesheet>
top
Subject:
XSLT Order
Author:
Jeffrey Lynch
Date:
26 Feb 2005 10:50 AM
Thanks so much for the help! Your XSLT does exactly what I'm looking for.
Topic Page
1
2
3
4
5
6
7
8
9
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.