Sign Up
Search
Options
search
Chat
Help
News
Log in
Not Logged in
Home
»
Boards
»
Stylus Studio Developer Network
»
XSLT Help and Discussion
»
Order of Processing Child Elements
Conferences
Stylus Studio Feature Requests
(1192)
Stylus Studio Technical Forum
(14621)
Website Feedback
(249)
XSLT Help and Discussion
(7625)
Trouble Calling a java functio...
(4)
How to generate EDI 997
(2)
followup on tokenize with /r
(5)
tokenize a string with \r
(4)
How to convert XML to XLS file...
(2)
How to convert XML to XLS file...
(1)
how to pass value to xsl for t...
(3)
entity expansion liimit exceed...
(4)
Creating XSLT Stylesheet
(2)
Create XSLT from XSD
(2)
How to remove nodes from xml b...
(4)
Highlighting text in XSL file
(4)
XSLT to Excel, predefine cell ...
(1)
CSaxon8Driver issue...time out
(2)
Is it possible to generate a X...
(2)
Is there any tool which genera...
(2)
xslt to html producing double ...
(2)
ADD 2 XML 2 Generate Single XM...
(1)
converting XML1 to XML2 struct...
(2)
How to remove the name space i...
(2)
Previous
[61-80]
[81-100]
[101-120]
Next
XQuery Help and Discussion
(2017)
Stylus Studio FAQs
(159)
Stylus Studio Code Samples & Utilities
(364)
Stylus Studio Announcements
(113)
Topic
next
Subject:
Order of Processing Child Elements
Author:
John Hoffman
Date:
28 Mar 2012 01:10 PM
Hi,
I'm new to XSL and I'm trying to display the following:
<STATEMENT>
<Account>
<ACCTNUM name="Account Number">111111111</ACCTNUM>
<PPSTAR/>
<DISDAT name="Acount Date">01/13/2011</DISDAT>
<Charges>
<Item>
<DESC>charge 1a</DESC>
<AMT>1043.00</AMT>
</Item>
<Item>
<DESC>charge 1b</DESC>
<AMT>3605.16</AMT>
</Item>
<TOTCHGAMT name="Total Charges">5886.06</TOTCHGAMT>
</Charges>
<Credits>
<Item type="INS">
<DESC>Pmts/Adjs</DESC>
<AMT>-5123.44</AMT>
</Item>
<TOTPAYAMT>-5123.44</TOTPAYAMT>
</Credits>
<ACCTBAL name="Balance Due">762.62</ACCTBAL>
<DUNMESS>Please remit payment in full.</DUNMESS>
</Account>
<Account>
<ACCTNUM name="Account Number">222222222</ACCTNUM>
<PPSTAR/>
<DISDAT name="Account Date">01/07/2011</DISDAT>
<Charges>
<Item>
<DESC>Charge 2a</DESC>
<AMT>149.39</AMT>
</Item>
<Item>
<DESC>Charge 2b</DESC>
<AMT>819.32</AMT>
</Item>
<TOTCHGAMT name="Total Charges">1477.67</TOTCHGAMT>
</Charges>
<Credits>
<Item type="INS">
<DESC>Pmts/Adjs</DESC>
<AMT>-1405.10</AMT>
</Item>
<TOTPAYAMT>-1405.10</TOTPAYAMT>
</Credits>
<ACCTBAL name="Balance Due">72.57</ACCTBAL>
<DUNMESS>Please remit payment in full.</DUNMESS>
</Account>
</STATEMENT>
To look like this:
Account# Date Desc/Code Charges Credits Balance
111111111 01/13/2011
Supplies 43.00
Laboratory 819.32
MEDICARE Pmts/Adjs -5123.44
Total Pmts/Adjs -5123.44
Balance Due 762.62
222222222 01/13/2011
Supplies 43.00
Laboratory 819.32
MEDICARE Pmts/Adjs -5123.44
Total Pmts/Adjs -5123.44
Balance Due 762.62
333333333 01/13/2011
Supplies 43.00
Laboratory 819.32
MEDICARE Pmts/Adjs -5123.44
Total Pmts/Adjs -5123.44
Balance Due 762.62
Instead I get this:
Account# Date Desc/Code Charges Credits Balance
111111111 01/13/2011
222222222 01/13/2011
333333333 01/13/2011
Supplies 43.00
Laboratory 819.32
Supplies 43.00
Laboratory 819.32
Supplies 43.00
Laboratory 819.32
MEDICARE Pmts/Adjs -5123.44
MEDICARE Pmts/Adjs -5123.44
MEDICARE Pmts/Adjs -5123.44
Total Pmts/Adjs -5123.44
Total Pmts/Adjs -5123.44
Total Pmts/Adjs -5123.44
Balance Due 762.62
Balance Due 762.62
Balance Due 762.62
My syntax:
<xsl:for-each select="Account">
<tr height="15px" nowrap="1">
<td width="212px" style="text-align: center;font-size: 13px;"> <xsl:value-of select="ACCTNUM"/><xsl:value-of select="PPSTAR"/></td>
<td width="88px" style="text-align: center;font-size: 13px;"> <xsl:value-of select="DISDAT"/></td>
<td width="204px"></td>
<td width="109px"></td>
<td width="109px"></td>
<td width="109px"></td>
</tr>
</xsl:for-each>
<!--CHARGES AND CREDITS AND BALANCE DETAIL-->
<xsl:for-each select="Account/Charges/Item">
<tr height="15px" nowrap="1">
<td width="212px"></td>
<td width="88px"></td>
<td width="204px" style="text-align: left;font-size: 13px;"> <xsl:value-of select="DESC"/></td>
<td width="109px" style="text-align: right;font-size: 13px;"> <xsl:value-of select="AMT"/></td>
<td width="109px"></td>
<td width="109px"></td>
</tr>
</xsl:for-each>
<xsl:for-each select="Account/Charges">
<tr height="15px" nowrap="1">
<td width="212px"></td>
<td width="88px"></td>
<td width="204px" style="text-align: left;font-size: 13px; font-weight:bold;">Total Charges</td>
<td width="109px" style="text-align: right;font-size: 13px; font-weight:bold;"> <xsl:value-of select="TOTCHGAMT"/></td>
<td width="109px"></td>
<td width="109px"></td>
</tr>
</xsl:for-each>
<xsl:for-each select="Account/Credits/Item">
<tr height="15px" nowrap="1">
<td width="212px"></td>
<td width="88px"></td>
<td width="204px" style="text-align: left;font-size: 13px;font-weight:bold;"> <xsl:value-of select="DESC"/></td>
<td width="109px"></td>
<td width="109px" style="text-align: right;font-size: 13px;font-weight:bold;"> <xsl:value-of select="AMT"/></td>
<td width="109px"></td>
</tr>
</xsl:for-each>
<xsl:for-each select="Account/Credits">
<tr height="15px" nowrap="1">
<td width="212px"></td>
<td width="88px"></td>
<td width="204px" style="text-align: left;font-size: 13px;font-weight:bold;">Total Pmts/Adjs</td>
<td width="109px"></td>
<td width="109px" style="text-align: right;font-size: 13px;font-weight:bold;"> <xsl:value-of select="TOTPAYAMT"/></td>
<td width="109px"></td>
</tr>
</xsl:for-each>
<xsl:for-each select="Account">
<tr height="15px" nowrap="1">
<td width="212px"></td>
<td width="88px"></td>
<td width="204px" style="text-align: left;font-size: 13px;font-weight:bold;">Balance Due</td>
<td width="109px"></td>
<td width="109px"></td>
<td width="109px" style="text-align: right;font-size: 13px;font-weight:bold;"> <xsl:value-of select="ACCTBAL"/></td>
</tr>
</xsl:for-each>
<tr height="15px" nowrap="1">
<td width="212px"></td>
<td width="88px"></td>
<td width="204px"></td>
<td width="109px"></td>
<td width="109px"></td>
<td width="109px"></td>
</tr>
<!--DUNMESS MESSAGE-->
<xsl:for-each select="Account">
<tr height="15px" nowrap="1">
<td width="830px" colspan="6" style="text-align: left; text-indent:10px; font-size: 13px;"> <xsl:value-of select="DUNMESS"/></td>
</tr>
</xsl:for-each>
How do I 'loop' through each account to get them to process their descendants at the same time? Do I need to you choose/when test= or something else?
Any advice would be greatly appreciated.
Thanks,
John
top
Subject:
Order of Processing Child Elements
Author:
Ivan Pedruzzi
Date:
28 Mar 2012 02:56 PM
Which Stylus Studio version are you running?
<<"These boards are part of the Stylus Studio Developer Network. They are a service to users of Stylus Studio only.">>
If you download, register and start developing XSLT using Stylus
Studio you will have access to the forum resources.
http://www.stylusstudio.com/xml_download.html
Hope this helps
Stylus Studio Team
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.