Når jeg gør dette i C#, får jeg en exception som jeg jo bare kan vælge at catche og ikke gøre noget ved. Men findes der en måde, at stoppe transformeringen uden at kaste en exception?
Tja kan godt ske.. Jeg har en slags udfyldnings formular i et xml dokument, som jeg så formatere op i XSLT til noget ASP.NET kode. Men denne formular udveksles imellem flere parter som udfylder hver deres punkter i formularen. Hvis man nu ser det som en slags software-bug rapport.. En kunde indrapportere en bug i denne formular, og skal derfor kun udfylde det første punkt, i formularen som beskriver buggen. Herefter vælter formularen rundt i firmaet hvor forskellige personer udfylder oplysninger.
Det jeg så har valgt er, hvis kunden vil rapportere en ny bug, og skal derfor kun udfylde det første punkt. Så stopper jeg XSLT transformeringen efter punkt1, da der ikke er nogen grund til at vise kunden punkter som ikke har nogen relevans for ham. Da formularen udfyldes i kronologisk orden, indsætter jeg disse "stop punkter", efter hver del hvor en ny person skal overtage formularen.
Men jeg regnede med at der var en bedre metode til at afbryde transformationen, end bare at indsætte <xsl:message terminate='yes' /> der hvor jeg vil afbryde. Men jeg tager nok fejl.
Synes godt om
Slettet bruger
21. juli 2004 - 09:29#3
Du kan ikke stoppe en transformation, udover den måde du allerede har fundet.
Det du kan gøre er at have en indikator i din XML, som du kan bruge i din XSLT til at afgøre om du skal vise en given sektion af din formular.
Er også det jeg er nået frem til. Jeg ved heldigvis godt hvornår min fremvisning er i de forskellige "stadier" i selve applikationen. Så bruger bare en parameter til xsl filen, som indikere hvor der skal afbrydes. Jeg lægger så en special besked, som jeg så kan checke på når jeg fanger exceptions, og ignorer exceptionen hvis den er fra mit "terminate".
Jeg fortrækker dette, da jeg ikke selv vil kunne ændre min xml fils data/struktur på en let måde senere hen, uden at skulle recompile min applikation.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.