Yes, conditional grouping is possible, but the element names in your
stylesheet have to match those in your source document.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Jim Neff [mailto:jneff(_at_)blockvision(_dot_)com]
Sent: 25 January 2005 15:52
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Is conditional group-by possible?
Greetings,
Is a conditional group-by possible?
Here is what I tried:
<xsl:for-each-group
select="Table"
group-by="(if ((FED_ID_FLAG = 'F')
and (not(FED_ID = '')))
then FED_ID
else SOC_SEC_ID)">
And I get nothing in my output.
My input looks like simliar to this :
<NewDataSet>
<Table>
<PROV_SOC_SEC_ID>111104550</PROV_SOC_SEC_ID>
<PLOS_FED_ID_FLAG>S</PLOS_FED_ID_FLAG>
<PLOS_FED_ID>190404550</PLOS_FED_ID>
<PATIENT_LAST_NAME>Doe</PATIENT_LAST_NAME>
<PATIENT_FIRST_NAME>John</PATIENT_FIRST_NAME>
</Table>
<Table>
<PROV_SOC_SEC_ID>111104550</PROV_SOC_SEC_ID>
<PLOS_FED_ID_FLAG>S</PLOS_FED_ID_FLAG>
<PLOS_FED_ID>190404550</PLOS_FED_ID>
<PATIENT_LAST_NAME>Doe</PATIENT_LAST_NAME>
<PATIENT_FIRST_NAME>Jane</PATIENT_FIRST_NAME>
</Table>
<Table>
<PROV_SOC_SEC_ID>777104550</PROV_SOC_SEC_ID>
<PLOS_FED_ID_FLAG>F</PLOS_FED_ID_FLAG>
<PLOS_FED_ID>880121550</PLOS_FED_ID>
<PATIENT_LAST_NAME>Smith</PATIENT_LAST_NAME>
<PATIENT_FIRST_NAME>Mary</PATIENT_FIRST_NAME>
</Table>
</NewDataSet>
This should result in two groups, one 111104550, the other 880121550.
What I want is to use the FED_ID element to group by if the
FED_ID_FLAG =
'F' and FED_ID is an empty string. Otherwise I want to use
the SOC_SEC_ID
element to group.
Thanks in advance,
Jim Neff
--~------------------------------------------------------------------
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>
--~--