xsl-list
[Top] [All Lists]

RE: [xsl] How do I change a XSL style sheet to group data together under one heading

2007-05-16 14:39:45
Grouping problems are easier in XSLT 2.0 than in XSLT 1.0. In 2.0 there is a
special instruction for the purpose: xsl:for-each-group. In XSLT 1.0 there
are a number of techniques, all of them a little tricky until you get used
to them; you can find them described at
http://www.jenitennison.com/xslt/grouping

Michael Kay
http://www.saxonica.com/ 

-----Original Message-----
From: kieters c [mailto:kieters(_at_)hotmail(_dot_)com] 
Sent: 16 May 2007 19:20
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] How do I change a XSL style sheet to group 
data together under one heading

Good day,
My knowledge of XML is next to none and I only have one XSL 
code to use.
I also assume I may be using incorrect jargon and hope you 
will understand what I need.

I have an XSL style sheet to convert the XML flat file. I 
need to change the style sheet so it groups certain data 
together under one heading. I need to be able to do this as 
the system I upload the file to do not accept the information 
as presented and continuously gives me an error. What I am 
trying to say is that the "result" information under "sample" 
grouped together where the "sample" information is the same.

Your assistance is much appreciated.

Thank you.

Hennie

The format it requires is as follow:

<sample sample_date_time="20070101" imis_cp_ext="2300" 
cp_name="NEUTRA.
SUMP WTPE" dischg_sample_cd="20070101" sample_comment=""> 
<result rpttime_name="DAILY" sis_imis_code="FTFLOW" parm_name="FLOW"
result_structure="SI" unit_abbrev="M3/D" rptas_abbrev="NOT APPL"
component_type="SM" result_value="170.000000" result_comment=""
imis_regulation_code_1="CA" imis_regulation_code_2="MC" /> 
<result rpttime_name="DAILY" sis_imis_code="PH" parm_name="PH 
(-LOG H+ CONCN)" result_structure="P3" unit_abbrev="NO DIM" 
rptas_abbrev="NOT APPL" component_type="V1" 
result_value="8.246000" result_comment=""
imis_regulation_code_1="MC" />
<result rpttime_name="DAILY" sis_imis_code="PH" parm_name="PH 
(-LOG H+ CONCN)" result_structure="P3" unit_abbrev="NO DIM" 
rptas_abbrev="NOT APPL" component_type="T1" 
result_value="08:00" result_comment=""
imis_regulation_code_1="MC" />
<result rpttime_name="DAILY" sis_imis_code="PH" parm_name="PH 
(-LOG H+ CONCN)" result_structure="P3" unit_abbrev="NO DIM" 
rptas_abbrev="NOT APPL" component_type="V2" 
result_value="8.233000" result_comment=""
imis_regulation_code_1="MC" />
<result rpttime_name="DAILY" sis_imis_code="PH" parm_name="PH 
(-LOG H+ CONCN)" result_structure="P3" unit_abbrev="NO DIM" 
rptas_abbrev="NOT APPL" component_type="T2" 
result_value="12:00" result_comment=""
imis_regulation_code_1="MC" />
<result rpttime_name="DAILY" sis_imis_code="PH" parm_name="PH 
(-LOG H+ CONCN)" result_structure="P3" unit_abbrev="NO DIM" 
rptas_abbrev="NOT APPL" component_type="V3" 
result_value="8.216000" result_comment=""
imis_regulation_code_1="MC" />
<result rpttime_name="DAILY" sis_imis_code="PH" parm_name="PH 
(-LOG H+ CONCN)" result_structure="P3" unit_abbrev="NO DIM" 
rptas_abbrev="NOT APPL" component_type="T3" 
result_value="16:00" result_comment=""
imis_regulation_code_1="MC" />
<result rpttime_name="DAILY" sis_imis_code="RSP"
parm_name="RESIDUE,PARTICULATE" result_structure="SI" 
unit_abbrev="MG/L"
rptas_abbrev="NOT APPL" component_type="SM" result_value="3.38"
result_comment="" imis_regulation_code_1="CA"
imis_regulation_code_2="MC" />
</sample>

The one generated by the XSL style sheet is as follow.: Only 
a few records posted

- <sample sample_date_time="20070101" imis_cp_ext="2300" 
cp_name="Neutr.
Sump WTPE" dischg_sample_cd="" sample_comment=""> <result 
rpttime_name="DAILY" sis_imis_code="FTFLOW" parm_name="Flow"
unit_abbrev="M3/D" rptas_abbrev="NOT APPL" result_structure="SI"
component_type="SM" result_value="168.2" remark_code_1=""
remark_code_2="" remark_code_3="" result_comment=""
imis_regulation_code_1="MC" imis_regulation_code_2="CA" /> </sample>
- <sample sample_date_time="20070101" imis_cp_ext="2300" 
cp_name="Neutr.
Sump WTPE" dischg_sample_cd="" sample_comment=""> <result 
rpttime_name="DAILY" sis_imis_code="PH" parm_name="pH (-log 
H+ Concn)" unit_abbrev="NO DIM" rptas_abbrev="NOT APPL"
result_structure="P3" component_type="V1" result_value="8.2"
remark_code_1="" remark_code_2="" remark_code_3="" result_comment=""
imis_regulation_code_1="MC" imis_regulation_code_2="" /> </sample>
- <sample sample_date_time="20070101" imis_cp_ext="2300" 
cp_name="Neutr.
Sump WTPE" dischg_sample_cd="" sample_comment=""> <result 
rpttime_name="DAILY" sis_imis_code="PH" parm_name="pH (-log 
H+ Concn)" unit_abbrev="NO DIM" rptas_abbrev="NOT APPL"
result_structure="P3" component_type="T1" result_value="08:00"
remark_code_1="" remark_code_2="" remark_code_3="" result_comment=""
imis_regulation_code_1="MC" imis_regulation_code_2="" /> </sample>
- <sample sample_date_time="20070101" imis_cp_ext="2300" 
cp_name="Neutr.
Sump WTPE" dischg_sample_cd="" sample_comment=""> <result 
rpttime_name="DAILY" sis_imis_code="PH" parm_name="pH (-log 
H+ Concn)" unit_abbrev="NO DIM" rptas_abbrev="NOT APPL"
result_structure="P3" component_type="V2" result_value="8.17"
remark_code_1="" remark_code_2="" remark_code_3="" result_comment=""
imis_regulation_code_1="MC" imis_regulation_code_2="" /> </sample>
- <sample sample_date_time="20070101" imis_cp_ext="2300" 
cp_name="Neutr.
Sump WTPE" dischg_sample_cd="" sample_comment=""> <result 
rpttime_name="DAILY" sis_imis_code="PH" parm_name="pH (-log 
H+ Concn)" unit_abbrev="NO DIM" rptas_abbrev="NOT APPL"
result_structure="P3" component_type="T2" result_value="12:00"
remark_code_1="" remark_code_2="" remark_code_3="" result_comment=""
imis_regulation_code_1="MC" imis_regulation_code_2="" /> 
</sample> The style sheet is :
<?xml version="1.0" encoding="iso-8859-1" ?>
- <!--
sample.xsl
-->
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">
<xsl:output method="xml" indent="yes" />
- <xsl:variable name="UC">
<xsl:text>abcdefghijklmnopqrstuvwxyz</xsl:text>
</xsl:variable>
- <xsl:variable name="lc">
<xsl:text>abcdefghijklmnopqrstuvwxyz</xsl:text>
</xsl:variable>
- <xsl:template match="/">
- <submission imis_company_code="0001843309" ws_name=" "> 
<xsl:apply-templates /> </submission> </xsl:template>
- <xsl:template match="sample">
- <sample sample_date_time="{sample_date_time}"
imis_cp_ext="{imis_cp_ext}" cp_name="{cp_name}"
dischg_sample_cd="{dischg_sample_cd}" 
sample_comment="{sample_comment}">
<result rpttime_name="{translate(rpttime_name,$lc,$UC)}"
sis_imis_code="{translate(sis_imis_code,$lc,$UC)}"
parm_name="{parm_name}" unit_abbrev="{Unit_abbrev}"
rptas_abbrev="{rptas_abbrev}" result_structure="{result_structure}"
component_type="{component_type}" result_value="{result_value}"
remark_code_1="{remark_code_1}" remark_code_2="{remark_code_2}"
remark_code_3="{remark_code_2}" result_comment="{result_comment}"
imis_regulation_code_1="{imis_regulation_code_1}"
imis_regulation_code_2="{imis_regulation_code_2}" /> 
</sample> </xsl:template> </xsl:stylesheet>

_________________________________________________________________
Share folders without harming wildlife! 
http://www.communicationevolved.com/en-za/


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--