|
Subject: Re: attributes in SGML to SGML From: Alexander Taranov <tay@xxxxxxxxxx> Date: Mon, 26 Jul 1999 15:59:38 +0400 (MSD) |
Jany Quintard writes:
> On Wed, 21 Jul 1999, Brandon Ibach wrote:
>
> > Quoting Jany Quintard <quintard.j@xxxxxx>:
> > > I am having a little problem with the conversion of attributes from SGML
> > > DTD1 to SGML DTD2
> > > ...
> > > Does anyone know of a better solution ?
> > >
> > Hi, Jany...
> > While the solutions given by Dan and Toby should do the trick, I
> > think a slicker approach would be to use the copy-attributes function
> > .../...
> > Let me know if you need some help putting this together.
> Well, I am afraid I do.
> I had time this morning and wanted to build this function, thinking it was
> a good exercise. I nearly got it, but due to some reason (probably my lack
> of skill), I can't get it to work properly.
> Here is the style-sheet :
>
> (declare-flow-object-class element
> "UNREGISTERED::James Clark//Flow Object Class::element")
> (define debug
> (external-procedure "UNREGISTERED::James Clark//Procedure::debug"))
>
> (define (copy-matching-attributes #!optional (nd (current-node)))
> (let loop ( (atts (named-node-list-names (attributes (current-node))))
> (attr-pairs (list (list "Class" "class")
> (list "ID" "name")))
> (result '())
> )
> (if (null? attr-pairs)
> result
> ( loop
> atts
> (cdr attr-pairs)
> (if
(and ;; you have IMPLIED attributes,
;; which names are on atts list,
;; but they have no explicit value,
;; so check it !
(member (car (car attr-pairs)) atts)
(attribute-string (car (car attr-pairs)) nd))
> (append result
> (list
> (list (car (cdr (car attr-pairs)))
> (attribute-string (car (car attr-pairs)) nd))))
> result)))))
>
>
> (default
> (sosofo-append
;; literal makes a sosofo from string, not list which is
;; value of debug here
> (literal (debug (copy-matching-attributes)))
> (make element
> attributes: (copy-matching-attributes)
> (process-children))))
>
>
> - attr-pairs is is the list of list of names of attributes
> - result is the resulting list of lists of two strings to be given to
> attributes.
>
> It seems that I can't get the value of the attributes, the call to
> attribute-string returning false, according to the debug :
> jade:/xo/vpp/dsssl-dev/provi.dsl:41:25:E: 1st argument for primitive
> "literal" of wrong type: "(("class" #f) ("name" #f))" not a string
>
> The solution is probably obvious, bust I can't manage to see it :-(
>
> TIA. Jany.
>
>
>
>
> DSSSList info and archive: http://www.mulberrytech.com/dsssl/dssslist
>
DSSSList info and archive: http://www.mulberrytech.com/dsssl/dssslist
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: attributes in SGML to SGML, Jany Quintard | Thread | Re: attributes in SGML to SGML, Jany Quintard |
| Re: margins, footers and rtf, Horst Kucharczyk | Date | Re: attributes in SGML to SGML, Jany Quintard |
| Month |