OpenJade  

 

OpenJade

Contents

What is OpenJade?

OpenJade is an implementation of the ISO/IEC 10179:1996 standard DSSSL language. It is based on the James Clark implementation of DSSSL named Jade. OpenJade is now developed and maintained by the OpenJade team. The current version is 1.4.

For general information about DSSSL, see the OpenJade home page. The OpenJade home page contains useful resources such as links to articles, tutorials, libraries, etc.

Another site with lots of in-depth information about DSSSL is that of Mulberry Technologies. Among other things, it hosts the DSSSL Users mailing list.

OpenJade is a command line application and a set of components. The DSSSL engine receives as input an SGML or XML document and transforms it into formats like:

  • XML representation of the flow object tree.
  • RTF format that can be rendered and printed with Microsoft's free Word Viewer 97
  • TeX format
  • MIF format that can be rendered and printed with Framemaker
  • SGML or XML format. This is used in conjunction with non-standard flow object classes to generate SGML, thus allowing OpenJade to be used for SGML/XML transformations.

Here's a simple example that does the identity transformation:


<!doctype style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN">

(declare-flow-object-class element
  "UNREGISTERED::James Clark//Flow Object Class::element")

(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)))))))

(default (make element
               attributes: (copy-attributes)))

Note that this does not deal with empty elements nor processing instructions, nor does it include a doctype declaration.

 

./usr/share/doc/openjade/buildinfo_i386.gz0000644000000000000000000000344411770145760017261 0ustar rootroot ObuildinfoYے6}WF* 3oIm>sjd>-q1` JM_N>ί_[E,΃F⢑ATAz'&2ȄVWR{3_̟G²Ff6_3{g/ЉI_dP ^r`{&H$xwDGrH0qd{2)<.k a[XQ>{op˫r8r e N2y3 vlt;#P4An,wp\L<$/ۢߡ_A3Y_Y: rZ'r{ilOO͎SY"j+auaofdl^KJydgJ63ZV"`T(A5ىEJ5g5'Y@2O1_ڇu>d$Е/!6$45e`ʫqNT8s8.A!g==L ʃMS!"\wI^^ nI>gnK?$a%*1)wֆz=DrS FgGjw-0ߣG;ϔs~68܃ "ΐVF,c5_5GQ\Jw\XvsD/ܙuͺiTBh/po7$h)L^4q_ [Y`F+(Iǻ"oŘڭ4MX]& Ft!xC &ɠ%ݖ{ @w(%/o)`{鑱.F]@Xʼc"ڱr7䤈&lHU++G1]䙇A>!z` h<ǖF&%P_KNS ?}}xQ F3XTi6[dRA11m@-jd)<@ *9D Y-e#tA*;QO|'U#_-/\Z]!.]vMkR|9obVa#;;i3#7[Rf#./usr/share/doc/openjade/contributors.htm0000644000000000000000000001230307035730357017435 0ustar rootroot OpenJade Contributors

OpenJade

Contributors

James Clark:
The father of Jade. James made the first version called Jade. He was instrumental to the idea of a single set of flow objects and multiple backend formats. James carried the Jade project for several years until it became a group project and got renamed OpenJade. He is no longer participating to the OpenJade project but his spirit still and will always remain with us. He created most of the Openjade code and the SGML/XML and the RTF backends. But it is shorter to tell what he didn't do than what he did :-)
Matthias Clasen:
I am an old-time LaTeX user and a scheme lover. My first jade hacking experience was trying to use dsssl to produce properly formatted indexes, realizing the need for language-dependent string sorting. That code is now part of OpenJade. Since I think that the full power of DSSSL can only be explored with a reasonably complete implementation, I am working to fill the gaps in jade's coverage of the standard.
Avi Kivity:
I stumbled on Jade after attempts to format SGML documents using C++ proved too cumbersome. I was impressed by the power of DSSSL and the functional programming style, which I hadn't used before. My main interest is fully-integrated backends; that is, formatters which do the layout themselves and do not depend on external layout engines like TeX or Word. I also maintain the CVS repository and perform builds and releases.
Didier PH Martin:
I encountered Jade simply by browsing to find new ways to process XML/SGML documents. I had to learn it without a book and with minimal documentation. The more I know about this environment the more I learn to appreciate it. This is why, I am a fervant advocate of DSSSL, OpenJade and work hard to provide to members of the OpenJade community, a rich environment, an adequate documentation, a future to this language.

After more than 20 years in the computer business, I still enjoy creating and learning. As a canadian member of the ISO Document Description and Processing Languages comittee, my goal is to make a DSSSL-2 possible reality.

Peter Nilsson:
The man behind braifo.
Sebastian Ratz:
You have a question about Tex? Sebastian is the right guy to answer to your question. He created the Tex backend processor with David and Kathleen.
Kathleen Marszalek:
She is the bee, working hard and methodical. She created the Tex and MIF backends with other members of the team.
Paul Prescod:
Paul has always a good comment to bring to the table. He created the MIF backend with Kathleen.
David Megginson:
An other fellow canadian that is bringing every day to the XML community ideas, new code, its commitment. He created the Tex backend with Kathleen and Sebastian.
Cees de Groot:
Cees wrote the initial autoconf support for jade.

 

./usr/share/doc/openjade/index.htm0000644000000000000000000012263607035730357016022 0ustar rootroot OpenJade

OpenJade  

 

OpenJade

Contents

What is OpenJade?

OpenJade is an implementation of the ISO/IEC 10179:1996 standard DSSSL language. It is based on the James Clark implementation of DSSSL named Jade. OpenJade is now developed and maintained by the OpenJade team. The current version is 1.4.

For general information about DSSSL, see the OpenJade home page. The OpenJade home page contains useful resources such as links to articles, tutorials, libraries, etc.

Another site with lots of in-depth information about DSSSL is that of Mulberry Technologies. Among other things, it hosts the DSSSL Users mailing list.

OpenJade is a command line application and a set of components. The DSSSL engine receives as input an SGML or XML document and transforms it into formats like:

  • XML representation of the flow object tree.
  • RTF format that can be rendered and printed with Microsoft's free Word Viewer 97
  • TeX format
  • MIF format that can be rendered and printed with Framemaker
  • SGML or XML format. This is used in conjunction with non-standard flow object classes to generate SGML, thus allowing OpenJade to be used for SGML/XML transformations.

Here's a simple example that does the identity transformation:


<!doctype style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN">

(declare-flow-object-class element
  "UNREGISTERED::James Clark//Flow Object Class::element")

(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)))))))

(default (make element
               attributes: (copy-attributes)))

Note that this does not deal with empty elements nor processing instructions, nor does it include a doctype declaration.

 

./usr/share/doc/openjade/buildinfo_i386.gz0000644000000000000000000000344411770145760017261 0ustar rootroot ObuildinfoYے6}WF* 3oIm>sjd>-q1` JM_N>ί_[E,΃F⢑ATAz'&2ȄVWR{3_̟G²Ff6_3{g/ЉI_dP ^r`{&H$xwDGrH0qd{2)<.k a[XQ>{op˫r8r e N2y3 vlt;#P4An,wp\L<$/ۢߡ_A3Y_Y: rZ'r{ilOO͎SY"j+auaofdl^KJydgJ63ZV"`T(A5ىEJ5g5'Y@2O1_ڇu>d$Е/!6$45e`ʫqNT8s8.A!g==L ʃMS!"\wI^^ nI>gnK?$a%*1)wֆz=DrS FgGjw-0ߣG;ϔs~68܃ "ΐVF,c5_5GQ\Jw\XvsD/ܙuͺiTBh/po7$h)L^4q_ [Y`F+(Iǻ"oŘڭ4MX]& Ft!xC &ɠ%ݖ{ @w(%/o)`{鑱.F]@Xʼc"ڱr7䤈&lHU++G1]䙇A>!z` h<ǖF&%P_KNS ?}}xQ F3XTi6[dRA11m@-jd)<@ *9D Y-e#tA*;QO|'U#_-/\Z]!.]vMkR|9obVa#;;i3#7[Rf#./usr/share/doc/openjade/contributors.htm0000644000000000000000000001230307035730357017435 0ustar rootroot