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
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
John HoffmanSubject: 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

Posttop
Ivan PedruzziSubject: 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

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
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.