Avatar billede teutebod Nybegynder
07. juli 2004 - 12:13 Der er 3 kommentarer og
1 løsning

Stop af processering

Findes der en pænere måde, at stoppe min xsl transformering efter et bestemt punkt i xsl filen end hvad jeg har gjort nu:

<xsl:if test="$section='blah'" >
    <xsl:message terminate='yes' />
</xsl:if>

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?
Avatar billede janegil Nybegynder
07. juli 2004 - 15:57 #1
mener du "stoppe min xsl transformering efter et bestemt punkt i xMl filen" ?
Avatar billede teutebod Nybegynder
07. juli 2004 - 19:24 #2
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.
Avatar billede 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.
Avatar billede teutebod Nybegynder
21. juli 2004 - 20:30 #4
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.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester