22. juli 2005 - 09:11Der er
5 kommentarer og 1 løsning
Kan jeg eksekvere C# kode fra mit stylesheet?
Jeg skal have formatteret et XML dokument, der er lavet således at hvis jeg møder et <list> element i min xml fil skal jeg eksempelvis lave en liste af fonte på serveren og vise dem i en dropdown boks. Kan jeg eksekvere C# kode direkte i mit XSLT, således jeg kan løbe fonte igennem når jeg møder dette element? eller skal jeg en anden vej rundt?
Du kan – mig bekendt – ikke eksekvere ekstern kode fra et XSLT stylesheet.
Hvis du laver XSLT-transformationen serverside i stefet for clientside (altså i browseren) så har du dog mulighed for at loade bøde XML- og XSLT-filer i et C#-program og så manipulere filerne yderligere der.
Jeg ved jeg kan eksekvere C# fra XSLT, spørgsmålet var måske forkert stillet, jeg ved ikke helt hvor meget jeg kan gøre, og om jeg kan bruge objekter mv (som FontFamily i mit eksempel) eller hvad?... jeg må hellere forsøge mig frem:
Her er et eksempel på hvordan man gør det med C# i XSLT:
Her laves metoden der senere kan bruges, den konverterer /r/n til <br>:
hmmm... jeg ved ikke om det du har lavet officielt kaldes en extension, men det er ikke det jeg tænker på. Man kan lave en .NET-klasse som kan refereres fra et XSLT.
Jeg har lige Googlet et par links til dig så kan læse lidt mere om hvilke muligheder man har:
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.