[XSL/SVG] Trigonometrie functies

Pagina: 1
Acties:

  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 26-12-2025
is het mogelijk om cross-parser trigonometrie functionaliteit te krijgen in XSL. Er zijn namelijk wel wat oplossingen in de vorm van java extensies, maar deze kunnen bijvoorbeeld alleen voor de Xalan processor.
Wat ik me dus afvraag of het mogelijk is om binnen XSLT zelf functies te schrijven, met ruimere mogelijkheden dan XSLT en XPath zelf. Ik hoorde dat dit in XSLT 2.0 in ieder geval mogelijk is. Maar kan iemand mij vertellen wat de mogelijkheden in XSLT 1.x zijn?

Ik wil namelijk graag een taartdiagram maken met XSL en SVG, maar dit kan niet zonder sinus en cosinus functies :(

* zoepercavia hoopt dat de vraag een beetje duidelijk is...

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Dit project wordt tegenwoordig steeds breder ondersteund en kan misschien een oplossing zijn:

http://www.exslt.org/

Hier staat spul voor jou:

http://www.exslt.org/math/index.html

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Juup
  • Registratie: Februari 2000
  • Niet online
offtopic:
Woei svg is cool. (zie ook sig) Als wat jij wilt lukt zou dat wel erg stoer zijn. Maar het kan dus(?) niet met een xslt mbravenboer?

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Sinus en Cosinus functies zijn inderdaad niet aanwezig bij de standaard functie definities van XSLT. Ze zijn theoretisch bekeken wel te implementeren in in XSLT zelf, maar dat is alles behalve praktisch. EXSLT heeft tot doel om tot een standaard uitbreiding van XSLT te komen in de vorm van verschillende modulen. De math module is alleen nog erg beperkt en zoals je kan zien zijn de cos/sin functies geeneens een standaard onderdeel van de EXSLT Math module.

Het kan echter wel in JavaScript zelf (de functies van EXSLT zijn soms ook beschikbaar in JavaScript vorm) en dus wordt het probleem in feite hoe je dit als extension zo kan opnemen dat het in zoveel mogelijk XSLT processoren werkt. Dat is alleen niet bepaald eenvoudig omdat het op dit punt nogal een zootje is volgens mij :( , juist daarom is er EXSLT.

Hier wordt het besproken voor Xalan:
http://www-106.ibm.com/developerworks/xml/library/x-extxslt/

Ik ken helaas geen goed overzicht van hoe je het zo optimaal mogelijk kan oplossen voor zoveel mogelijk XSLT processoren, behalve dus de oplossing om EXSLT te gebruiken. De laatste Xalan support EXSLT.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 26-12-2025
Hmm, ik wil het gaan gebruiken in combinatie met ASP (dus MSXML). Msxml heeft geen support voor EXSLT, maar ik kan inderdaad wel de javascript versies gebruiken.
Dan is het niet meer compatible met bv. Xalan, maar dat moet dan maar. Ik hoop dat dit probleem in XSLT2.0 iets beter aangepakt wordt. Of dat er in ieder geval een standaardisering komt voor uitbreidingen.
Ik weet dat XSLT ontworpen is voor z'n eenvoud, maar af en toe is het knap lastig om dingen te bereiken in XSLT (onder andere omdat het stateless is).

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
zoepercavia: Ik weet dat XSLT ontworpen is voor z'n eenvoud, maar af en toe is het knap lastig om dingen te bereiken in XSLT (onder andere omdat het stateless is).
Dat is vooral iets wat met het paradigma achter XSLT te maken heeft. Begrijpelijk dat veel mensen daar problemen mee hebben, maar dit zal nooit veranderen.

Het functie-verhaal is vooral een library probleem, wat zwaar onderschat is in XSLT tot voor kort. EXSLT moet op dit gebied dus een oplossing gaan bieden, omdat het klassieke extensions mechanisme duidelijk gefaald heeft (vrijwel onmogelijk iets cross-processor te maken). Erg strak en georganiseerd komt het echter nog niet op mij over, ondanks dat er wel enkele bekende mensen achter zitten.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment

Pagina: 1