Re: Varables and values... ¿?

Subject: Re: Varables and values... ¿?
From: "Mitch C. Amiano" <amiamc@xxxxxxxxxxxxxxx>
Date: Mon, 08 Nov 1999 12:03:18 -0500
You are, in effect, asking how you can bind a new environment
(path) to a new procedure, and have the new procedure be called
by the default element rule for just those elements 
parsed as a result of a corresponding call to sgml-parse.

For this, you may be able to recurse over the element nodes
explicitly, instead of using the default element construction rule.
Use a lambda procedure which is bound to a specific "path"...
something involving (apply-map) and (sosofo-append), perhaps.

Reyes wrote:
> 
> Hello,
> 
> I have two procedures, and I need that when the variable "path" in
> copy-attributes is call, it has the value gave in GetGen. So, they must be
> the same.
> How can I make this?
> 
> The procedures are:
> 
> ;---------------------------------------------------------------------------
> ---
> ;   This macro takes the adress given, makes a new adress wich depends of
> ;   "type" and  copies in the new SGML the dates stored in the new address.
> ;---------------------------------------------------------------------------
> ---
> (define (GetGen address type)
>    (let ((Rootpart (take-rootpart address))
>           (Infopart (take-infopart address))
>           (HWpart   (take-HWpart   address))
>           (Varpart  (take-varpart  address))
>           (Sprpart  (take-sprpart  address))
>          )
>          (if (string=? type IT)
>              (let ((path (string-append Rootpart "/" Infopart "/"
>                                             varGen "/" varGen "/" Sprpart)))
>                    (process-node-list (sgml-parse path))
>              )
>              (if (string=? type HW)
>                   (let ((path (string-append Rootpart "/" varGen "/"
>                                                  HWpart "/" varGen "/" Sprpart)))
>                         (process-node-list (sgml-parse path))
>                   )
>                   (if (string=? type V)
>                       (let ((path (string-append Rootpart "/" varGen "/" varGen
>                                                       "/" Varpart "/" Sprpart)))
>                             (process-node-list (sgml-parse path))
>                       )
>                       (if (string=? type L)
>                            (let ((path (string-append Rootpart "/" varGen "/"                                                     varGen
> "/" varGen "/"                                                    Sprpart)))
>                                  (process-node-list (sgml-parse path))
>                            )
>                            (process-node-list (sgml-parse address))
>                       )
>                   )
>              )
>          )
>    )
> )
> 
> ;---------------------------------------------------------------------------
> ---
> ;   This macro copies the actual node, soons, structure and datas in the new
> ;   instance.
> ;---------------------------------------------------------------------------
> ---
> (define (copy-attributes #!optional (nd (current-node)))
>   (let loop ((atts (named-node-list-names (attributes nd))))
>     (if (null? atts)
>         '()
>         (let* ((name (car atts))
>                (value (attribute-string name nd)))
>           (if value
>                   (if (string=? "ANKER" name)
>                       (cons (list name (string-append path value))
>                                           (loop (cdr atts)))
>                       (cons (list name value)
>                                           (loop (cdr atts)))
>                   )
>                   (loop (cdr atts))
>            )
>          )
>     )
>   )
> )
> 
> ;---------------------------------------------------------------------------
> ---
> ;   Allows that all the tag not defined but necesaries are copy in the new
> ;   instance by defect.
> ;---------------------------------------------------------------------------
> ---
> (default (make element attributes: (copy-attributes)))
> 
> 
> Reyes Garcia-Rosado
> STAR GmbH                 Tel.     +49 7735 939801
> Westendstrasse 1        e-Mail.  rgr@xxxxxxxxxx
> D-78337  Oehningen      http://www.star-ag.ch
> 
> 
> 
>  DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist

--                                                                          --
Mitch C. Amiano                                 Mitch.C.Amiano@xxxxxxxxxxxxxxx
Software Development Engineer
Engineering Tools and Process Engineering
Engineering Services
Raleigh Design Center
Alcatel USA


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


Current Thread
  • Varables and values... ¿?
    • Reyes - Mon, 8 Nov 1999 09:02:18 -0500 (EST)
      • Mitch C. Amiano - Mon, 8 Nov 1999 12:17:33 -0500 (EST) <=
        • Reyes - Tue, 9 Nov 1999 05:00:42 -0500 (EST)
          • Reyes - Tue, 9 Nov 1999 08:38:39 -0500 (EST)