In mijn XSL heb ik een aantal attributen van het type xs:date, genaamd @datum. Nu wil ik van deze attributen graag de vroegste datum in een variabele zien te krijgen. Eerst toen ik de data als xs:number had gedefinieerd ging dat makkelijk, maar nu als xs:date werken de math:max en math:min function niet meer.
Noodoplossing was voor mij het sorteren van de gegeven en het eerste en laatste element uitlezen. Niet mooi, maar omdat ik toch al moest sorteren kon dat wel.
Nu moet ik echter alsnog gaan rekenen met de data (om verhoudingen te achterhalen etc.). Omdat data als getal genoteerd niet te gebruiken zijn voor rekenen (10-tallige stels klopt niet met dagen weken maanden blabla), wou ik met verschillen gaan werken. Ik heb immers het vroegste moment, dan wil ik alles relatief daaraan maken en daarmee gaan rekenen.
Ik krijg een date:difference een xs:duration terug, bijvoorbeeld P40D wat dan 40 dagen voorstelt. Nu kan ik dat gaan substringen etc., maar dat wil ik niet omdat ik het vaak gebruik en ik wel geloof dat hier een normale oplossing zou moeten zijn.
Uiteindelijk gaat het er dus om, om van een xs:duration (of xs:date?) naar een getal (xs:number) te komen. Iemand die weet hoe ik dit op een nette manier voor elkaar krijg? Ik zou die P40D dus graag netjes willen laten vertalen naar bijv "40" of "960" (40d x 24u).
Werkte iig niet.
Die conversie naar een sort van number is even voor mij het belangrijkste. Het sorteren kom ik wel uit, maar mocht iemand daar iets handigs voor weten hoor ik het graag. Ik heb libxslt 1.1... met exslt support in PHP tot mijn beschikking.
Noodoplossing was voor mij het sorteren van de gegeven en het eerste en laatste element uitlezen. Niet mooi, maar omdat ik toch al moest sorteren kon dat wel.
Nu moet ik echter alsnog gaan rekenen met de data (om verhoudingen te achterhalen etc.). Omdat data als getal genoteerd niet te gebruiken zijn voor rekenen (10-tallige stels klopt niet met dagen weken maanden blabla), wou ik met verschillen gaan werken. Ik heb immers het vroegste moment, dan wil ik alles relatief daaraan maken en daarmee gaan rekenen.
Ik krijg een date:difference een xs:duration terug, bijvoorbeeld P40D wat dan 40 dagen voorstelt. Nu kan ik dat gaan substringen etc., maar dat wil ik niet omdat ik het vaak gebruik en ik wel geloof dat hier een normale oplossing zou moeten zijn.
Uiteindelijk gaat het er dus om, om van een xs:duration (of xs:date?) naar een getal (xs:number) te komen. Iemand die weet hoe ik dit op een nette manier voor elkaar krijg? Ik zou die P40D dus graag netjes willen laten vertalen naar bijv "40" of "960" (40d x 24u).
code:
1
| <xsl:value-of select="number($date-of-duration)" /> |
Werkte iig niet.
Die conversie naar een sort van number is even voor mij het belangrijkste. Het sorteren kom ik wel uit, maar mocht iemand daar iets handigs voor weten hoor ik het graag. Ik heb libxslt 1.1... met exslt support in PHP tot mijn beschikking.
[ Voor 8% gewijzigd door r0bert op 19-09-2007 20:11 ]