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>
--~--