Ik ben dus bezig om een simpel website-statistieken dingetje te maken in xml
input gaat nu prima, hij maakt per bezoek netjes een nieuwe node aan etc.
maar nu wil ik wat output gaan genereren, dit is de xml
voorbeeld:
enz. dus, staan er nog wat meer met de maanden 5,6 en 7 erin
Nu heb ik al de hits per maand, maar nu wil de unieke bezoekers (ip adressen) per maand hebben
heb al uitgevonden dat grouping niet echt heel eenvoudig is bij xml en hier op het forum heb ik een topic gevonden waar bij je de datum zou moeten scheiden. Nou dat zou in principe niet hoeven, want je kunt met de Muenchian(wat een naam) techniek het een en ander groeperen, op deze website staat een voorbeeld : http://www.jenitennison.com/xslt/grouping/muenchian.html
alleen ik kom er niet uit.....wat ik tot nu toe krijg is een overzicht per maand(nummer) van alle IP adressen in die maand
XSL :
Output:
alleen wat ik wil krijgen uiteindelijk is het "distinct" ip adres en daar een aantal(count) van....
dus :
Maand : 5
1
Maand : 6
1
Maand : 7
2
kan iemand me op weg helpen of heeft iemand een idee hoe zoiets aangepakt zou kunnen worden?
ik probeer intussen nog even verder te komen hiermee....
input gaat nu prima, hij maakt per bezoek netjes een nieuwe node aan etc.
maar nu wil ik wat output gaan genereren, dit is de xml
voorbeeld:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| - <statistieken version="1.0"> - <stat id="1"> <pagina>Beginpagina</pagina> <referer>www.google.com</referer> <ip>10.0.0.151</ip> <hn>Hostname</hn> <os>Windows</os> <bw>Microsoft Internet Explorer</bw> - <datum> <dag>13</dag> <maand>5</maand> <jaar>2005</jaar> <tijd>20:34</tijd> </datum> </stat> - <stat id="2"> <pagina>Pagina2</pagina> <referer>www.google.com</referer> <ip>10.0.0.162</ip> <hn>Hostname2</hn> <os>Windows</os> <bw>Microsoft Internet Explorer</bw> - <datum> <dag>14</dag> <maand>5</maand> <jaar>2005</jaar> <tijd>20:22</tijd> </datum> </stat> </statistieken> |
enz. dus, staan er nog wat meer met de maanden 5,6 en 7 erin
Nu heb ik al de hits per maand, maar nu wil de unieke bezoekers (ip adressen) per maand hebben
heb al uitgevonden dat grouping niet echt heel eenvoudig is bij xml en hier op het forum heb ik een topic gevonden waar bij je de datum zou moeten scheiden. Nou dat zou in principe niet hoeven, want je kunt met de Muenchian(wat een naam) techniek het een en ander groeperen, op deze website staat een voorbeeld : http://www.jenitennison.com/xslt/grouping/muenchian.html
alleen ik kom er niet uit.....wat ik tot nu toe krijg is een overzicht per maand(nummer) van alle IP adressen in die maand
XSL :
XML:
1
2
3
4
5
6
7
8
9
10
11
12
| <xsl:key name="bezoeken-per-maand" match="stat" use="datum/maand"/> <xsl:template match="statistieken"> <xsl:for-each select="stat[count(. | key('bezoeken-per-maand', datum/maand)[1]) = 1]"> <xsl:sort select="datum/maand" /> <xsl:value-of select="datum/maand" /><br /> <xsl:for-each select="key('bezoeken-per-maand', datum/maand)"> <xsl:value-of select="ip" /><br /> </xsl:for-each> <br /> </xsl:for-each> </xsl:template> |
Output:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| 5 10.0.0.151 6 10.0.0.151 10.0.0.151 10.0.0.151 7 10.0.0.151 10.0.0.151 10.0.0.151 10.0.0.151 10.0.0.151 10.0.0.151 10.0.0.151 10.0.0.151 10.0.0.151 10.0.0.151 10.0.0.151 10.0.0.151 10.0.0.162 10.0.0.162 10.0.0.162 10.0.0.162 10.0.0.162 10.0.0.162 |
alleen wat ik wil krijgen uiteindelijk is het "distinct" ip adres en daar een aantal(count) van....
dus :
Maand : 5
1
Maand : 6
1
Maand : 7
2
kan iemand me op weg helpen of heeft iemand een idee hoe zoiets aangepakt zou kunnen worden?
ik probeer intussen nog even verder te komen hiermee....