Subject: re: (dsssl) Modification of the hierarchy From: Markus.Reinsch@xxxxxxxxxxxxxx Date: Wed, 25 Jul 2001 10:00:29 +0200 |
Hi Jany I see 2 solutions: 1. the solution you suggested. Perhaps you can use my algorithm below. This solutions is quite slow on large documents. You have to extend the algorithm to 2 levels. The tokenizer is working just on one level. (define (tokenizer sl) (cond ((node-list-empty? sl) (list)) ((separator? sl) (cons (list (node-list-first sl)) (tokenizer (node-list-rest sl)))) ((node-list-empty? (node-list-rest sl)) (list (list (node-list-first sl)))) ((separator? (node-list-rest sl)) (cons (list (node-list-first sl) (node-list-second sl)) (tokenizer (node-list-rest (node-list-rest sl))))) (else (add-on (node-list-first sl) (tokenizer (node-list-rest sl)))))) (define (node-list-second nd) (node-list-first (node-list-rest nd))) (define (add-on chr li) (if (null? li) (list (list chr)) (cons (cons chr (car li)) (cdr li)))) 2. A hack: You insert tags as text in the according positions, i.e. when you start the next level you call (make-tag "para level=2") This solution is faster but its just a hack and you could use perl as well ;-) (define (make-tag gi) (sosofo-append (make formatting-instruction data: "<") (literal gi) (make formatting-instruction data: ">"))) Markus >make "trees" >from "flat" elements. >What I have is ><division> > <para Level="1"> > <para Level="2"> > <list Level="3"> > <list Level="3"> > <list Level="2"> >So, each element following an element with a higher Level (in >this case, >higher means less, sorry) is a sub element of the preceding. > >And I want ><division> > <para Level="1"> > <para Level="2"> > <list Level="3"> > <list Level="3"> > <list Level="2"> >So, I suppose the way to go is : >- - select the children of the divison to build an input node-list. >- - build a list of list of node-lists matching the structure >of the tree >- - process this list DSSSList info and archive: http://www.mulberrytech.com/dsssl/dssslist
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
(dsssl) Modification of the hierarc, jany . quintard | Thread | re: (dsssl) Modification of the hie, Jany Quintard |
(dsssl) Questions on Modular DocBoo, Holger Rauch | Date | (dsssl) Re: lists and extra space, Karl Eichwalder |
Month |