Subject: Re: OpenJade News - July 8 1999 From: Boris Goldowsky <boris@xxxxxxxxxxxxxxxxxxxx> Date: Wed, 21 Jul 1999 11:28:28 -0400 (EDT) |
>>>>> Joerg Wittenberger writes: JW> Maybe I can prepare a JW> scrambled version which has the same structure. Did any1 write a JW> tool, which keepts the tagging and scrables the text? This was one of the early projects that sold me on DSSSL -- I love this little program. Its Output is guaranteed unreadable :-). You'll need to plug in your own definition of "empties" (a list of the empty elements in your DTD) -- or maybe someone wants to suggest a way to get the information of whether an element is empty or not out of the SGML property set? <!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN"> (declare-flow-object-class element "UNREGISTERED::James Clark//Flow Object Class::element") (declare-flow-object-class empty-element "UNREGISTERED::James Clark//Flow Object Class::empty-element") (define empties '("COLSPEC" "SPANSPEC" "LINEB" "GRAPHIC" "ENTITY" "ANCHOR" "ICON" "PROMO")) (default (if (member (gi) empties) (make empty-element gi: (gi) attributes: (copy-attributes)) (make element gi: (gi) attributes: (copy-attributes) (process-text)))) (define (process-text #!optional (snl (current-node))) (let p-t-loop ((this-node (node-list-first (children snl))) (other-nodes (node-list-rest (children snl)))) (if (node-list-empty? this-node) (empty-sosofo) (sosofo-append (case (node-property 'class-name this-node) ;; handle special characters ((data-char) (case (node-property 'char this-node) ((#\space) (make character char: #\space)) (else (make character char: #\x)))) ((sdata) (literal "y")) (else (process-node-list this-node))) (p-t-loop (node-list-first other-nodes) (node-list-rest other-nodes)))))) (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 (cons (list name value) (loop (cdr atts))) (loop (cdr atts))))))) Bng -- Boris Goldowsky Engineering & Development Manager Information Please, LLC boris@xxxxxxxxxxxxxxxxxxxx www.infoplease.com 617 832-0324 DSSSList info and archive: http://www.mulberrytech.com/dsssl/dssslist
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: OpenJade News - July 8 1999, Didier PH Martin | Thread | Re: OpenJade News - July 8 1999, Matthias Clasen |
Transformation Language (was: About, Wroth, Mark | Date | Re: processing character entities, Wroth, Mark |
Month |