RE: Newbie question

Subject: RE: Newbie question
From: DPawson@xxxxxxxxxxx
Date: Tue, 1 Jun 1999 08:29:21 +0100
>From: Guillaume Rouchy wrote:
>I am new to DSSSL and I would like to build quickly a simple function
>that replace an underscore by a dash in a string: "Hello_World" ->
>"Hello-World"



this scheme function does it.

; Usage
(element (contacts fax) 
	(make paragraph
         use: para-style
		(make sequence
		(literal "Fax number, ")
		(let ((tel-children (children (current-node))))
				(subst tel-children))
		(literal ". "))))




;
;  Substituttion function.
;
(define (subst nl)
  (let loop ((charnodes nl)(result (empty-sosofo)))
    (let* ((firstchar (node-list-first charnodes)))
      (cond
        ((node-list-empty? firstchar) result)
        ((not (equal? 'data-char (node-property 'classnm firstchar)))
         (loop (node-list-rest charnodes)
               (sosofo-append result (process-node-list firstchar))))
        (#t (let* ((charval (node-property 'char firstchar))
                   (replacement (cond ((equal? charval #\_) #\-)
                                            (#t charval))))
              (loop (node-list-rest charnodes)
                    (sosofo-append result
                                   (if (char? replacement)
                                       (make character
                                             char: replacement)
                                       (empty-sosofo))
					(make character
					     char: #\ )))))))))


>
>
>Is there an easy way of doing it? Does DSSSL contain regular expression
>capability ?
>
>Thank you to point me in the right direction.
>
>Guillaume
>
>
> DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist
>


 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist


Current Thread