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

Subject: RE: [xsl] How do I change a XSL style sheet to group data together under one heading
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 16 May 2007 21:58:16 +0100
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@xxxxxxxxxxx] 
> Sent: 16 May 2007 19:20
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> 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/

Current Thread