Subject: Re: [xsl] How do I change a XSL style sheet to group data together under one heading|
From: "kieters c" <kieters@xxxxxxxxxxx>
Date: Mon, 21 May 2007 14:22:31 +0000
Line 16, character 38 (I assume it is line ###) Stylesheet error: Invalid XPath Expression Select
Line 24 character 34 Error in XPath Expression, Error in XPath Expression,
Error Line 24 character 34 Stylesheet error: Invalid XPath Expression Select
From: Abel Braaksma <abel.online@xxxxxxxxx>
Subject: Re: [xsl] How do I change a XSL style sheet to group data together under one heading
Date: Mon, 21 May 2007 14:13:18 +0200
kieters c wrote:
The resuslt I need to get is :
<sample sample_date_time="20061001" cp_name="Neutr. Sump WTPE" imis_cp_ext="2300" dischg_sample_cd=" " sample_comment=" ">
<result rpttime_name="Daily" sis_imis_code="RSP" parm_name="Residue, particulate" >
<result rpttime_name="Daily" sis_imis_code="FTFLOW" parm_name="Flow" />
In other words sample_date_time, cp_name, dischg_sample_cd, ect grouped together and the rest grouped with result.
Which to me seems equal to mine, except that yours is with a bit more data. You can just concatenate more items together if you want (in my example it is only sample_date_time and cp_name). And if you need them as attributes too (like you show above), you can do so by changing the apply-templates for the attributes, plus changing the not(self::..... etc) expression, because these elements that you want transformed in attributes appear on the same level in the hierarchy and as such you'll have to specify them specifically and ignore them later.
It may be easier to create an extra key with these elements that you want transformed into attributes. You can leave the @use attribute empty. Something like this should work, I think:
<xsl:key name="turn-into-attr" match="sample_date_time | cp_name | etc etc" use=" '' " />
but that's just a matter of taste (note that you'll have to change some apply-templates as well to use this new key). You can also just copy your logic.
Cheers, -- Abel Braaksma