Ja, Sharepoint 2010 XSLT hat zwar ein paar gute Funktionen aber die Wochennummer kann das Ding nicht! Ich habe einen Weg gefunden, wie Wochennummer zu berechnen:
ceiling(number(ddwrt:DateTimeTick(ddwrt:Today())-ddwrt:DateTimeTick(concat(ddwrt:FormatDateTime(ddwrt:Today(), 2055, 'yyyy'), '-01-01'))) div 6048000000000)
Zu Erklärung (am besten von Innen nach Aussen):
Ich arbeite hier mit Ticks (10000ticks = 1ms), ich gehen also her, hole mir die Ticks vom aktuellen Datum
ddwrt:DateTimeTick(ddwrt:Today())
und ziehe von dieser *riesigen* Zahl die Ticks vom 01.01. dieses Jahres ab, damit erhalte ich die Anzahl Ticks vom 01.01 dieses Jahres bis heute(jetzt).
ddwrt:DateTimeTick(concat(ddwrt:FormatDateTime(ddwrt:Today(), 2055, 'yyyy'), '-01-01'))
Das ganze konvertiere ich zu einer "Zahl" (integer)
number(ddwrt:DateTimeTick(ddwrt:Today())-ddwrt:DateTimeTick(concat(ddwrt:FormatDateTime(ddwrt:Today(), 2055, 'yyyy'), '-01-01')))
Nun gut, was ich nun mit diesen Ticks mache ist, dass ich eine Division von 6'048'000'000'000 Ticks mache (Ticks einer Woche :)) und somit die aktuelle Wochenzahl, jedoch mit Kommastellen erhalte.
Nun gut, jetzt das ganze noch Runden und fertig ist die Wochennummer! :D
ceiling()
So ich hoffe den einem oder anderen Sharepoint 2010 XSLT Entwickler etwas arbeit abgenommen zu haben! :)