xsl-list
[Top] [All Lists]

SELECT DISTINCT VALUES

2003-03-27 17:29:34
HI EVERYONE,
I have a big problem that i can not solve it except with a select dinstinct records. and this is my last hope to solve this prolem, if any one have a suggestion, please send it to me.

Here is my problem and what i tried to do to solve it, but nothing worked.

1. I have this set of data:
<?xml version="1.0" encoding="UTF-8" ?><FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult";><ERRORCODE>0</ERRORCODE><PRODUCT BUILD="08/16/2002" NAME="FileMaker Pro" VERSION="6.0v3"/><DATABASE DATEFORMAT="d/M/yyyy" LAYOUT="" NAME="NewLake_MainDatabase.fp5" RECORDS="210" TIMEFORMAT="h:mm:ss a"/><METADATA><FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="person_id" TYPE="NUMBER"/><FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="SeviceTotalHours_flag~c" TYPE="TEXT"/></METADATA><RESULTSET FOUND="6"><ROW MODID="12" RECORDID="33532"><COL><DATA>1</DATA></COL><COL><DATA>1_1_D</DATA></COL></ROW><ROW MODID="0" RECORDID="33544"><COL><DATA>13</DATA></COL><COL><DATA>2_0_D</DATA></COL></ROW><ROW MODID="0" RECORDID="33546"><COL><DATA>15</DATA></COL><COL><DATA>2_0_D</DATA></COL></ROW><ROW MODID="0" RECORDID="33547"><COL><DATA>16</DATA></COL><COL><DATA>2_0_D</DATA></COL></ROW><ROW MODID="0" RECORDID="33550"><COL><DATA>19</DATA></COL><COL><DATA>1_0_D</DATA></COL></ROW><ROW MODID="0" RECORDID="33552"><COL><DATA>21</DATA></COL><COL><DATA>1_0_D</DATA></COL></ROW></RESULTSET></FMPXMLRESULT>

2. I Created this stylesheet:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; xmlns:fmp="http://www.filemaker.com/fmpxmlresult"; exclude-result-prefixes="fmp">
        <xsl:template match="fmp:FMPXMLRESULT">
                <People>
                        <xsl:for-each select="fmp:RESULTSET/fmp:ROW">
                        <personID>
                                <xsl:value-of select="fmp:COL[1]/fmp:DATA"/>
                        </personID>

                        <Categories>
<xsl:for-each select="//fmp:RESULTSET/fmp:ROW/fmp:COL[2]/fmp:DATA[not(.=preceding-sibling::fmp:RESULTSET/fmp:ROW/fmp:COL[125]/fmp:DATA)]">
                                <category>
                                <xsl:value-of select="."/>
                                </category>
                                </xsl:for-each>
                        </Categories>
                                        </xsl:for-each>
                </People>
        </xsl:template>
</xsl:stylesheet>

3. This is the results it came up with:

 <?xml version="1.0" encoding="UTF-8" ?>
- <People>
 <personID>1</personID>
- <Categories>
 <category>1_1_D</category>
 <category>2_0_D</category>
 <category>2_0_D</category>
 <category>2_0_D</category>
 <category>1_0_D</category>
 <category>1_0_D</category>
 </Categories>
 <personID>13</personID>
- <Categories>
 <category>1_1_D</category>
 <category>2_0_D</category>
 <category>2_0_D</category>
 <category>2_0_D</category>
 <category>1_0_D</category>
 <category>1_0_D</category>
 </Categories>
 <personID>15</personID>
- <Categories>
 <category>1_1_D</category>
 <category>2_0_D</category>
 <category>2_0_D</category>
 <category>2_0_D</category>
 <category>1_0_D</category>
 <category>1_0_D</category>
 </Categories>
 <personID>16</personID>
- <Categories>
 <category>1_1_D</category>
 <category>2_0_D</category>
 <category>2_0_D</category>
 <category>2_0_D</category>
 <category>1_0_D</category>
 <category>1_0_D</category>
 </Categories>
 <personID>19</personID>
- <Categories>
 <category>1_1_D</category>
 <category>2_0_D</category>
 <category>2_0_D</category>
 <category>2_0_D</category>
 <category>1_0_D</category>
 <category>1_0_D</category>
 </Categories>
 <personID>21</personID>
- <Categories>
 <category>1_1_D</category>
 <category>2_0_D</category>
 <category>2_0_D</category>
 <category>2_0_D</category>
 <category>1_0_D</category>
 <category>1_0_D</category>
 </Categories>
 </People>




4. BUT THIS IS WHAT I WANT IT TO PRODUCE. a distinct list of the categories for every user.

 <?xml version="1.0" encoding="UTF-8" ?>
- <People>
 <personID>1</personID>
- <Categories>
 <category>1_1_D</category>
 <category>2_0_D</category>
 <category>1_0_D</category>
 </Categories>
 <personID>13</personID>
- <Categories>
 <category>1_1_D</category>
 <category>2_0_D</category>
 <category>1_0_D</category>
 </Categories>
 <personID>15</personID>
- <Categories>
 <category>1_1_D</category>
 <category>2_0_D</category>
 <category>1_0_D</category>
 </Categories>
 <personID>16</personID>
- <Categories>
 <category>1_1_D</category>
 <category>2_0_D</category>
 <category>1_0_D</category>
 </Categories>
 <personID>19</personID>
- <Categories>
 <category>1_1_D</category>
 <category>2_0_D</category>
 <category>1_0_D</category>
 </Categories>
 <personID>21</personID>
- <Categories>
 <category>1_1_D</category>
 <category>2_0_D</category>
 <category>1_0_D</category>
 </Categories>
 </People>



 This is a small example to make it easier for you, THANKS in advance ...




_________________________________________________________________



XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>