Subject: Re: Correct syntax for case? From: Heiko Kirschke <Heiko.Kirschke@xxxxxxx> Date: Tue, 28 Apr 1998 12:25:41 +0200 |
Georg, > I have a couple of (if ...)s in a DSSSL script to trigger different > styles for different values of an attribute, looks like this: > > (element paragraph > (if (equal? (attribute-string "FKT") "P") > (make element gi: "P") > (if (equal? (attribute-string "FKT") "H1") > (make element gi: "H1" attributes: *heading-style*) > (if (equal? (attribute-string "FKT") "H2") > (make element gi: "H2" attributes: *heading-style*) > (if (equal? (attribute-string "FKT") "H3") > [...] > Of course, this code is a pain in the neck and the only reason for > not using "case" is that I wasn't able to figure out what the correct > syntax for "case" is. So, can someone provide me with a rough blueprint > of the above code in "case"-style? (case (attribute-string "FKT") (("P") (make element gi: "P")) (("H1") (make element gi: "H1" attributes: *heading-style*)) (("H2") (make element gi: "H2" attributes: *heading-style*)) (else ...)) In this special case, I would prefer: (let ((attr (attribute-string "FKT"))) (case attr (("P") (make element gi: "P")) (("H1" "H2" "H3") (make element gi: attr attributes: *heading-style*)) (else (error "Unexpected value for FKT attribute")))) Viele Gruesse, Heiko -- Heiko Kirschke EMail: Heiko.Kirschke@xxxxxxx POET Software GmbH Web: http://www.poet.de/ Fossredder 12 Tel: +49 40 60990-263 D-22359 Hamburg Fax: +49 40 60990-115 DSSSList info and archive: http://www.mulberrytech.com/dsssl/dssslist
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Correct syntax for case?, Georg Rehm | Thread | node-list-filter, node-list-map ret, Heiko Kirschke |
Correct syntax for case?, Georg Rehm | Date | Re: Question about Jade's table flo, James Clark |
Month |