I have tried the following and the error mesage for each.
<!-- date-time must become an attribute -->
<xsl:apply-templates select="sample_date_time, cp_name,
imis_cp_ext, dischg_sample_cd, sample_comment" /> ####
<xsl:apply-templates select="key('sample',
concat(sample_date_time, cp_name, imis_cp_ext, dischg_sample_cd,
sample_comment))" />
and
<xsl:apply-templates select="*[not(self::sample_date_time, cp_name,
imis_cp_ext, dischg_sample_cd, sample_comment)]" />
Line 16, character 38 (I assume it is line ###)
Stylesheet error: Invalid XPath Expression
Select
<!-- date-time must become an attribute -->
<xsl:apply-templates select="sample_date_time" />
<xsl:apply-templates select="key('sample',
concat(sample_date_time, cp_name, imis_cp_ext, dischg_sample_cd,
sample_comment))" />
And
<xsl:apply-templates select="*[not(self::sample_date_time, cp_name,
imis_cp_ext, dischg_sample_cd, sample_comment)]
error:
Line 24 character 34
Error in XPath Expression,
Error in XPath Expression,
Finally I tried the same as above but
<xsl:apply-templates select="*[not(self::concat(sample_date_time, cp_name,
imis_cp_ext, dischg_sample_cd, sample_comment))]" />
Error
Line 24 character 34
Stylesheet error: Invalid XPath Expression
Select
I unfortunately do not have any say in the format of the final result as it
is laid down by some other authority.
Thanks.
Hennie
From: Abel Braaksma <abel(_dot_)online(_at_)xs4all(_dot_)nl>
Reply-To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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"
/>
</sample>
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
--~------------------------------------------------------------------
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>
--~--
_________________________________________________________________
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>
--~--