I realized that after I sent it out.
My intention was to simply the problem by using easier names in the group-by
clause but I forgot to fix the field names in my data when I copied it to my
e-mail.
--Jim
 
-----Original Message-----
From: Michael Kay [mailto:mike(_at_)saxonica(_dot_)com] 
Sent: Tuesday, January 25, 2005 11:02 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Is conditional group-by possible?
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>
--~--
--~------------------------------------------------------------------
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>
--~--