OSSP CVS Repository

ossp - Check-in [1988]
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [Patchset]  [Tagging/Branching

Check-in Number: 1988
Date: 2002-Mar-13 10:19:03 (local)
2002-Mar-13 09:19:03 (UTC)
User:rse
Branch:
Comment: add our recent evaluation stuff
Tickets:
Inspections:
Files:
ossp-pkg/sugar/BRAINSTORM.txt      added-> 1.1
ossp-pkg/sugar/FEATURES.txt      added-> 1.1
ossp-pkg/sugar/Makefile      added-> 1.1
ossp-pkg/sugar/README      1.1 -> 1.2     28 inserted, 3 deleted
ossp-pkg/sugar/srml2sxml      added-> 1.1
ossp-pkg/sugar/sugar.fig      added-> 1.1
ossp-pkg/sugar/sugar.sug      added-> 1.1
ossp-pkg/sugar/sugar.txt      1.4->removed
ossp-pkg/sugar/sxml.cat      added-> 1.1
ossp-pkg/sugar/sxml.dtd      added-> 1.1
ossp-pkg/sugar/sxml.iso      added-> 1.1
ossp-pkg/sugar/sxml2fo.xsl      added-> 1.1
ossp-pkg/sugar/sxml2html.xsl      added-> 1.1
ossp-pkg/sugar/sxml2latex.xsl      added-> 1.1
ossp-pkg/sugar/sxml2roff.xsl      added-> 1.1
ossp-pkg/sugar/sxml2xxx      added-> 1.1
ossp-pkg/sugar/test.srml      added-> 1.1
ossp-pkg/sugar/test.sxml      added-> 1.1

ossp-pkg/sugar/BRAINSTORM.txt -> 1.1

*** /dev/null    Mon Apr 29 06:01:16 2024
--- -    Mon Apr 29 06:01:42 2024
***************
*** 0 ****
--- 1,336 ----
+ 
+ Konzepte:
+ - headers    Author: ...
+ - 1d-block   foo XX bar XX quux
+ - 2d-block   XX ...
+ - table      ++ | .. |
+ - XX tags    XX
+ - entities   ..{xxx}..
+ 
+ Examples:
+ 
+  o '' XX foo 
+          bar
+        baz
+       quux
+ 
+    XX is applied to "foo bar baz", not to "quux".
+ 
+  o '' XX foo XX bar
+       quux
+ 
+    XX is applied to "foo", not to "bar quux"
+ 
+  o '' foo bar XX quux
+ 
+    XX is applied to "quux" __and__ "foo bar", because
+    not closed XX environment wraps around at end of paragraph.
+    With this the following is equvalent:
+ 
+    '' XX foo
+       bar quux XX
+ 
+    '' XX foo
+       bar quux
+ 
+    '' foo
+       bar quux XX
+ 
+    this way headings are not special case:
+ 
+    '' ==heading==
+ 
+    '' ==heading
+ 
+    '' heading==
+ 
+    '' heading
+       ==
+ 
+    '' heading
+       =======
+ 
+    begins a 2d block with head tag and ends (explicitly
+    or implicitly) with the same tag's markup, the 2d block
+    is treated as a "head line" (for table of contents, etc.)
+    Else is is treated as "paragraph heading" (not included
+    in table of contents).
+ 
+ Brainstormings with Christian Reiber:
+ 
+ 1. Scanner erkennt die Intentation, strippt sie
+    weg, berechnet aber durch sie die "schliessenden
+    Klammern" zu den 2d-tags.
+ 
+ 2. Scanner erkennt auch die Unterschiede zwischen
+    1d und 2d tags, da der Parser ja keinerlei
+    Unterscheidung treffen kann (spaces/indent nicht mehr da)
+ 
+ 3. Scanner hat einen Look-Ahead von 1 Zeile plus
+    ihrem Indent
+ 
+ 4. Das Parsen von Headern "(====)" geht einfach:
+    Der Scanner erkennt nur das "^========" und
+    ein Baumtransformator haengt spaeter 
+    die Sohn-Sequenz "<paragraph> x ..... y <header>"
+    um in "<parapraph> <header> x ... y", d.h.
+    der transformator geht bis zum letzten Paraphraph
+    Knoten zurueck.
+ 
+     If the "text" on hyperlinks is missing in links, the reference is printed
+     instead. For internal links the text is chapter and pagenumber
+     (except for HTML, there exists real hyperlinks).
+ 
+ Stichworte:
+ 
+ Whatever   | Irgendwas
+ ---------- | -----------------------------
+ Brain Dump | VHIT (Vom Hirn ins Terminal) 
+ Blabla     | ASCII WYSIWYG
+ 
+ Design-Grundsaetze
+ ------------------
+ 1. KISS bei der Sprache (Beschreibung geht auf eine Seite und ist ISO-Latin-1!)
+ 2. KISS bei der Implementierung (Code-Groesse <= 80KB)
+ 3. Wir implementieren nur das, was wir _WIRKLICH_ brauchen.
+ 4. Sugar ist wie Unix: Wenige Konzepte existieren und 
+    werden konsequent durchgezogen
+ 5. Sugar hat *keine* GUI, sondern ist ein Filter!
+    Beispielaufruf:
+    $ cat test.txt | sugar --html -otest.html
+ 6. Sugar ist stand-alone (bis auf Postscript),
+    man braucht also nicht 1001 Tools bei der Installation
+ 7. Release early, release often (Eric S. Raymond)
+ 8. Jedes Markup kann immer eindeutig formuliert werden (=non-magic),
+    nur sieht es dann eventuell nicht so schoen aus.
+    Wenn man sich an bestimmte Regeln haelt, kann man
+    im Magic Mode ASCII-Aesthetik pur nutzen.
+    Non-Magic ist immer nutzbar und aktiviert, Magic-Mode per default an, aber
+    kann abgeschalten werden (per -xx und/oder inline tag) Idee: -xx im
+    Dokument direkt eingeben ala vi/less
+ 
+ Was Sugar nicht ist
+ -------------------
+ 1. Sugar ist _keine_ Textverarbeitung oder ein DTP-Tool
+ 2. Sugar ist keine Markup-Sprache (der Text ist bereits das Endprodukt)
+ 3. Sugars Brother is more/less and not nroff (i.e. Sugar is fast!)
+ 
+ Anwendungsfeld
+ --------------
+ 1. Technische Dokumentation fuer mehrere Darstellungsplatformen:
+    Plain ASCII (= Sugar Quelle), roff/-man (Unix), HTML (= Online), PS (= Print)
+ 2. Brain Dump!
+ 
+ Optionale Zusatzfeatures
+ ------------------------
+ - ToC: Automatische Generierung 
+ - Numerierung von Headern
+ - Index
+ - Aufrufen von Makroprozessor: m4
+ 
+ Tabellen:
+ ---------
+    o Tabellen sind Bloecke und werden mit ++ eingeleitet wie
+      andere Bloecke auch, d.h. Ende ist bei Ausrueckung oder
+      selber Level.
+    o Jede Tabellenzeile faengt mit einem | an und immer in der selben Spalte.
+    o Die |'s der ersten Zeile geben die Gesamtanzahl und die Normposition
+      der Spalten an.
+    o Besteht die erste Zeile nur aus |'s (und keinem Inhalt), dann
+      ist sie eine _reine_ Normungszeile und erzeugt auch keine Leerzeile.
+      Ansonsten (Zeile 2, ...) kann man so selbstverstanelich eine
+      Leerreihe erzeigen.
+    o Spaltentrennungs-| koennen an belieber Stelle stehen, wenn
+      genuegend da sind. 
+    o Folgespalten sind dadurch gekennzeichnet, dasz ihr | eingerueckt
+      erscheint.
+    o Multicolums liegen vor, wenn weniger |'s auftreten, als die
+      Normungszeile vorgibt.  Die Erkennung der Span's erfolgt dabei ueber die
+      Position der |'s, d.h. sie muessen die |'s der Normunszeile matchen.
+      Zusaetzlich kann die Normungszeile beliebig oft wiederhlt werden.
+      Aber dabei darf sich nur die Position der |'s aendern, aber
+      nicht die Anzahl (klar!).
+    o Leerzeilen bestehen aus nur einem |' am Anfang und sonst nichts.
+    o Normungszielen haben mind.(!) 2 |'s.
+    o Leerzeilen erzeugen im Output soviele |'s wie die Normungszeile
+      vorgibt. Fuer andere Layouting-Dinge muss man z.B. ``| \_'' schreiben.
+    o In einer Tabelle koennen alle Zeichenformatierungen genutzt werden.
+    o In der Normungszeile kann mit den Zeichenformatierung-Tags
+      die Formatierung der Tabellenspalten angegeben werden!
+    o Wie gibt man Tabellenzeilen an, die als Headers gelten?
+      Eventuell gar nicht, wenn man Tabellen nicht umbrechen laesst,
+      denn dann muss man diese headerzeilen auch nicht wiederholen
+      und muss deshalb solche nicht explizit auszeichnen
+ 
+      ++ | ((** | %% | )) |
+         | foo | quux | bar |
+         | foooooooo | quux |
+    
+ 3. Block-Konzept
+ 
+    Es gibt zwei Blockkonzepte: 
+      - character block (eindimensional) und 
+      - line block (zweidimensional).
+ 
+    Der //character block// wird durch das Tag eingeleitet und wieder beendet. Das
+    Paragraph Ende beendet in jedem Fall den character block.
+ 
+    Der //line block// beginnt mit dem Tag __ausgerückt__, wobei davor keine
+    Leerzeile stehen muß (ein \n und ggf. \s davor reicht). Er enthält ganze
+    Zeilen und zwar solange, wie Text in der Zeile mindestens zwei Leerzeichen
+    weiter rechts beginnt als das einleitende Tag. Achtung: Tags stellen selbst
+    __nicht__ den Zeilenanfang dar! Damit kann ich also line blocks schachteln.
+    (Anders gesagt: Es geht nicht um den linken Rand der Textdatein, sondern um
+    den linken Rand des übergeordneten Line Blocks.)
+ 
+    Automatischer reflow durch den Editor ist bei character blocks **kein**
+    Problem, da das Tag keine positionsabhängige Bedeutung hat (daher wurde
+    auch verworfen, daß ein Tag am Zeilenanfang, aber nicht ausgerückt, am
+    Zeilenende beendet wird). Das Start-Tag beim line block wird vom Editor
+    nicht versetzt (wenn er was taugt).
+ 
+    Möglicherweise kann für bestimmte Tags das Ende des char blocks auch das
+    Zeilenende (nicht das Para. Ende) sein. Gedacht ist an Kommandos:
+ 
+    Gehen sich nach http://laber.lall 
+    Das ist ## eine blöde Zeile und ich will daß ##das## unterstrichen ist
+    ''##das ist ungut##
+      ##das ist intuitiver, bedeutet aber Kommandoende=Zeilenende
+    
+    Das wäre dann eine Eigenschaft des Tags, d.h. es verhält sich dann
+    //immer// so (und nicht mal so und mal anders).
+ 
+    Beispiele:
+ 
+    1. ''Dies ist ein Beispiel für einen Text, __in dem der zweite
+         Halbsatz unterstrichen wird__, obwohl er sich über eine
+         Zeilengrenze erstreckt.
+ 
+    o. ''__In diesem Fall wird der line block unterstrichen. Das
+           geht solange, bis der Text wieder ausgerückt wird.
+ 
+           Auch Leerzeilen stellen da kein Hindernis dar.
+ 
+         Diese Zeile beendet den Line Block.
+ 
+    o. ''Ein Sonderfall: __Dieser Text hat kein Ende-1d-Tag.
+         Er wird dann durch das Paragraph-Ende beendet.
+ 
+         Ab hier also keine Unterstreichung mehr.
+ 
+    Das haben wir gemacht, weil sonst bei vergessenen Endetags
+    das Restdokument fehlformatiert wird.
+         
+ o  Native-Output-Stuff
+    xxxx
+ 
+    ``jdjlasdjajlad``
+    skd asdk s
+    dsö ksaölkdaös##
+ 
+    dfkdjsdal
+      html
+ 
+    xxxx
+ 
+    ##endif
+    
+    xxxx
+ 
+ o  Comments
+    ##//
+    ##/*
+    ##*/
+ 
+ 5. Inline-Images
+    - Source ist immer Bitmap-Grafik im GIF Format!
+      (Fuer ASCII: gifscii, Fuer HTML: Direkt, Fuer PS: gif2ps)
+ 
+      ##img xx.gif size=jsjs s=xx
+ 
+ - UNBEDINGT Unicode und UTF-8 unterstutezen von anfang an!
+ 
+ Idea for homogenous tags:
+ - any XX tags can be repeated multiple times, ie XXXXX is valid also
+ - any begin XX tag at the end of a paragraph wraps around its scope, ie
+   it is applied to the whole paragraph as it would stand at the start
+   of the block (marged out?).
+ Results:
+ - headlines are marked equally with blocks
+ 
+ ------------------------------------------------------------------------------
+ 
+ OSSP Sugar Brainstorming Meeting 27-06-2001 @ C&W
+ =================================================
+ 
+ gewuenschter output: html (online), text, pdf/ps (print)
+     |sugar, soll schnell sein fuer preview, 1-2sec
+ gewuenschter input: simple (20-30 tags), wenig Stilmittel, aehnlich textoutput
+ 
+ *eindeutige* Tags in SXML
+ SRML invisible markup
+ 
+ pre-processing
+    pass 1: include, macros,
+    pass 2: area substitution, diversion
+ meta-information
+    author, mtime, ctime, title, abstract, subject, version
+    parameters passthrough for backends
+ 2d-block
+    headings 1-4
+    paragraph
+    align left, right, centered, indented(?)
+    preformatting
+    lists, ordered/callout, unordered, description
+    import extern(URL)/embedded vs. include
+    figures format(EPS,PNG,TXT), scaling
+    tables, titlerow, rows, columns, cells, spanning, hlines, vlines, nesting
+    caption
+ 2+1d block
+    verbatim
+    boxed, striked, tele-typed
+    logical markup (emphasize, nonbreaking)
+    notes foot, end, margin
+    shellescape
+ 1d-block
+    bold, italic, underline
+    escaping(?)
+    linebreaks(?)
+    subscript, superscript
+    anchores, references intern, extern
+    index items
+    word-breaking
+    entitities (ISO chars, newline, etc.)
+ 
+ o no align (left, center, right, indented) in general
+   only needed in tables
+   idea: first line specified table layout like TeX
+ o eventuell: kein escaping, man koennte verbatim hernehmen
+   aber: wie escape ich dann verbatim tag!
+ o eventuell kein linebreak, da normaler linebreak
+   eher neuer paragrpah sein sollte und fuer andere
+   preformatted ausreicht!
+ 
+ o generell sugar koennte immer SXML sein, aber
+   abkuerzend koennte es SRML Teile enthalten
+ o 
+ 
+ ------------------------------------------------------------------------------
+ 
+ Ideas from AFT:
+ 
+ - non-intended verbatim mode with optional filtering for pretty-printing
+   | ^<<[filter]
+   | ^>>
+ 
+ - a pre-formatted mode would be cool, too.
+ 
+ ------------------------------------------------------------------------------
+   XML-FO 
+ 
+   panda+pandascript (C API, Perl API, Shell API, GPL)
+   http://www.stillhq.com/cgi-bin/getpage?area=panda&page=index.htm
+ 
+   pdflib  http://www.pdflib.com/
+   clibpdf http://www.fastio.com/
+   


ossp-pkg/sugar/FEATURES.txt -> 1.1

*** /dev/null    Mon Apr 29 06:01:16 2024
--- -    Mon Apr 29 06:01:42 2024
***************
*** 0 ****
--- 1,69 ----
+ 
+                                SXML        SRML
+ o document information
+   - title                      <ti>        Title:
+   - subtitle                   <st>        Subtitle:
+   - author                     <au>        Author:
+   - date                       <da>        Date:
+   - abstract                   <ab>        Abstract:
+ 
+ o heading
+   - levels 1-4                 <h[1-4]>    == -- ~~ ..
+ 
+ o list
+   - unordered list             <ul>        o  -  *
+   - ordered list               <ol>        o. -. *.
+     . list items               <li>        
+   - description list           <dl>
+     . description term         <dt>        .. ::
+     . description text         <dd>
+ 
+ o table                        <ta>        ++
+   - table rows                 <tr>        
+   - table columns/cells        <tc>        |
+   - column/row spanning        
+   - column title               <t?>
+ 
+ o character formatting 
+   - logical formatting
+     . emphasized text          <em>        !!
+     . tele-typed text          <tt>        ''   or ||
+   - visual formatting
+     . bold text                <bo>        **
+     . underlined text          <ul>        __
+     . italic text              <it>        //   or ''
+     . boxed text               <bx>        [[
+     . super-scripting                      ^^
+     . sub-scripting                        ;;
+ 
+ o text formatting
+     . line break               <br>        \\
+     . aligned                  <al>        (( %% ))
+     . indented                 <in>        >>
+     . pre-formatted            <pf>        && or $$ or §§ or "" or °° or ??
+ 
+ o cross-referencing 
+   - anchor                     <an>        (+..+)
+   - reference                  <xr>        ->..(..) or ->[..:]..<-
+ 
+ o comments                     <co>        ##
+ 
+ o entities                     <en>        {{name[ param=value ...]}}
+   - figure                                 {{figure src="..." format=eps}}
+   - embedded object                        {{eo src=".."}}
+   - passed-through                         {{pass format=html value="<br>"}}
+ 
+ #   o 1d-Blocks
+ #     <tag> <text> <tag>
+ #     <tag> <text> 
+ #     <text> <tag>
+ #   o 2d-Blocks
+ #     <ws> <tag> <text>
+ #     [<ws> <ws> <text>]
+ #       :
+ #   tags am Ende eines 1-dim Blocks wrappen an den Anfang!
+ #   tags koennen 2 oder mehr ihrer Sonderzeichen lang sein
+ #   (tags koennen auch in reverse order sein fuer symmetrie (+ +) -> <-)
+ #   ende von 1d-block ist leerzeile
+ #   ende von 2d-block ist ausrueckung
+ 


ossp-pkg/sugar/Makefile -> 1.1

*** /dev/null    Mon Apr 29 06:01:16 2024
--- -    Mon Apr 29 06:01:42 2024
***************
*** 0 ****
--- 1,9 ----
+ 
+ all: validate transform
+ 
+ validate:
+        xmllint --valid --noout test.sxml
+ 
+ transform:
+        xsltproc --nonet sxml2html.xsl test.sxml
+ 


ossp-pkg/sugar/README 1.1 -> 1.2

--- README       2000/09/14 15:51:52     1.1
+++ README       2002/03/13 09:19:03     1.2
@@ -4,8 +4,33 @@
   |___/\__,_|\__, |\__,_|_|   
   __________ |___/ ___________________________________________________ 
 
-  Sugar -- The Markup Language With Invisible Syntactic Sugar
+  OSSP sugar -- The Markup Language With Invisible Syntactic Sugar
+  Copyright (c) 1999-2002 Ralf S. Engelschall
+  Copyright (c) 1999-2002 Christian Reiber
 
-  Copyright (c) 1999-2000 Ralf S. Engelschall
-  Copyright (c) 1999-2000 Christian Reiber
+  o Extensible Markup Language (XML)
+    http://www.w3.org/XML/
+    http://www.xml.com/
+
+  o Extensible Stylesheet Language (XSL)
+    http://www.w3.org/Style/XSL/
+    http://www.xslt.com/
+
+  o XML 1.0 Specification
+    http://www.w3.org/TR/2000/REC-xml-20001006
+
+  o XSL 1.0 Specification
+    http://www.w3.org/TR/xsl/
+
+  o XSL Transformations 1.0 Specification
+    http://www.w3.org/TR/xslt/
+
+  o XPath 1.0 Specification
+    http://www.w3.org/TR/xpath
+
+  o XLink 1.0 Specification
+    http://www.w3.org/TR/2001/REC-xlink-20010627/
+
+  o XPointer 1.0 Specification
+    http://www.w3.org/TR/2001/WD-xptr-20010108/
 


ossp-pkg/sugar/srml2sxml -> 1.1

*** /dev/null    Mon Apr 29 06:01:16 2024
--- -    Mon Apr 29 06:01:42 2024
***************
*** 0 ****
--- 1,265 ----
+ #!/usr/bin/perl
+ ##
+ ##  srml2sxml -- Sugar SRML to SXML Translation
+ ##  Copyright (c) 1999-2002 Ralf S. Engelschall <rse@engelschall.com> 
+ ##
+ 
+ require 5.005;
+ $|++;
+ 
+ my $tags1d = {
+     '=='        => [ '<span class=h1>',   '</span>'       ],
+     '--'        => [ '<span class=h2>',   '</span>'       ],
+     '~~'        => [ '<span class=h3>',   '</span>'       ],
+     '..'        => [ '<span class=h4>',   '</span>'       ],
+ 
+     '**'        => [ '<b>',               '</b>'          ],
+     '//'        => [ '<i>',               '</i>'          ],
+     '__'        => [ '<ul>',              '</ul>'         ],
+     '[['        => [ '<boxed>',           '</boxed>'      ],
+     '||'        => [ '<tt>',              '</tt>'         ],
+     '!!'        => [ '<verbatim>',        '</verbatim>'   ],
+ 
+     '(+'        => [ '<anchor>',          '</anchor>'     ],
+     '->'        => [ '<xref>',            '</xref>'       ],
+ };
+ 
+ my $alias1d = {
+     '+)' => '(+',
+     '<-' => '->',
+     ']]' => '[[',
+ };
+ 
+ my $tags2d = {
+     '=='        => [ '<h1>',              '</h1>'         ],
+     '--'        => [ '<h2>',              '</h2>'         ],
+     '~~'        => [ '<h3>',              '</h3>'         ],
+     '..'        => [ '<h4>',              '</h4>'         ],
+     '**'        => [ '<b>',               '</b>'          ],
+     '//'        => [ '<i>',               '</i>'          ],
+     '__'        => [ '<ul>',              '</ul>'         ],
+     '[['        => [ '<boxed>',           '</boxed>'      ],
+     '||'        => [ '<pre>',             '</pre>'        ],
+     '!!'        => [ '<verbatim>',        '</verbatim>'   ],
+ 
+     '>>'        => [ '<blockquote>',      '</blockquote>' ],
+     '(('        => [ '<align to=left>',   '</align>'      ],
+     '%%'        => [ '<align to=center>', '</align>'      ],
+     '))'        => [ '<align to=right>',  '</align>'      ],
+ 
+     '++'        => [ '<table>',           '</table>'      ],
+     '##'        => [ '<comment>',         '</comment>'    ],
+ 
+     '$$'        => [ '<list>',            '</list>'       ],
+     'o '        => [ '<item type=ul>',    '</item>'       ],
+     '- '        => [ '<item type=ul>',    '</item>'       ],
+     'o.'        => [ '<item type=ol>',    '</item>'       ],
+     '-.'        => [ '<item type=ol>',    '</item>'       ],
+     '::'        => [ '<item type=dl>',    '</item>'       ],
+ 
+     'Title:'    => [ '<title>',           '</title>'      ],
+     'Author:'   => [ '<author>',          '</author>'     ],
+     'Genesis:'  => [ '<genesis>',         '</genesis>'    ],
+     'Date:'     => [ '<date>',            '</date>'       ],
+     'Abstract:' => [ '<abstract>',        '</abstract>'   ],
+ };
+ 
+ my $alias2d = {
+     '[]' => '[[',
+ };
+ 
+ my $escapes = {
+     '&' => '&amp;',
+     '<' => '&lt;',
+     '>' => '&gt;',
+ };
+ 
+ #   assemble mega-regex which matches all 1d-tags
+ my $tag1d = &assemble_regex((keys(%{$tags1d}),keys(%{$alias1d})));
+ my $tag2d = &assemble_regex((keys(%{$tags2d}),keys(%{$alias2d})));
+ sub assemble_regex {
+     my (@tags) = @_;
+     my $regex = '(?:';
+     foreach $tag (sort(@tags)) {
+         $regex .= quotemeta($tag)."+|";
+     }
+     $regex =~ s/\+\|$//;
+     $regex .= ')';
+     return $regex;
+ }
+ 
+ my $escape = '(?:';
+ foreach $e (sort(%{$escapes})) {
+     $escape .= quotemeta($e)."|";
+ }
+ $escape =~ s/\|$//;
+ $escape .= ')';
+ 
+ sub expandtab {
+     my ($ts, $str) = @_;
+     my $i = 0;
+     my $k;
+     $str =~ s|(.)
+              |($1 eq "\t" 
+                ? ($k = $i % $ts, 
+                   $i += ($ts - $k), 
+                   "*" x ($ts - $k) ) 
+                : ($i++, $1)
+               )
+              |sgex;
+     return $str;
+ }
+ 
+ #   <document>     ::= <blockgroup>* 
+ #   <blockgroup>   ::= <block>*
+ #   <block>        ::= <para> | <2d-block>
+ #   <2d-block>     ::= <2d-tag> <document>
+ #   <2d-tag>       ::= m/^\s*XY+\s+/
+ #   <para>         ::= <1d-block>*
+ #
+ #   <blockgroup> und <para> koennen degenerieren
+ #   auf genau einen, d.h. z.B.
+ #   <blockgroup> == 1 <para>  oder <para> == 1 <1d-block>
+ #   
+ #   1d-block:
+ #   foo bar
+ #   **baz 
+ #   quux
+ #
+ #   2d-block
+ #   ** baz
+ #   quux
+ #
+ #   -> blank lines zwischen 2d-blocks koennen entfallen!
+ #   -> blank lines wenn da sind markieren paragraphen
+ #      und schliessen 1d block ab
+ 
+ sub parse_srml {
+     my ($srml) = @_;
+     my $sxml = '';
+ 
+     while ($srml ne '') {
+         #   stop at end of input
+         if ($srml =~ m|^(\s*)$|s) {
+             $sxml .= $1; 
+             $srml = '';
+             last;
+         }
+ 
+         #   pass through blank lines
+         elsif ($srml =~ m|^((?: *\n)+)(.*)$|s) {
+             $sxml .= $1;
+             $srml  = $2;
+         }
+ 
+         #   recognize 2-dimensional block start
+         elsif ($srml =~ m|^( *)($tag2d)( +[^\n]*)?(.*)$|s) {
+             my ($prefix, $tag, $block) = ($1, $2, $3);
+             $block = $prefix . $block;
+             $srml = $4;
+ 
+             #   reduce tag to canonical 2-character form
+             $tag =~ s|^(.)(.)\2+$|$1$2|s;
+             if (defined($alias2d->{$tag})) {
+                 $tag = $alias2d->{$tag};
+             }
+ 
+             #   gather block lines
+             #   (same or less indent indicates end)
+             my $minindent = length($prefix)+1;
+             while ($srml =~ m/^((?: *| {$minindent,}[^\n]+)\n)(.*)$/s) {
+                 $block .= $1;
+                 $srml   = $2;
+             }
+             $block = &parse_srml($block);
+             $block =~ s|^(\s*)(.*?)(\s*)$|
+                         $1 . $tags2d->{$tag}->[0] . 
+                         $2 . $tags2d->{$tag}->[1] . $3|se;
+             $sxml .= $block;
+         }
+ 
+         #   anything else we treat as a 1-dimensional block start
+         else {
+             #   gather block lines
+             #   (a blank line indicates end)
+             my $block = '';
+             while ($srml =~ m/^( *[^ \n][^\n]*\n)(.*)$/s) {
+                 $block .= $1;
+                 $srml   = $2;
+             }
+ 
+             print STDERR "1D<<$block>>\n";
+ 
+             #   escape special XML characters
+             $block =~ s|($escape)|$escapes->{$1}|sge;
+ 
+             #   sequencially walk through 1-dimensional block
+             my $sxml_local = '';
+             my @active = ();
+             while ($block =~ m|^(.*?)($tag1d)(.*)$|s) {
+                 my ($prolog, $tag, $epilog) = ($1, $2, $3);
+                 $sxml_local .= $prolog;
+                 $block = $epilog;
+ 
+                 #   reduce tag to canonical 2-character form
+                 $tag =~ s|^(.)(.)\2+$|$1$2|s;
+                 if (defined($alias1d->{$tag})) {
+                     $tag = $alias1d->{$tag};
+                 }
+ 
+                 #   look on stack of still active tags
+                 my $active = '';
+                 if ($#active > -1) {
+                     $active = pop(@active); 
+                 }
+ 
+                 if ($active eq $tag) {
+                     #   close the currently active tag
+                     $sxml_local .= $tags1d->{$tag}->[1];
+                 }
+                 else {
+                     #   open a new active tag
+                     if ($block =~ m|^\s*$|s) {
+                         #   tag wraps around
+                         $sxml_local =~ s|^(\s*)(.*?)(\s*)$|
+                                          $1 . $tags1d->{$tag}->[0] . 
+                                          $2 . $tags1d->{$tag}->[1] . $3|se;
+                     }
+                     else {
+                         $sxml_local .= $tags1d->{$tag}->[0];
+                         push(@active, $active) if ($active ne '');
+                         push(@active, $tag);
+                     }
+                 }
+             }
+             
+             #   post-processing for implicitly to-be-closed tags
+             my $trailer = '';
+             if ($block =~ m|^(.*)(\s+)$|s) {
+                 ($block, $trailer) = ($1, $2);
+             }
+             $sxml_local .= $block;
+             while ($#active > -1) {
+                 my $active = pop(@active);
+                 $sxml_local .= $tags1d->{$active}->[1];
+             }
+             $sxml_local .= $trailer;
+             
+             $sxml .= $sxml_local;
+         }
+     }
+     return $sxml;
+ }
+ 
+ my $srml = '';
+ $srml .= $_ while (<STDIN>);
+ $srml =~ s|\n$||s;
+ $srml .= "\n";
+ $srml = &expandtab(8, $srml);
+ 
+ my $sxml = '';
+ $sxml .= "<sugar>";
+ $sxml .= &parse_srml($srml);
+ $sxml .= "</sugar>\n";
+ print $sxml;
+ 


ossp-pkg/sugar/sugar.fig -> 1.1

*** /dev/null    Mon Apr 29 06:01:16 2024
--- -    Mon Apr 29 06:01:42 2024
***************
*** 0 ****
--- 1,225 ----
+ #FIG 3.2
+ Landscape
+ Center
+ Inches
+ Letter  
+ 100.00
+ Single
+ -2
+ 1200 2
+ 0 32 #f0f0ff
+ 0 33 #d0d0e0
+ 0 34 #a0a0c0
+ 0 35 #cccccc
+ 0 36 #999999
+ 0 37 #cccccc
+ 0 38 #999999
+ 0 39 #b2b2b2
+ 2 2 0 1 33 32 100 0 20 0.000 0 0 -1 0 0 5
+         6000 900 7200 900 7200 2100 6000 2100 6000 900
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         5400 1500 6000 1500
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         6600 2100 6600 2700
+ 2 2 0 1 33 32 100 0 20 0.000 0 0 -1 0 0 5
+         6000 3900 7200 3900 7200 5100 6000 5100 6000 3900
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         6600 3300 6600 3900
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
+         6600 4050 6375 4200 6225 4425 6150 4725
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
+         6600 4050 6825 4200 6900 4425 6975 4725
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3
+         6825 4200 6750 4425 6750 4725
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+         6600 4200 6675 4350
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
+         6600 4050 6600 4200 6525 4350 6600 4575
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+         6375 4200 6450 4425
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         6600 5100 6600 5700
+ 2 4 0 1 34 33 100 0 20 0.000 0 0 7 0 0 5
+         5400 1800 4200 1800 4200 1200 5400 1200 5400 1800
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         3600 1500 4200 1500
+ 2 2 0 1 33 32 100 0 20 0.000 0 0 -1 0 0 5
+         2400 900 3600 900 3600 2100 2400 2100 2400 900
+ 2 4 0 1 34 33 100 0 20 0.000 0 0 7 0 0 5
+         7200 6300 6000 6300 6000 5700 7200 5700 7200 6300
+ 2 4 0 1 34 33 100 0 20 0.000 0 0 7 0 0 5
+         7200 3300 6000 3300 6000 2700 7200 2700 7200 3300
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+         7200 6000 7800 6000
+ 2 2 0 1 33 32 100 0 20 0.000 0 0 -1 0 0 5
+         8100 5400 9300 5400 9300 6600 8100 6600 8100 5400
+ 2 1 2 4 0 7 50 0 -1 7.500 0 1 -1 0 0 2
+         8700 8250 8700 8550
+ 2 2 0 1 33 32 100 0 20 0.000 0 0 -1 0 0 5
+         8100 6900 9300 6900 9300 8100 8100 8100 8100 6900
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         9300 4500 9900 4500
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         9300 7500 9900 7500
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         9300 6000 9900 6000
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+         7650 4500 7650 7500
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         7650 4500 8100 4500
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         7500 6000 8100 6000
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         7650 7500 8100 7500
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         5400 6000 6000 6000
+ 2 2 0 1 33 32 100 0 20 0.000 0 0 -1 0 0 5
+         4200 2700 5400 2700 5400 3300 4200 3300 4200 2700
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         5400 3000 6000 3000
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+         5400 5100 5700 5100
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+         5400 6900 5700 6900
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
+         5700 5100 5700 6900
+ 2 2 0 1 33 32 100 0 20 0.000 0 0 -1 0 0 5
+         4200 5700 5400 5700 5400 6300 4200 6300 4200 5700
+ 2 2 0 1 33 32 100 0 20 0.000 0 0 -1 0 0 5
+         4200 4800 5400 4800 5400 5400 4200 5400 4200 4800
+ 2 2 0 1 33 32 100 0 20 0.000 0 0 -1 0 0 5
+         4200 6600 5400 6600 5400 7200 4200 7200 4200 6600
+ 2 1 2 4 0 7 50 0 -1 7.500 0 1 -1 0 0 2
+         4800 7350 4800 7650
+ 2 2 2 1 34 7 50 0 -1 1.000 0 0 -1 0 0 5
+         4050 900 5550 900 5550 7800 4050 7800 4050 900
+ 2 4 0 1 34 33 100 0 20 0.000 0 0 7 0 0 5
+         11100 4800 9900 4800 9900 4200 11100 4200 11100 4800
+ 2 4 0 1 34 33 100 0 20 0.000 0 0 7 0 0 5
+         11100 6300 9900 6300 9900 5700 11100 5700 11100 6300
+ 2 4 0 1 34 33 100 0 20 0.000 0 0 7 0 0 5
+         11100 7800 9900 7800 9900 7200 11100 7200 11100 7800
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         11100 6000 11700 6000
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         11100 7500 11700 7500
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         11100 4500 11700 4500
+ 2 2 0 1 29 30 100 0 20 0.000 0 0 -1 0 0 5
+         11700 3900 12900 3900 12900 5100 11700 5100 11700 3900
+ 2 2 0 1 33 32 100 0 20 0.000 0 0 -1 0 0 5
+         11700 5400 12900 5400 12900 6600 11700 6600 11700 5400
+ 2 2 0 1 29 30 100 0 20 0.000 0 0 -1 0 0 5
+         11700 6900 12900 6900 12900 8100 11700 8100 11700 6900
+ 2 2 0 1 29 30 100 0 20 0.000 0 0 -1 0 0 5
+         8100 3900 9300 3900 9300 5100 8100 5100 8100 3900
+ 2 2 0 1 29 30 100 0 20 0.000 0 0 -1 0 0 5
+         13500 6150 14700 6150 14700 7350 13500 7350 13500 6150
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         12900 5550 13500 5550
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         12900 7950 13500 7950
+ 2 4 0 1 34 33 100 0 20 0.000 0 0 7 0 0 5
+         14700 8400 13500 8400 13500 7800 14700 7800 14700 8400
+ 2 4 0 1 34 33 100 0 20 0.000 0 0 7 0 0 5
+         14700 5700 13500 5700 13500 5100 14700 5100 14700 5700
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         14100 5700 14100 6150
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         14100 7800 14100 7350
+ 2 4 0 1 34 33 200 0 20 0.000 0 0 7 0 0 5
+         7350 6900 5850 6900 5850 2550 7350 2550 7350 6900
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         3000 450 3000 900
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         6600 450 6600 900
+ 2 1 0 1 37 7 50 0 -1 0.000 0 0 -1 1 0 4
+        1 1 2.00 60.00 120.00
+         11100 6150 11400 6150 11400 7350 11700 7350
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         9300 8025 9900 8025
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         11100 7950 11700 7950
+ 2 4 0 1 34 33 100 0 20 0.000 0 0 7 0 0 5
+         11100 8175 9900 8175 9900 7875 11100 7875 11100 8175
+ 2 2 0 1 29 30 100 0 20 0.000 0 0 -1 0 0 5
+         11700 8400 12900 8400 12900 9600 11700 9600 11700 8400
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+        1 1 2.00 60.00 120.00
+         11100 8700 11700 8700
+ 2 4 0 1 34 33 100 0 20 0.000 0 0 7 0 0 5
+         11100 8850 9900 8850 9900 8550 11100 8550 11100 8850
+ 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3
+        1 1 2.00 60.00 120.00
+         9000 8100 9300 8700 9900 8700
+ 4 0 0 50 0 16 12 0.0000 4 180 990 6150 3225 XML parser\001
+ 4 0 0 50 0 18 12 0.0000 4 135 510 6300 2925 libxml\001
+ 4 0 0 50 0 16 12 0.0000 4 135 525 6375 1950 SXML\001
+ 4 0 0 50 0 12 10 0.0000 4 105 270 6450 4725 foo\001
+ 4 0 0 50 0 16 12 0.0000 4 135 780 6225 5025 XML tree\001
+ 4 0 0 50 0 16 12 0.0000 4 180 1095 6075 6225 XSLT engine\001
+ 4 0 0 50 0 18 12 0.0000 4 135 525 6300 5925 libxslt\001
+ 4 0 0 50 0 18 12 0.0000 4 135 915 4350 1575 srml2sxml\001
+ 4 0 0 50 0 12 10 0.0000 4 135 810 2625 1350 _ _foo_ _\001
+ 4 0 0 50 0 16 12 0.0000 4 135 510 2700 2025 SRML\001
+ 4 0 0 50 0 12 10 0.0000 4 120 1080 6150 1350 <ul>foo</ul>\001
+ 4 0 0 50 0 12 10 0.0000 4 120 900 8325 4275 <u>foo</u>\001
+ 4 0 0 50 0 16 12 0.0000 4 135 510 8400 5025 HTML\001
+ 4 0 0 50 0 12 10 0.0000 4 135 1350 8100 5925 \\underline{foo}\001
+ 4 0 0 50 0 16 12 0.0000 4 135 555 8400 6525 LaTeX\001
+ 4 0 0 50 0 16 12 0.0000 4 135 750 8325 8025 XML-FO\001
+ 4 0 0 50 0 12 10 0.0000 4 120 1620 7950 7350 <fo:ul>foo</fo:ul>\001
+ 4 0 0 50 0 16 12 0.0000 4 135 960 4350 3075 SXML DTD\001
+ 4 0 0 50 0 16 10 0.0000 4 120 945 4350 5025 SXML2HTML\001
+ 4 0 0 50 0 16 10 0.0000 4 120 945 4350 5925 SXML2LaTeX\001
+ 4 0 0 50 0 16 12 0.0000 4 180 870 4350 6150 Stylesheet\001
+ 4 0 0 50 0 16 12 0.0000 4 180 870 4350 5250 Stylesheet\001
+ 4 0 0 50 0 16 10 0.0000 4 120 1065 4350 6825 SXML2XMLFO\001
+ 4 0 0 50 0 16 12 0.0000 4 180 870 4350 7050 Stylesheet\001
+ 4 0 0 50 0 18 12 0.0000 4 135 600 10200 7425 xmltex\001
+ 4 0 0 50 0 16 10 0.0000 4 150 885 10125 7650 (PassiveTex)\001
+ 4 0 0 50 0 18 12 0.0000 4 180 840 10125 6075 [pdf]latex\001
+ 4 0 0 50 0 18 12 0.0000 4 135 435 10275 4575 w3m\001
+ 4 0 0 50 0 12 10 0.0000 4 105 270 12150 4425 foo\001
+ 4 0 0 50 0 16 12 0.0000 4 135 345 12075 5025 Text\001
+ 4 0 0 50 0 12 10 0.0000 4 105 270 12150 5925 foo\001
+ 4 0 0 50 0 16 12 0.0000 4 135 315 12075 6525 DVI\001
+ 4 0 0 50 0 12 10 0.0000 4 105 270 12150 7425 foo\001
+ 4 0 0 50 0 16 12 0.0000 4 135 375 12150 8025 PDF\001
+ 4 0 0 50 0 16 12 0.0000 4 180 810 13725 7275 Postscript\001
+ 4 0 0 50 0 12 10 0.0000 4 105 270 13875 6600 foo\001
+ 4 0 0 50 0 18 12 0.0000 4 150 210 13950 8100 gs\001
+ 4 0 0 50 0 18 12 0.0000 4 180 480 13875 5475 dvips\001
+ 4 0 0 50 0 16 10 0.0000 4 150 945 13650 8250 (Ghostscript)\001
+ 4 0 0 50 0 18 24 0.0000 4 360 3360 9300 1200 Sugar Architecture\001
+ 4 0 34 50 0 16 10 0.0000 4 150 1260 4200 7950 to be implemented\001
+ 4 0 0 50 0 18 12 0.0000 4 135 840 6225 6750 sxml2xxx\001
+ 4 0 0 50 0 16 10 0.0000 4 150 3330 9300 1425 OSSP Sugar <http://www.ossp.org/pkg/sugar/>\001
+ 4 0 0 50 0 18 12 0.0000 4 135 375 10275 8100 FOP\001
+ 4 0 0 50 0 12 10 0.0000 4 105 270 12150 8850 foo\001
+ 4 0 0 50 0 16 12 0.0000 4 135 345 12150 9525 RTF\001
+ 4 0 0 50 0 18 12 0.0000 4 180 300 10350 8775 jfor\001


ossp-pkg/sugar/sugar.sug -> 1.1

*** /dev/null    Mon Apr 29 06:01:16 2024
--- -    Mon Apr 29 06:01:42 2024
***************
*** 0 ****
--- 1,237 ----
+ 
+   Sugar - The Markup Language With Invisible Syntactic Sugar
+   ==========================================================
+ 
+   Title:    Sugar
+   Subtitle: The Markup Language With Invisible Syntactic Sugar
+   Author:   Ralf S. Engelschall <rse@engelschall.com>
+   Author:   Christian Reiber <chrei@krischan.org>
+   Genesis:  12-Mar-1999
+   Date:     08-Mar-2002
+   
+   Introduction
+   ------------
+ 
+   Sugar is a markup language and corresponding translator tool for
+   writing technical documentation that uses mostly invisible markup
+   tags (the so-called //syntactic sugar// in compiler construction folk
+   terminology).
+   
+   The general idea is that the markup text looks already mostly like
+   the textual output of the translator phase, that is, the Sugar source
+   can be already treated as its text output format ("ASCII WYSIWYG").
+   Additionally the Sugar markup language is considered intuitive enough
+   to be recognized easily, so writing technical documentation is mainly
+   just a matter of performing a brain dump.
+ 
+   So, Sugars syntactic principle is "keep it simple, stupid" (KISS)
+   but still powerful enough to allow one to produce high-quality
+   output. Sugars goal is not to provide all features of a full-featured
+   documentation system. Instead it provides only a few markup concepts
+   but those are streched to their maximum.
+ 
+   Sugar Grammar
+   -------------
+ 
+   A Sugar document is described by the following grammar:
+ 
+   ++ |                |     |                                    |
+      | <document>     | ::= | <block>*                           |
+      | <block>        | ::= | <tagged-block> \| <regular-block>  |
+      | <tagged-block> | ::= | <1d-block> \| <2d-block>           |
+      | <1d-block>     | ::= | <1d-tag> <document>                |
+      | <2d-block>     | ::= | <2d-tag> <document>                |
+      | <1d-tag>       | ::= | "!!##!!" \| "!!\|\!!|" \| "!!``!!" \| "!!''!!" \| ... |
+      | <2d-tag>       | ::= | "!!**!!" \| ...                    |
+ 
+   where <regular-block> is defined visually as a rectangular block
+   of continued text inside the document, that is a paragraph of
+   text (without any blank lines) where each line starts at the same
+   indentation position.
+ 
+   Block Concept
+   -------------
+ 
+   \n\s*<tag>\s+ -> <2d-tag>
+        <tag>    -> <1d-tag>
+ 
+   Markup Language
+   ---------------
+ 
+   The Sugar markup language consists of markup tags grouped into a few
+   classes:
+   
+   o ..Formatting..
+ 
+     For visual formatting of text the following tags exists. They can
+     be used either as a <1d-tag>, inlined in a paragraph by using them
+     twice (to delimit begin and end) or as a <2d-tag> for marking
+     up a whole block by using them in marched-out way (to delimit
+     the indented block). The tags (and any number of concatenated
+     repetitions of them) are also allowed to be placed at the end of a
+     <1d-block>. Then they conver the whole (preceeding) block text.
+ 
+     ++ | tag      | formatting        | allowed context |
+        | !!__!!   | underline         | inline          |
+        | !!**!!   | bold              | inline          |
+        | !!//!!   | italics           | inline          |
+        | !!''!!   | code              | inline, block   |
+        | !!==!!   | header (level I)  | block           |
+        | !!--!!   | header (level II) | block           |
+        | !!~~!!   | header (level III)| block           |
+        | !!..!!   | header (level IV) | block           |
+        | !!\!\!!! | verbatim          | inline, block   |
+        | !![[!!   | boxed             | block           |
+        | !!>>!!   | indented          | block           |
+        | !!%%!!   | centered          | block           |
+        | !!))!!   | right flushed     | block           |
+        | !!((!!   | left flushed      | block           |
+ 
+     Example:
+ 
+     !! A headline
+        ==========
+        
+        This line contains //italic// and **bold** words.
+        >> '' And this paragraph contains
+              indented code.
+        And this line again is __non-indented__ text.
+ 
+   o ..Links and References..
+ 
+     For referencing textual locations (both document internal and to
+     external documents), links can be specified.
+ 
+     ++ | construct | description |
+        | !!->!![//text//]!!(!!//scheme//!!:!!//path//!!)!! |
+          external hyperlink via URL |
+        | !!->!!//text//!!(!!//ref//!!)!! |
+          internal hyperlink via anchor name |
+        | !!(+!!//ref//!!+)!! |
+          internal anchor definition |
+ 
+     Example:
+ 
+     !! Header A (+hA+)
+        -------- 
+ 
+        This is text of header A. For B see ->header B(hB).
+        For Sugar go to ->(http://www.ossp.org/pkg/tool/sugar/).
+ 
+        Header B (+hB+)
+        --------
+ 
+        This is text of header B. For A see ->header A(hA).
+        For other neat things watch ->OSSP(http://www.ossp.org/).
+ 
+   o ..List Environment..
+   
+     Three types of list environments can be used. They are identified
+     by the first non-blank word in the first line of each list item.
+     For ordered lists the start position is selectable by specifying an
+     explicit digit instead of the generic item character.
+ 
+     ++ | construct      | alternatives                 | type       |
+        | !!-!!          | !!o!!, !!*!!                 | unordered  |
+        | !!-.!!         | !!o.!!, !!*.!!,  m/[0-9]+\./ | ordered    |
+        | <block> !!::!! |                              | itemized   |
+ 
+     Example:
+ 
+     !! A Sugar list:
+        1. foo 
+        o. bar
+           - baz
+           - foobar
+        o. quux
+ 
+   o ..Table Environment..
+ 
+     A generic table environment is provided for any type of data which
+     has to be rendered in a tabular layout. A table is a <2d-block>
+     starting with a !!++!! tag. 
+     
+     The contents of the <2d-block> consists of a 2-dimensional table
+     specified by cells. The table cells are seperated by ''|''
+     characters. Every row has to start with a ''|'' at the same
+     horizontal position. The number of columns is indicated by the
+     first table row. This first row can be either a complete (all cells
+     are specified) and regular (the contents is used) row, or (in case
+     the first //regular// row is not a complete one, that is, it has
+     multi-column cell spans), the first row can be an empty row (all
+     cells are specified for indication but are left blank).
+ 
+     The ''|'' marks can be placed arbitrary in each row, but if
+     multi-column spans exists, the surrounding ''|'' marks have to be
+     placed exactly at the same horizontal character position as the
+     first table row has (else the multi-column cells are ambiguous).
+     Empty rows can be indicated by using just the starting ''|'' mark.
+ 
+     Example:
+ 
+     !! 
+        ++ |     |        |      |
+           | foo | !!bar  | quux |
+           |
+           | foo | baz 
+                   bar    | quux |
+           | bazfoo
+           fjfjkwq
+           rwrqwd sddksjk
+                 | dsdjks
+                          | foo  |
+           | dsdsds              |
+ 
+ ____
+     
+   o ..Special Formatting..
+ 
+     ''  quotemeta
+     ##  command         (charblock until EOL)
+     ``  shell command   (charblock until EOL)
+ 
+   o ..Escaping and Special Characters..
+ 
+     --   em-dash      (ger. "Gedankenstrich")
+     \_   strong blank (prevents line break as in HTML's &nbsp;)
+     \n   line break   (as in HTML's <br>)
+     \\   a backslash  (there no block concept!)
+     \X   escapes following character X
+     \{name} 
+ 
+   o ..Commands (all charblock until EOL)..
+ 
+     ##! <shebang>
+     ##include
+     ##// line comment
+     ##/* block comment anfang
+     ##*/ block comment ende
+     ##if
+     ##elsif
+     ##endif
+     ##img ...
+     ##<formatierung> [range]
+ 
+  
+   Sugar Output Formatting
+   -----------------------
+ 
+   The Sugar transformation tool parses a Sugar source text, transforms
+   it into an internal abstracted syntax tree and finally applies to it a
+   particular output formatting module in order to transform the abstract
+   syntax tree into target markup language. The target language then is
+   either already an end-user document (HTML, Text, etc.) or intended for
+   post-processing by external programs (LaTeX, PDF, etc.).
+ 
+   The following outputs are supported:
+ 
+   ++ | sugar output | post-processor(s) | final output         |
+      | Text         | -                 | Text                 |
+      | HTML         | -                 | HTML                 |
+      | Roff         | nroff             | Text                 |
+      | Lout         | lout              | Postscript           |
+      | PDF          | pdflib            | PDF                  |
+      | LaTeX        | latex, dvips      | DVI, Postscript, PDF |
+      | XML          | docbook           | ...                  |
+      | POD          | pod2xxx           | ...                  |
+ 


ossp-pkg/sugar/sugar.txt 1.4 -> 1.5



ossp-pkg/sugar/sxml.cat -> 1.1

*** /dev/null    Mon Apr 29 06:01:16 2024
--- -    Mon Apr 29 06:01:42 2024
***************
*** 0 ****
--- 1,7 ----
+ <!-- =========================================================== 
+      sxml.cat - SGML/XML Catalog for Sugar DTD
+      Copyright (c) 2001 Ralf S. Engelschall <rse@engelschall.com> 
+      =========================================================== -->
+ 
+ PUBLIC "-//OSSP//DTD Sugar XML 0.1.0//EN" "sxml.dtd"
+ 


ossp-pkg/sugar/sxml.dtd -> 1.1

*** /dev/null    Mon Apr 29 06:01:16 2024
--- -    Mon Apr 29 06:01:42 2024
***************
*** 0 ****
--- 1,122 ----
+ <!-- =========================================================== 
+      sxml.dtd - Document Type Description (DTD) for Sugar XML 
+      Copyright (c) 2001 Ralf S. Engelschall <rse@engelschall.com> 
+      =========================================================== -->
+ 
+ <!-- :::: Formal public identifier to identify this DTD :::: -->
+ 
+ <!ENTITY % SXML.version "-//OSSP//DTD Sugar XML 0.1.0//EN" >
+ 
+ <!-- :::: Include ISO document character entitities :::: -->
+ 
+ <!ENTITY % ISO.entities.load "INCLUDE">
+ <![%ISO.entities.load;[
+   <!ENTITY % ISO.entities SYSTEM "sxml.iso">
+   %ISO.entities;
+ ]]>
+ 
+ <!-- :::: Define local DTD parameter entities :::: -->
+ 
+ <!ENTITY % class.emph
+     "em|it|bf|sf|sl|tt">
+ <!ENTITY % class.inline
+     "(#PCDATA|%class.emph;)*">
+ <!ENTITY % class.heading
+      "h1|h2|h3|h4">
+ 
+ <!-- :::: DTD rule set :::: -->
+ 
+ <!--
+    sugar:
+      h(ea)d
+        ti(tle)
+        au(thor)
+        da(te)
+        ab(stract)
+      b(o)d(y)
+        h1
+          text
+          h2
+            text
+            h3
+              text
+              h4
+                text
+    text:
+      ul
+      ol
+      dl
+        li
+          text
+      ta
+        tr
+          tc
+            text
+      fi(gure)
+ 
+    formatting
+      ul
+      bf
+      it
+      tt
+      bo(xed)
+ 
+      in(dent)
+      pf (preformatted)
+      al(ign)
+ 
+      an(chor)
+      lk (link)
+      
+      pg (paragraph)
+      br (break)
+ 
+   <su>
+     <hd>
+       <ti>..</ti>
+       <au>..</au>
+       <da>..</da>
+       <ab>
+          ....
+       </ab>
+     </hd>
+     <bd>
+       <h1>...</h1>
+       foo <it>bar</it> ..
+       <h2><an name="bar"/></h2>
+       <pg/>
+       <ta>
+         <tr>
+           <tc>foo</tc>
+           <tc>foo</tc>
+         </tr>
+       </ta>
+       <an href="#bar">foo</an>
+     </bd>
+   </su>
+ 
+ -->
+ 
+ <!ELEMENT  sugar       (head?,body)>
+ 
+ <!ELEMENT  head        ((title|author|date|abstract)*)>
+ <!ELEMENT  body        ANY>
+ 
+ <!ELEMENT  title       (#PCDATA)>
+ <!ELEMENT  author      (#PCDATA)>
+ <!ELEMENT  date        (#PCDATA)>
+ <!ELEMENT  abstract    ANY>
+ 
+ 
+ <!-- headers of levels 1-4 -->
+ <!ELEMENT  h1          (#PCDATA)>
+ <!ELEMENT  h2          (#PCDATA)>
+ <!ELEMENT  h3          (#PCDATA)>
+ <!ELEMENT  h4          (#PCDATA)>
+ 
+ <!-- emphasized text -->
+ <!ELEMENT  em          (#PCDATA)>
+ 
+ <!-- tele-typed text -->
+ <!ELEMENT  tt          (#PCDATA)>
+ 


ossp-pkg/sugar/sxml.iso -> 1.1

*** /dev/null    Mon Apr 29 06:01:16 2024
--- -    Mon Apr 29 06:01:42 2024
***************
*** 0 ****
--- 1,1085 ----
+ <!-- iso-amsa.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+ 
+ <!-- Derived from the corresponding ISO 8879 standard entity set
+      and the Unicode character mappings provided by Sebastian Rahtz
+      With additional derivations from
+      ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+ 
+ <!ENTITY cularr        "&#x21B6;"> <!-- ANTICLOCKWISE TOP SEMICIRCLE ARROW -->
+ <!ENTITY curarr        "&#x21B7;"> <!-- CLOCKWISE TOP SEMICIRCLE ARROW -->
+ <!ENTITY dArr  "&#x21D3;"> <!-- DOWNWARDS DOUBLE ARROW -->
+ <!ENTITY darr2 "&#x21CA;"> <!-- DOWNWARDS PAIRED ARROWS -->
+ <!ENTITY dharl "&#x21C3;"> <!-- DOWNWARDS HARPOON WITH BARB LEFTWARDS -->
+ <!ENTITY dharr "&#x21C2;"> <!-- DOWNWARDS HARPOON WITH BARB RIGHTWARDS -->
+ <!ENTITY lAarr "&#x21DA;"> <!-- LEFTWARDS TRIPLE ARROW -->
+ <!ENTITY Larr  "&#x219E;"> <!-- LEFTWARDS TWO HEADED ARROW -->
+ <!ENTITY larr2 "&#x21C7;"> <!-- LEFTWARDS PAIRED ARROWS -->
+ <!ENTITY larrhk        "&#x21A9;"> <!-- LEFTWARDS ARROW WITH HOOK -->
+ <!ENTITY larrlp        "&#x21AB;"> <!-- LEFTWARDS ARROW WITH LOOP -->
+ <!ENTITY larrtl        "&#x21A2;"> <!-- LEFTWARDS ARROW WITH TAIL -->
+ <!ENTITY lhard "&#x21BD;"> <!-- LEFTWARDS HARPOON WITH BARB DOWNWARDS -->
+ <!ENTITY lharu "&#x21BC;"> <!-- LEFTWARDS HARPOON WITH BARB UPWARDS -->
+ <!ENTITY hArr  "&#x21D4;"> <!--  -->
+ <!ENTITY harr  "&#x2194;"> <!-- LEFT RIGHT ARROW -->
+ <!ENTITY lrarr2        "&#x21C6;"> <!-- LEFTWARDS ARROW OVER RIGHTWARDS ARROW -->
+ <!ENTITY rlarr2        "&#x21C4;"> <!-- RIGHTWARDS ARROW OVER LEFTWARDS ARROW -->
+ <!ENTITY harrw "&#x21AD;"> <!-- LEFT RIGHT WAVE ARROW -->
+ <!ENTITY rlhar2        "&#x21CC;"> <!-- RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON -->
+ <!ENTITY lrhar2        "&#x21CB;"> <!-- LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON -->
+ <!ENTITY lsh   "&#x21B0;"> <!-- UPWARDS ARROW WITH TIP LEFTWARDS -->
+ <!ENTITY map   "&#x21A6;"> <!-- RIGHTWARDS ARROW FROM BAR -->
+ <!ENTITY mumap "&#x22B8;"> <!-- MULTIMAP -->
+ <!ENTITY nearr "&#x2197;"> <!-- NORTH EAST ARROW -->
+ <!ENTITY nlArr "&#x21CD;"> <!-- LEFTWARDS DOUBLE ARROW WITH STROKE -->
+ <!ENTITY nlarr "&#x219A;"> <!-- LEFTWARDS ARROW WITH STROKE -->
+ <!ENTITY nhArr "&#x21CE;"> <!-- LEFT RIGHT DOUBLE ARROW WITH STROKE -->
+ <!ENTITY nharr "&#x21AE;"> <!-- LEFT RIGHT ARROW WITH STROKE -->
+ <!ENTITY nrarr "&#x219B;"> <!-- RIGHTWARDS ARROW WITH STROKE -->
+ <!ENTITY nrArr "&#x21CF;"> <!-- RIGHTWARDS DOUBLE ARROW WITH STROKE -->
+ <!ENTITY nwarr "&#x2196;"> <!-- NORTH WEST ARROW -->
+ <!ENTITY olarr "&#x21BA;"> <!-- ANTICLOCKWISE OPEN CIRCLE ARROW -->
+ <!ENTITY orarr "&#x21BB;"> <!-- CLOCKWISE OPEN CIRCLE ARROW -->
+ <!ENTITY rAarr "&#x21DB;"> <!-- RIGHTWARDS TRIPLE ARROW -->
+ <!ENTITY Rarr  "&#x21A0;"> <!-- RIGHTWARDS TWO HEADED ARROW -->
+ <!ENTITY rarr2 "&#x21C9;"> <!-- RIGHTWARDS PAIRED ARROWS -->
+ <!ENTITY rarrhk        "&#x21AA;"> <!-- RIGHTWARDS ARROW WITH HOOK -->
+ <!ENTITY rarrlp        "&#x21AC;"> <!-- RIGHTWARDS ARROW WITH LOOP -->
+ <!ENTITY rarrtl        "&#x21A3;"> <!-- RIGHTWARDS ARROW WITH TAIL -->
+ <!ENTITY rarrw "&#x219D;"> <!-- RIGHTWARDS SQUIGGLE ARROW -->
+ <!ENTITY rhard "&#x21C1;"> <!-- RIGHTWARDS HARPOON WITH BARB DOWNWARDS -->
+ <!ENTITY rharu "&#x21C0;"> <!-- RIGHTWARDS HARPOON WITH BARB UPWARDS -->
+ <!ENTITY rsh   "&#x21B1;"> <!-- UPWARDS ARROW WITH TIP RIGHTWARDS -->
+ <!ENTITY drarr "&#x2198;"> <!-- SOUTH EAST ARROW -->
+ <!ENTITY dlarr "&#x2199;"> <!-- SOUTH WEST ARROW -->
+ <!ENTITY uArr  "&#x21D1;"> <!-- UPWARDS DOUBLE ARROW -->
+ <!ENTITY uarr2 "&#x21C8;"> <!-- UPWARDS PAIRED ARROWS -->
+ <!ENTITY vArr  "&#x21D5;"> <!-- UP DOWN DOUBLE ARROW -->
+ <!ENTITY varr  "&#x2195;"> <!-- UP DOWN ARROW -->
+ <!ENTITY uharl "&#x21BF;"> <!-- UPWARDS HARPOON WITH BARB LEFTWARDS -->
+ <!ENTITY uharr "&#x21BE;"> <!-- UPWARDS HARPOON WITH BARB RIGHTWARDS -->
+ <!ENTITY xlArr "&#x21D0;"> <!-- LEFTWARDS DOUBLE ARROW -->
+ <!ENTITY xhArr "&#x2194;"> <!-- LEFT RIGHT ARROW -->
+ <!ENTITY xharr "&#x2194;"> <!-- LEFT RIGHT ARROW -->
+ <!ENTITY xrArr "&#x21D2;"> <!-- RIGHTWARDS DOUBLE ARROW -->
+ <!-- iso-amsb.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+ 
+ <!-- Derived from the corresponding ISO 8879 standard entity set
+      and the Unicode character mappings provided by Sebastian Rahtz.
+      With additional derivations from
+      ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+ 
+ <!ENTITY amalg "&#x2210;"> <!-- N-ARY COPRODUCT -->
+ <!ENTITY Barwed        "&#x2306;"> <!-- PERSPECTIVE -->
+ <!ENTITY barwed        "&#x22BC;"> <!-- NAND -->
+ <!ENTITY Cap   "&#x22D2;"> <!-- DOUBLE INTERSECTION -->
+ <!ENTITY Cup   "&#x22D3;"> <!-- DOUBLE UNION -->
+ <!ENTITY cuvee "&#x22CE;"> <!-- CURLY LOGICAL OR -->
+ <!ENTITY cuwed "&#x22CF;"> <!-- CURLY LOGICAL AND -->
+ <!ENTITY diam  "&#x22C4;"> <!-- DIAMOND OPERATOR -->
+ <!ENTITY divonx        "&#x22C7;"> <!-- DIVISION TIMES -->
+ <!ENTITY intcal        "&#x22BA;"> <!-- INTERCALATE -->
+ <!ENTITY lthree        "&#x22CB;"> <!-- LEFT SEMIDIRECT PRODUCT -->
+ <!ENTITY ltimes        "&#x22C9;"> <!-- LEFT NORMAL FACTOR SEMIDIRECT PRODUCT -->
+ <!ENTITY minusb        "&#x229F;"> <!-- SQUARED MINUS -->
+ <!ENTITY oast  "&#x229B;"> <!-- CIRCLED ASTERISK OPERATOR -->
+ <!ENTITY ocir  "&#x229A;"> <!-- CIRCLED RING OPERATOR -->
+ <!ENTITY odash "&#x229D;"> <!-- CIRCLED DASH -->
+ <!ENTITY odot  "&#x2299;"> <!-- CIRCLED DOT OPERATOR -->
+ <!ENTITY ominus        "&#x2296;"> <!-- CIRCLED MINUS -->
+ <!ENTITY oplus "&#x2295;"> <!-- CIRCLED PLUS -->
+ <!ENTITY osol  "&#x2298;"> <!-- CIRCLED DIVISION SLASH -->
+ <!ENTITY otimes        "&#x2297;"> <!-- CIRCLED TIMES -->
+ <!ENTITY plusb "&#x229E;"> <!-- SQUARED PLUS -->
+ <!ENTITY plusdo        "&#x2214;"> <!-- DOT PLUS -->
+ <!ENTITY rthree        "&#x22CC;"> <!-- RIGHT SEMIDIRECT PRODUCT -->
+ <!ENTITY rtimes        "&#x22CA;"> <!-- RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT -->
+ <!ENTITY sdot  "&#x22C5;"> <!-- DOT OPERATOR -->
+ <!ENTITY sdotb "&#x22A1;"> <!-- SQUARED DOT OPERATOR -->
+ <!ENTITY setmn "&#x2216;"> <!-- SET MINUS -->
+ <!ENTITY sqcap "&#x2293;"> <!-- SQUARE CAP -->
+ <!ENTITY sqcup "&#x2294;"> <!-- SQUARE CUP -->
+ <!ENTITY ssetmn        "&#x2216;"> <!-- SET MINUS -->
+ <!ENTITY sstarf        "&#x22C6;"> <!-- STAR OPERATOR -->
+ <!ENTITY timesb        "&#x22A0;"> <!-- SQUARED TIMES -->
+ <!ENTITY top   "&#x22A4;"> <!-- DOWN TACK -->
+ <!ENTITY uplus "&#x228E;"> <!-- MULTISET UNION -->
+ <!ENTITY wreath        "&#x2240;"> <!-- WREATH PRODUCT -->
+ <!ENTITY xcirc "&#x25CB;"> <!-- WHITE CIRCLE -->
+ <!ENTITY xdtri "&#x25BD;"> <!-- WHITE DOWN-POINTING TRIANGLE -->
+ <!ENTITY xutri "&#x25B3;"> <!-- WHITE UP-POINTING TRIANGLE -->
+ <!ENTITY coprod        "&#x2210;"> <!-- N-ARY COPRODUCT -->
+ <!ENTITY prod  "&#x220F;"> <!-- N-ARY PRODUCT -->
+ <!ENTITY sum   "&#x2211;"> <!-- N-ARY SUMMATION -->
+ <!-- iso-amsc.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+ 
+ <!-- Derived from the corresponding ISO 8879 standard entity set
+      and the Unicode character mappings provided by Sebastian Rahtz -->
+ 
+ <!ENTITY rceil "&#x2309;"> <!-- RIGHT CEILING -->
+ <!ENTITY rfloor        "&#x230B;"> <!-- RIGHT FLOOR -->
+ <!ENTITY rpargt        "&#xE291;"> <!--  -->
+ <!ENTITY urcorn        "&#x231D;"> <!-- TOP RIGHT CORNER -->
+ <!ENTITY drcorn        "&#x231F;"> <!-- BOTTOM RIGHT CORNER -->
+ <!ENTITY lceil "&#x2308;"> <!-- LEFT CEILING -->
+ <!ENTITY lfloor        "&#x230A;"> <!-- LEFT FLOOR -->
+ <!--     lpargt        Unknown unicode character -->
+ <!ENTITY ulcorn        "&#x231C;"> <!-- TOP LEFT CORNER -->
+ <!ENTITY dlcorn        "&#x231E;"> <!-- BOTTOM LEFT CORNER -->
+ <!-- iso-amsn.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+ 
+ <!-- Derived from the corresponding ISO 8879 standard entity set
+      and the Unicode character mappings provided by Sebastian Rahtz
+      With additional derivations from
+      ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+ 
+ <!ENTITY gnap  "&#xE411;"> <!--  -->
+ <!ENTITY gne   "&#x2269;"> <!--  -->
+ <!ENTITY gnE   "&#x2269;"> <!--  -->
+ <!ENTITY gnsim "&#x22E7;"> <!-- GREATER-THAN BUT NOT EQUIVALENT TO -->
+ <!ENTITY gvnE  "&#x2269;"> <!-- GREATER-THAN BUT NOT EQUAL TO -->
+ <!ENTITY lnap  "&#xE2A2;"> <!--  -->
+ <!ENTITY lnE   "&#x2268;"> <!--  -->
+ <!ENTITY lne   "&#x2268;"> <!--  -->
+ <!ENTITY lnsim "&#x22E6;"> <!--  -->
+ <!ENTITY lvnE  "&#x2268;"> <!-- LESS-THAN BUT NOT EQUAL TO -->
+ <!ENTITY nap   "&#x2249;"> <!-- NOT ALMOST EQUAL TO -->
+ <!ENTITY ncong "&#x2247;"> <!-- NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO -->
+ <!ENTITY nequiv        "&#x2262;"> <!-- NOT IDENTICAL TO -->
+ <!ENTITY ngE   "&#x2271;"> <!--  -->
+ <!ENTITY nge   "&#x2271;"> <!-- NEITHER GREATER-THAN NOR EQUAL TO -->
+ <!ENTITY nges  "&#x2271;"> <!--  -->
+ <!ENTITY ngt   "&#x226F;"> <!-- NOT GREATER-THAN -->
+ <!ENTITY nle   "&#x2270;"> <!-- NEITHER LESS-THAN NOR EQUAL TO -->
+ <!ENTITY nlE   "&#x2270;"> <!--  -->
+ <!ENTITY nles  "&#x2270;"> <!--  -->
+ <!ENTITY nlt   "&#x226E;"> <!-- NOT LESS-THAN -->
+ <!ENTITY nltri "&#x22EA;"> <!-- NOT NORMAL SUBGROUP OF -->
+ <!ENTITY nltrie        "&#x22EC;"> <!-- NOT NORMAL SUBGROUP OF OR EQUAL TO -->
+ <!ENTITY nmid  "&#x2224;"> <!-- DOES NOT DIVIDE -->
+ <!ENTITY npar  "&#x2226;"> <!-- NOT PARALLEL TO -->
+ <!ENTITY npr   "&#x2280;"> <!-- DOES NOT PRECEDE -->
+ <!ENTITY npre  "&#x22E0;"> <!-- DOES NOT PRECEDE OR EQUAL -->
+ <!ENTITY nrtri "&#x22EB;"> <!-- DOES NOT CONTAIN AS NORMAL SUBGROUP -->
+ <!ENTITY nrtrie        "&#x22ED;"> <!-- DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL -->
+ <!ENTITY nsc   "&#x2281;"> <!-- DOES NOT SUCCEED -->
+ <!ENTITY nsce  "&#x22E1;"> <!-- DOES NOT SUCCEED OR EQUAL -->
+ <!ENTITY nsim  "&#x2241;"> <!--  -->
+ <!ENTITY nsime "&#x2244;"> <!--  -->
+ <!ENTITY nsmid "&#xE2AA;"> <!--  -->
+ <!ENTITY nspar "&#x2226;"> <!-- NOT PARALLEL TO -->
+ <!ENTITY nsub  "&#x2284;"> <!-- NOT A SUBSET OF -->
+ <!ENTITY nsube "&#x2288;"> <!--  -->
+ <!ENTITY nsubE "&#x2288;"> <!--  -->
+ <!ENTITY nsup  "&#x2285;"> <!-- NOT A SUPERSET OF -->
+ <!ENTITY nsupE "&#x2289;"> <!--  -->
+ <!ENTITY nsupe "&#x2289;"> <!--  -->
+ <!ENTITY nvdash        "&#x22AC;"> <!-- DOES NOT PROVE -->
+ <!ENTITY nvDash        "&#x22AD;"> <!-- NOT TRUE -->
+ <!ENTITY nVDash        "&#x22AF;"> <!-- NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE -->
+ <!ENTITY nVdash        "&#x22AE;"> <!-- DOES NOT FORCE -->
+ <!ENTITY prnap "&#x22E8;"> <!--  -->
+ <!ENTITY prnE  "&#xE2B3;"> <!--  -->
+ <!ENTITY prnsim        "&#x22E8;"> <!--  -->
+ <!ENTITY scnap "&#x22E9;"> <!--  -->
+ <!ENTITY scnE  "&#xE2B5;"> <!--  -->
+ <!ENTITY scnsim        "&#x22E9;"> <!--  -->
+ <!ENTITY subne "&#x228A;"> <!--  -->
+ <!ENTITY subnE "&#x228A;"> <!-- SUBSET OF WITH NOT EQUAL TO -->
+ <!ENTITY supne "&#x228B;"> <!--  -->
+ <!ENTITY supnE "&#x228B;"> <!--  -->
+ <!ENTITY vsubnE        "&#xE2B8;"> <!--  -->
+ <!ENTITY vsubne        "&#x228A;"> <!-- SUBSET OF WITH NOT EQUAL TO -->
+ <!ENTITY vsupne        "&#x228B;"> <!-- SUPERSET OF WITH NOT EQUAL TO -->
+ <!ENTITY vsupnE        "&#x228B;"> <!-- SUPERSET OF WITH NOT EQUAL TO -->
+ <!-- iso-amso.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+ 
+ <!-- Derived from the corresponding ISO 8879 standard entity set
+      and the Unicode character mappings provided by Sebastian Rahtz
+      With additional derivations from
+      ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+ 
+ <!ENTITY ang   "&#x2220;"> <!-- ANGLE -->
+ <!ENTITY angmsd        "&#x2221;"> <!-- MEASURED ANGLE -->
+ <!ENTITY beth  "&#x2136;"> <!-- BET SYMBOL -->
+ <!ENTITY bprime        "&#x2035;"> <!-- REVERSED PRIME -->
+ <!ENTITY comp  "&#x2201;"> <!-- COMPLEMENT -->
+ <!ENTITY daleth        "&#x2138;"> <!-- DALET SYMBOL -->
+ <!ENTITY ell   "&#x2113;"> <!-- SCRIPT SMALL L -->
+ <!ENTITY empty "&#x2205;"> <!--  -->
+ <!ENTITY gimel "&#x2137;"> <!-- GIMEL SYMBOL -->
+ <!ENTITY image "&#x2111;"> <!-- BLACK-LETTER CAPITAL I -->
+ <!ENTITY inodot        "&#x0131;"> <!-- LATIN SMALL LETTER DOTLESS I -->
+ <!--     jnodot        Unknown unicode character -->
+ <!ENTITY nexist        "&#x2204;"> <!-- THERE DOES NOT EXIST -->
+ <!ENTITY oS    "&#x24C8;"> <!-- CIRCLED LATIN CAPITAL LETTER S -->
+ <!ENTITY planck        "&#x210F;"> <!-- PLANCK CONSTANT OVER TWO PI -->
+ <!ENTITY real  "&#x211C;"> <!-- BLACK-LETTER CAPITAL R -->
+ <!ENTITY sbsol "&#xFE68;"> <!-- SMALL REVERSE SOLIDUS -->
+ <!ENTITY vprime        "&#x2032;"> <!-- PRIME -->
+ <!ENTITY weierp        "&#x2118;"> <!-- SCRIPT CAPITAL P -->
+ <!-- iso-amsr.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+ 
+ <!-- Derived from the corresponding ISO 8879 standard entity set
+      and the Unicode character mappings provided by Sebastian Rahtz.
+      With additional derivations from
+      ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+ 
+ <!ENTITY ape   "&#x224A;"> <!--  -->
+ <!ENTITY asymp "&#x224D;"> <!-- EQUIVALENT TO -->
+ <!ENTITY bcong "&#x224C;"> <!-- ALL EQUAL TO -->
+ <!ENTITY bepsi "&#x220D;"> <!-- SMALL CONTAINS AS MEMBER -->
+ <!ENTITY bowtie        "&#x22C8;"> <!--  -->
+ <!ENTITY bsim  "&#x223D;"> <!--  -->
+ <!ENTITY bsime "&#x22CD;"> <!--  -->
+ <!ENTITY bump  "&#x224E;"> <!--  -->
+ <!ENTITY bumpe "&#x224F;"> <!--  -->
+ <!ENTITY cire  "&#x2257;"> <!--  -->
+ <!ENTITY colone        "&#x2254;"> <!--  -->
+ <!ENTITY cuepr "&#x22DE;"> <!--  -->
+ <!ENTITY cuesc "&#x22DF;"> <!--  -->
+ <!ENTITY cupre "&#x227C;"> <!--  -->
+ <!ENTITY dashv "&#x22A3;"> <!--  -->
+ <!ENTITY ecir  "&#x2256;"> <!--  -->
+ <!ENTITY ecolon        "&#x2255;"> <!--  -->
+ <!ENTITY eDot  "&#x2251;"> <!--  -->
+ <!ENTITY esdot "&#x2250;"> <!--  -->
+ <!ENTITY efDot "&#x2252;"> <!--  -->
+ <!ENTITY egs   "&#x22DD;"> <!--  -->
+ <!ENTITY els   "&#x22DC;"> <!--  -->
+ <!ENTITY erDot "&#x2253;"> <!--  -->
+ <!ENTITY fork  "&#x22D4;"> <!--  -->
+ <!ENTITY frown "&#x2322;"> <!--  -->
+ <!ENTITY gap   "&#x2273;"> <!-- GREATER-THAN OR EQUIVALENT TO -->
+ <!ENTITY gsdot "&#x22D7;"> <!--  -->
+ <!ENTITY gE    "&#x2267;"> <!--  -->
+ <!ENTITY gel   "&#x22DB;"> <!--  -->
+ <!ENTITY gEl   "&#x22DB;"> <!--  -->
+ <!ENTITY ges   "&#x2265;"> <!-- GREATER-THAN OR EQUAL TO -->
+ <!ENTITY Gg    "&#x22D9;"> <!-- VERY MUCH GREATER-THAN -->
+ <!ENTITY gl    "&#x2277;"> <!--  -->
+ <!ENTITY gsim  "&#x2273;"> <!-- GREATER-THAN OR EQUIVALENT TO -->
+ <!ENTITY Gt    "&#x226B;"> <!-- MUCH GREATER-THAN -->
+ <!ENTITY lap   "&#x2272;"> <!-- LESS-THAN OR EQUIVALENT TO -->
+ <!ENTITY ldot  "&#x22D6;"> <!--  -->
+ <!ENTITY lE    "&#x2266;"> <!--  -->
+ <!ENTITY lEg   "&#x22DA;"> <!--  -->
+ <!ENTITY leg   "&#x22DA;"> <!--  -->
+ <!ENTITY les   "&#x2264;"> <!-- LESS-THAN OR EQUAL TO -->
+ <!ENTITY lg    "&#x2276;"> <!-- LESS-THAN OR GREATER-THAN -->
+ <!ENTITY Ll    "&#x22D8;"> <!--  -->
+ <!ENTITY lsim  "&#x2272;"> <!-- LESS-THAN OR EQUIVALENT TO -->
+ <!ENTITY Lt    "&#x226A;"> <!-- MUCH LESS-THAN -->
+ <!ENTITY ltrie "&#x22B4;"> <!--  -->
+ <!ENTITY mid   "&#x2223;"> <!--  -->
+ <!ENTITY models        "&#x22A7;"> <!-- MODELS -->
+ <!ENTITY pr    "&#x227A;"> <!--  -->
+ <!ENTITY prap  "&#x227E;"> <!--  -->
+ <!ENTITY pre   "&#x227C;"> <!--  -->
+ <!ENTITY prsim "&#x227E;"> <!--  -->
+ <!ENTITY rtrie "&#x22B5;"> <!--  -->
+ <!ENTITY samalg        "&#x2210;"> <!--  -->
+ <!ENTITY sc    "&#x227B;"> <!--  -->
+ <!ENTITY scap  "&#x227F;"> <!--  -->
+ <!ENTITY sccue "&#x227D;"> <!--  -->
+ <!ENTITY sce   "&#x227D;"> <!--  -->
+ <!ENTITY scsim "&#x227F;"> <!--  -->
+ <!ENTITY sfrown        "&#x2322;"> <!-- FROWN -->
+ <!ENTITY smid  "&#xE301;"> <!--  -->
+ <!ENTITY smile "&#x2323;"> <!--  -->
+ <!ENTITY spar  "&#x2225;"> <!-- PARALLEL TO -->
+ <!ENTITY sqsub "&#x228F;"> <!--  -->
+ <!ENTITY sqsube        "&#x2291;"> <!--  -->
+ <!ENTITY sqsup "&#x2290;"> <!--  -->
+ <!ENTITY sqsupe        "&#x2292;"> <!--  -->
+ <!ENTITY ssmile        "&#x2323;"> <!-- SMILE -->
+ <!ENTITY Sub   "&#x22D0;"> <!--  -->
+ <!ENTITY subE  "&#x2286;"> <!--  -->
+ <!ENTITY Sup   "&#x22D1;"> <!--  -->
+ <!ENTITY supE  "&#x2287;"> <!--  -->
+ <!ENTITY thkap "&#x2248;"> <!-- ALMOST EQUAL TO -->
+ <!ENTITY thksim        "&#x223C;"> <!-- TILDE OPERATOR -->
+ <!ENTITY trie  "&#x225C;"> <!--  -->
+ <!ENTITY twixt "&#x226C;"> <!-- BETWEEN -->
+ <!ENTITY vdash "&#x22A2;"> <!--  -->
+ <!ENTITY Vdash "&#x22A9;"> <!--  -->
+ <!ENTITY vDash "&#x22A8;"> <!--  -->
+ <!ENTITY veebar        "&#x22BB;"> <!--  -->
+ <!ENTITY vltri "&#x22B2;"> <!--  -->
+ <!ENTITY vprop "&#x221D;"> <!--  -->
+ <!ENTITY vrtri "&#x22B3;"> <!--  -->
+ <!ENTITY Vvdash        "&#x22AA;"> <!--  -->
+ <!-- iso-box.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+ 
+ <!-- Derived from the corresponding ISO 8879 standard entity set
+      and the Unicode character mappings provided by Sebastian Rahtz -->
+ 
+ <!ENTITY boxh  "&#x2500;"> <!-- BOX DRAWINGS LIGHT HORIZONTAL -->
+ <!ENTITY boxv  "&#x2502;"> <!-- BOX DRAWINGS LIGHT VERTICAL -->
+ <!ENTITY boxur "&#x2514;"> <!-- BOX DRAWINGS LIGHT UP AND RIGHT -->
+ <!ENTITY boxul "&#x2518;"> <!-- BOX DRAWINGS LIGHT UP AND LEFT -->
+ <!ENTITY boxdl "&#x2510;"> <!-- BOX DRAWINGS LIGHT DOWN AND LEFT -->
+ <!ENTITY boxdr "&#x250C;"> <!-- BOX DRAWINGS LIGHT DOWN AND RIGHT -->
+ <!ENTITY boxvr "&#x251C;"> <!-- BOX DRAWINGS LIGHT VERTICAL AND RIGHT -->
+ <!ENTITY boxhu "&#x2534;"> <!-- BOX DRAWINGS LIGHT UP AND HORIZONTAL -->
+ <!ENTITY boxvl "&#x2524;"> <!-- BOX DRAWINGS LIGHT VERTICAL AND LEFT -->
+ <!ENTITY boxhd "&#x252C;"> <!-- BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -->
+ <!ENTITY boxvh "&#x253C;"> <!-- BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -->
+ <!ENTITY boxvR "&#x255E;"> <!-- BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE -->
+ <!ENTITY boxhU "&#x2567;"> <!-- BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE -->
+ <!ENTITY boxvL "&#x2561;"> <!-- BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE -->
+ <!ENTITY boxhD "&#x2564;"> <!-- BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE -->
+ <!ENTITY boxvH "&#x256A;"> <!-- BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE -->
+ <!ENTITY boxH  "&#x2550;"> <!-- BOX DRAWINGS DOUBLE HORIZONTAL -->
+ <!ENTITY boxV  "&#x2551;"> <!-- BOX DRAWINGS DOUBLE VERTICAL -->
+ <!ENTITY boxUR "&#x2558;"> <!-- BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE -->
+ <!ENTITY boxUL "&#x255B;"> <!-- BOX DRAWINGS UP SINGLE AND LEFT DOUBLE -->
+ <!ENTITY boxDL "&#x2555;"> <!-- BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE -->
+ <!ENTITY boxDR "&#x2552;"> <!-- BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE -->
+ <!ENTITY boxVR "&#x255F;"> <!-- BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE -->
+ <!ENTITY boxHU "&#x2568;"> <!-- BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE -->
+ <!ENTITY boxVL "&#x2562;"> <!-- BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE -->
+ <!ENTITY boxHD "&#x2565;"> <!-- BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE -->
+ <!ENTITY boxVH "&#x256B;"> <!-- BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE -->
+ <!ENTITY boxVr "&#x2560;"> <!-- BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -->
+ <!ENTITY boxHu "&#x2569;"> <!-- BOX DRAWINGS DOUBLE UP AND HORIZONTAL -->
+ <!ENTITY boxVl "&#x2563;"> <!-- BOX DRAWINGS DOUBLE VERTICAL AND LEFT -->
+ <!ENTITY boxHd "&#x2566;"> <!-- BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -->
+ <!ENTITY boxVh "&#x256C;"> <!-- BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -->
+ <!ENTITY boxuR "&#x2559;"> <!-- BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE -->
+ <!ENTITY boxUl "&#x255C;"> <!-- BOX DRAWINGS UP DOUBLE AND LEFT SINGLE -->
+ <!ENTITY boxdL "&#x2556;"> <!-- BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE -->
+ <!ENTITY boxDr "&#x2553;"> <!-- BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE -->
+ <!ENTITY boxUr "&#x255A;"> <!-- BOX DRAWINGS DOUBLE UP AND RIGHT -->
+ <!ENTITY boxuL "&#x255D;"> <!-- BOX DRAWINGS DOUBLE UP AND LEFT -->
+ <!ENTITY boxDl "&#x2557;"> <!-- BOX DRAWINGS DOUBLE DOWN AND LEFT -->
+ <!ENTITY boxdR "&#x2554;"> <!-- BOX DRAWINGS DOUBLE DOWN AND RIGHT -->
+ <!-- iso-cyr1.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+ 
+ <!-- Derived from the corresponding ISO 8879 standard entity set
+      and the Unicode character mappings provided by Sebastian Rahtz -->
+ 
+ <!ENTITY acy   "&#x0430;"> <!-- CYRILLIC SMALL LETTER A -->
+ <!ENTITY Acy   "&#x0410;"> <!-- CYRILLIC CAPITAL LETTER A -->
+ <!ENTITY bcy   "&#x0431;"> <!-- CYRILLIC SMALL LETTER BE -->
+ <!ENTITY Bcy   "&#x0411;"> <!-- CYRILLIC CAPITAL LETTER BE -->
+ <!ENTITY vcy   "&#x0432;"> <!-- CYRILLIC SMALL LETTER VE -->
+ <!ENTITY Vcy   "&#x0412;"> <!-- CYRILLIC CAPITAL LETTER VE -->
+ <!ENTITY gcy   "&#x0433;"> <!-- CYRILLIC SMALL LETTER GHE -->
+ <!ENTITY Gcy   "&#x0413;"> <!-- CYRILLIC CAPITAL LETTER GHE -->
+ <!ENTITY dcy   "&#x0434;"> <!-- CYRILLIC SMALL LETTER DE -->
+ <!ENTITY Dcy   "&#x0414;"> <!-- CYRILLIC CAPITAL LETTER DE -->
+ <!ENTITY iecy  "&#x0435;"> <!-- CYRILLIC SMALL LETTER IE -->
+ <!ENTITY IEcy  "&#x0415;"> <!-- CYRILLIC CAPITAL LETTER IE -->
+ <!ENTITY iocy  "&#x0451;"> <!-- CYRILLIC SMALL LETTER IO -->
+ <!ENTITY IOcy  "&#x0401;"> <!-- CYRILLIC CAPITAL LETTER IO -->
+ <!ENTITY zhcy  "&#x0436;"> <!-- CYRILLIC SMALL LETTER ZHE -->
+ <!ENTITY ZHcy  "&#x0416;"> <!-- CYRILLIC CAPITAL LETTER ZHE -->
+ <!ENTITY zcy   "&#x0437;"> <!-- CYRILLIC SMALL LETTER ZE -->
+ <!ENTITY Zcy   "&#x0417;"> <!-- CYRILLIC CAPITAL LETTER ZE -->
+ <!ENTITY icy   "&#x0438;"> <!-- CYRILLIC SMALL LETTER I -->
+ <!ENTITY Icy   "&#x0418;"> <!-- CYRILLIC CAPITAL LETTER I -->
+ <!ENTITY jcy   "&#x0439;"> <!-- CYRILLIC SMALL LETTER SHORT I -->
+ <!ENTITY Jcy   "&#x0419;"> <!-- CYRILLIC CAPITAL LETTER SHORT I -->
+ <!ENTITY kcy   "&#x043A;"> <!-- CYRILLIC SMALL LETTER KA -->
+ <!ENTITY Kcy   "&#x041A;"> <!-- CYRILLIC CAPITAL LETTER KA -->
+ <!ENTITY lcy   "&#x043B;"> <!-- CYRILLIC SMALL LETTER EL -->
+ <!ENTITY Lcy   "&#x041B;"> <!-- CYRILLIC CAPITAL LETTER EL -->
+ <!ENTITY mcy   "&#x043C;"> <!-- CYRILLIC SMALL LETTER EM -->
+ <!ENTITY Mcy   "&#x041C;"> <!-- CYRILLIC CAPITAL LETTER EM -->
+ <!ENTITY ncy   "&#x043D;"> <!-- CYRILLIC SMALL LETTER EN -->
+ <!ENTITY Ncy   "&#x041D;"> <!-- CYRILLIC CAPITAL LETTER EN -->
+ <!ENTITY ocy   "&#x043E;"> <!-- CYRILLIC SMALL LETTER O -->
+ <!ENTITY Ocy   "&#x041E;"> <!-- CYRILLIC CAPITAL LETTER O -->
+ <!ENTITY pcy   "&#x043F;"> <!-- CYRILLIC SMALL LETTER PE -->
+ <!ENTITY Pcy   "&#x041F;"> <!-- CYRILLIC CAPITAL LETTER PE -->
+ <!ENTITY rcy   "&#x0440;"> <!-- CYRILLIC SMALL LETTER ER -->
+ <!ENTITY Rcy   "&#x0420;"> <!-- CYRILLIC CAPITAL LETTER ER -->
+ <!ENTITY scy   "&#x0441;"> <!-- CYRILLIC SMALL LETTER ES -->
+ <!ENTITY Scy   "&#x0421;"> <!-- CYRILLIC CAPITAL LETTER ES -->
+ <!ENTITY tcy   "&#x0442;"> <!-- CYRILLIC SMALL LETTER TE -->
+ <!ENTITY Tcy   "&#x0422;"> <!-- CYRILLIC CAPITAL LETTER TE -->
+ <!ENTITY ucy   "&#x0443;"> <!-- CYRILLIC SMALL LETTER U -->
+ <!ENTITY Ucy   "&#x0423;"> <!-- CYRILLIC CAPITAL LETTER U -->
+ <!ENTITY fcy   "&#x0444;"> <!-- CYRILLIC SMALL LETTER EF -->
+ <!ENTITY Fcy   "&#x0424;"> <!-- CYRILLIC CAPITAL LETTER EF -->
+ <!ENTITY khcy  "&#x0445;"> <!-- CYRILLIC SMALL LETTER HA -->
+ <!ENTITY KHcy  "&#x0425;"> <!-- CYRILLIC CAPITAL LETTER HA -->
+ <!ENTITY tscy  "&#x0446;"> <!-- CYRILLIC SMALL LETTER TSE -->
+ <!ENTITY TScy  "&#x0426;"> <!-- CYRILLIC CAPITAL LETTER TSE -->
+ <!ENTITY chcy  "&#x0447;"> <!-- CYRILLIC SMALL LETTER CHE -->
+ <!ENTITY CHcy  "&#x0427;"> <!-- CYRILLIC CAPITAL LETTER CHE -->
+ <!ENTITY shcy  "&#x0448;"> <!-- CYRILLIC SMALL LETTER SHA -->
+ <!ENTITY SHcy  "&#x0428;"> <!-- CYRILLIC CAPITAL LETTER SHA -->
+ <!ENTITY shchcy        "&#x0449;"> <!-- CYRILLIC SMALL LETTER SHCHA -->
+ <!ENTITY SHCHcy        "&#x0429;"> <!-- CYRILLIC CAPITAL LETTER SHCHA -->
+ <!ENTITY hardcy        "&#x044A;"> <!-- CYRILLIC SMALL LETTER HARD SIGN -->
+ <!ENTITY HARDcy        "&#x042A;"> <!-- CYRILLIC CAPITAL LETTER HARD SIGN -->
+ <!ENTITY ycy   "&#x044B;"> <!-- CYRILLIC SMALL LETTER YERU -->
+ <!ENTITY Ycy   "&#x042B;"> <!-- CYRILLIC CAPITAL LETTER YERU -->
+ <!ENTITY softcy        "&#x044C;"> <!-- CYRILLIC SMALL LETTER SOFT SIGN -->
+ <!ENTITY SOFTcy        "&#x042C;"> <!-- CYRILLIC CAPITAL LETTER SOFT SIGN -->
+ <!ENTITY ecy   "&#x044D;"> <!-- CYRILLIC SMALL LETTER E -->
+ <!ENTITY Ecy   "&#x042D;"> <!-- CYRILLIC CAPITAL LETTER E -->
+ <!ENTITY yucy  "&#x044E;"> <!-- CYRILLIC SMALL LETTER YU -->
+ <!ENTITY YUcy  "&#x042E;"> <!-- CYRILLIC CAPITAL LETTER YU -->
+ <!ENTITY yacy  "&#x044F;"> <!-- CYRILLIC SMALL LETTER YA -->
+ <!ENTITY YAcy  "&#x042F;"> <!-- CYRILLIC CAPITAL LETTER YA -->
+ <!ENTITY numero        "&#x2116;"> <!-- NUMERO SIGN -->
+ <!-- iso-cyr2.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+ 
+ <!-- Derived from the corresponding ISO 8879 standard entity set
+      and the Unicode character mappings provided by Sebastian Rahtz -->
+ 
+ <!ENTITY djcy  "&#x0452;"> <!-- CYRILLIC SMALL LETTER DJE -->
+ <!ENTITY DJcy  "&#x0402;"> <!-- CYRILLIC CAPITAL LETTER DJE -->
+ <!ENTITY gjcy  "&#x0453;"> <!-- CYRILLIC SMALL LETTER GJE -->
+ <!ENTITY GJcy  "&#x0403;"> <!-- CYRILLIC CAPITAL LETTER GJE -->
+ <!ENTITY jukcy "&#x0454;"> <!-- CYRILLIC SMALL LETTER UKRAINIAN IE -->
+ <!ENTITY Jukcy "&#x0404;"> <!-- CYRILLIC CAPITAL LETTER UKRAINIAN IE -->
+ <!ENTITY dscy  "&#x0455;"> <!-- CYRILLIC SMALL LETTER DZE -->
+ <!ENTITY DScy  "&#x0405;"> <!-- CYRILLIC CAPITAL LETTER DZE -->
+ <!ENTITY iukcy "&#x0456;"> <!-- CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -->
+ <!ENTITY Iukcy "&#x0406;"> <!-- CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I -->
+ <!ENTITY yicy  "&#x0457;"> <!-- CYRILLIC SMALL LETTER YI -->
+ <!ENTITY YIcy  "&#x0407;"> <!-- CYRILLIC CAPITAL LETTER YI -->
+ <!ENTITY jsercy        "&#x0458;"> <!-- CYRILLIC SMALL LETTER JE -->
+ <!ENTITY Jsercy        "&#x0408;"> <!-- CYRILLIC CAPITAL LETTER JE -->
+ <!ENTITY ljcy  "&#x0459;"> <!-- CYRILLIC SMALL LETTER LJE -->
+ <!ENTITY LJcy  "&#x0409;"> <!-- CYRILLIC CAPITAL LETTER LJE -->
+ <!ENTITY njcy  "&#x045A;"> <!-- CYRILLIC SMALL LETTER NJE -->
+ <!ENTITY NJcy  "&#x040A;"> <!-- CYRILLIC CAPITAL LETTER NJE -->
+ <!ENTITY tshcy "&#x045B;"> <!-- CYRILLIC SMALL LETTER TSHE -->
+ <!ENTITY TSHcy "&#x040B;"> <!-- CYRILLIC CAPITAL LETTER TSHE -->
+ <!ENTITY kjcy  "&#x045C;"> <!-- CYRILLIC SMALL LETTER KJE -->
+ <!ENTITY KJcy  "&#x040C;"> <!-- CYRILLIC CAPITAL LETTER KJE -->
+ <!ENTITY ubrcy "&#x045E;"> <!-- CYRILLIC SMALL LETTER SHORT U -->
+ <!ENTITY Ubrcy "&#x040E;"> <!-- CYRILLIC CAPITAL LETTER SHORT U -->
+ <!ENTITY dzcy  "&#x045F;"> <!-- CYRILLIC SMALL LETTER DZHE -->
+ <!ENTITY DZcy  "&#x040F;"> <!-- CYRILLIC CAPITAL LETTER DZHE -->
+ <!-- iso-dia.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+ 
+ <!-- Derived from the corresponding ISO 8879 standard entity set
+      and the Unicode character mappings provided by Sebastian Rahtz -->
+ 
+ <!ENTITY acute "&#x00B4;"> <!-- ACUTE ACCENT -->
+ <!ENTITY breve "&#x02D8;"> <!-- BREVE -->
+ <!ENTITY caron "&#x02C7;"> <!-- CARON -->
+ <!ENTITY cedil "&#x00B8;"> <!-- CEDILLA -->
+ <!ENTITY circ  "&#x005E;"> <!-- RING OPERATOR -->
+ <!ENTITY dblac "&#x02DD;"> <!-- DOUBLE ACUTE ACCENT -->
+ <!ENTITY die   "&#x00A8;"> <!--  -->
+ <!ENTITY dot   "&#x02D9;"> <!-- DOT ABOVE -->
+ <!ENTITY grave "&#x0060;"> <!-- GRAVE ACCENT -->
+ <!ENTITY macr  "&#x00AF;"> <!-- MACRON -->
+ <!ENTITY ogon  "&#x02DB;"> <!-- OGONEK -->
+ <!ENTITY ring  "&#x02DA;"> <!-- RING ABOVE -->
+ <!ENTITY tilde "&#x02DC;"> <!-- TILDE -->
+ <!ENTITY uml   "&#x00A8;"> <!--  -->
+ <!-- iso-grk1.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+ 
+ <!-- Derived from the corresponding ISO 8879 standard entity set
+      and the Unicode character mappings provided by Sebastian Rahtz -->
+ 
+ <!ENTITY agr   "&#x03B1;"> <!--  -->
+ <!ENTITY Agr   "&#x0391;"> <!-- GREEK CAPITAL LETTER ALPHA -->
+ <!ENTITY bgr   "&#x03B2;"> <!-- GREEK SMALL LETTER BETA -->
+ <!ENTITY Bgr   "&#x0392;"> <!-- GREEK CAPITAL LETTER BETA -->
+ <!ENTITY ggr   "&#x03B3;"> <!-- GREEK SMALL LETTER GAMMA -->
+ <!ENTITY Ggr   "&#x0393;"> <!-- GREEK CAPITAL LETTER GAMMA -->
+ <!ENTITY dgr   "&#x03B4;"> <!-- GREEK SMALL LETTER DELTA -->
+ <!ENTITY Dgr   "&#x0394;"> <!-- GREEK CAPITAL LETTER DELTA -->
+ <!ENTITY egr   "&#x03B5;"> <!--  -->
+ <!ENTITY Egr   "&#x0395;"> <!-- GREEK CAPITAL LETTER EPSILON -->
+ <!ENTITY zgr   "&#x03B6;"> <!-- GREEK SMALL LETTER ZETA -->
+ <!ENTITY Zgr   "&#x0396;"> <!-- GREEK CAPITAL LETTER ZETA -->
+ <!ENTITY eegr  "&#x03B7;"> <!-- GREEK SMALL LETTER ETA -->
+ <!ENTITY EEgr  "&#x0397;"> <!-- GREEK CAPITAL LETTER ETA -->
+ <!ENTITY thgr  "&#x03B8;"> <!--  -->
+ <!ENTITY THgr  "&#x0398;"> <!-- GREEK CAPITAL LETTER THETA -->
+ <!ENTITY igr   "&#x03B9;"> <!-- GREEK SMALL LETTER IOTA -->
+ <!ENTITY Igr   "&#x0399;"> <!-- GREEK CAPITAL LETTER IOTA -->
+ <!ENTITY kgr   "&#x03BA;"> <!-- GREEK SMALL LETTER KAPPA -->
+ <!ENTITY Kgr   "&#x039A;"> <!-- GREEK CAPITAL LETTER KAPPA -->
+ <!ENTITY lgr   "&#x03BB;"> <!-- GREEK SMALL LETTER LAMDA -->
+ <!ENTITY Lgr   "&#x039B;"> <!-- GREEK CAPITAL LETTER LAMDA -->
+ <!ENTITY mgr   "&#x03BC;"> <!-- GREEK SMALL LETTER MU -->
+ <!ENTITY Mgr   "&#x039C;"> <!-- GREEK CAPITAL LETTER MU -->
+ <!ENTITY ngr   "&#x03BD;"> <!-- GREEK SMALL LETTER NU -->
+ <!ENTITY Ngr   "&#x039D;"> <!-- GREEK CAPITAL LETTER NU -->
+ <!ENTITY xgr   "&#x03BE;"> <!-- GREEK SMALL LETTER XI -->
+ <!ENTITY Xgr   "&#x039E;"> <!-- GREEK CAPITAL LETTER XI -->
+ <!ENTITY ogr   "&#x03BF;"> <!-- GREEK SMALL LETTER OMICRON -->
+ <!ENTITY Ogr   "&#x039F;"> <!-- GREEK CAPITAL LETTER OMICRON -->
+ <!ENTITY pgr   "&#x03C0;"> <!-- GREEK SMALL LETTER PI -->
+ <!ENTITY Pgr   "&#x03A0;"> <!-- GREEK CAPITAL LETTER PI -->
+ <!ENTITY rgr   "&#x03C1;"> <!-- GREEK SMALL LETTER RHO -->
+ <!ENTITY Rgr   "&#x03A1;"> <!-- GREEK CAPITAL LETTER RHO -->
+ <!ENTITY sgr   "&#x03C3;"> <!-- GREEK SMALL LETTER SIGMA -->
+ <!ENTITY Sgr   "&#x03A3;"> <!-- GREEK CAPITAL LETTER SIGMA -->
+ <!ENTITY sfgr  "&#x03C2;"> <!--  -->
+ <!ENTITY tgr   "&#x03C4;"> <!-- GREEK SMALL LETTER TAU -->
+ <!ENTITY Tgr   "&#x03A4;"> <!-- GREEK CAPITAL LETTER TAU -->
+ <!ENTITY ugr   "&#x03C5;"> <!-- GREEK SMALL LETTER UPSILON -->
+ <!ENTITY Ugr   "&#x03A5;"> <!--  -->
+ <!ENTITY phgr  "&#x03C6;"> <!-- GREEK SMALL LETTER PHI -->
+ <!ENTITY PHgr  "&#x03A6;"> <!-- GREEK CAPITAL LETTER PHI -->
+ <!ENTITY khgr  "&#x03C7;"> <!-- GREEK SMALL LETTER CHI -->
+ <!ENTITY KHgr  "&#x03A7;"> <!-- GREEK CAPITAL LETTER CHI -->
+ <!ENTITY psgr  "&#x03C8;"> <!-- GREEK SMALL LETTER PSI -->
+ <!ENTITY PSgr  "&#x03A8;"> <!-- GREEK CAPITAL LETTER PSI -->
+ <!ENTITY ohgr  "&#x03C9;"> <!-- GREEK SMALL LETTER OMEGA -->
+ <!ENTITY OHgr  "&#x03A9;"> <!-- GREEK CAPITAL LETTER OMEGA -->
+ <!-- iso-grk2.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+ 
+ <!-- Derived from the corresponding ISO 8879 standard entity set
+      and the Unicode character mappings provided by Sebastian Rahtz -->
+ 
+ <!ENTITY aacgr "&#x03AC;"> <!-- GREEK SMALL LETTER ALPHA WITH TONOS -->
+ <!ENTITY Aacgr "&#x0386;"> <!-- GREEK CAPITAL LETTER ALPHA WITH TONOS -->
+ <!ENTITY eacgr "&#x03AD;"> <!-- GREEK SMALL LETTER EPSILON WITH TONOS -->
+ <!ENTITY Eacgr "&#x0388;"> <!-- GREEK CAPITAL LETTER EPSILON WITH TONOS -->
+ <!ENTITY eeacgr        "&#x03AE;"> <!-- GREEK SMALL LETTER ETA WITH TONOS -->
+ <!ENTITY EEacgr        "&#x0389;"> <!-- GREEK CAPITAL LETTER ETA WITH TONOS -->
+ <!ENTITY idigr "&#x03CA;"> <!-- GREEK SMALL LETTER IOTA WITH DIALYTIKA -->
+ <!ENTITY Idigr "&#x03AA;"> <!-- GREEK CAPITAL LETTER IOTA WITH DIALYTIKA -->
+ <!ENTITY iacgr "&#x03AF;"> <!-- GREEK SMALL LETTER IOTA WITH TONOS -->
+ <!ENTITY Iacgr "&#x038A;"> <!-- GREEK CAPITAL LETTER IOTA WITH TONOS -->
+ <!ENTITY idiagr        "&#x0390;"> <!-- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS -->
+ <!ENTITY oacgr "&#x03CC;"> <!-- GREEK SMALL LETTER OMICRON WITH TONOS -->
+ <!ENTITY Oacgr "&#x038C;"> <!-- GREEK CAPITAL LETTER OMICRON WITH TONOS -->
+ <!ENTITY udigr "&#x03CB;"> <!-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA -->
+ <!ENTITY Udigr "&#x03AB;"> <!-- GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA -->
+ <!ENTITY uacgr "&#x03CD;"> <!-- GREEK SMALL LETTER UPSILON WITH TONOS -->
+ <!ENTITY Uacgr "&#x038E;"> <!-- GREEK CAPITAL LETTER UPSILON WITH TONOS -->
+ <!ENTITY udiagr        "&#x03B0;"> <!-- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS -->
+ <!ENTITY ohacgr        "&#x03CE;"> <!-- GREEK SMALL LETTER OMEGA WITH TONOS -->
+ <!ENTITY OHacgr        "&#x038F;"> <!-- GREEK CAPITAL LETTER OMEGA WITH TONOS -->
+ <!-- iso-grk3.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+ 
+ <!-- Derived from the corresponding ISO 8879 standard entity set
+      and the Unicode character mappings provided by Sebastian Rahtz -->
+ 
+ <!ENTITY alpha "&#x03B1;"> <!--  -->
+ <!ENTITY beta  "&#x03B2;"> <!-- GREEK SMALL LETTER BETA -->
+ <!ENTITY gamma "&#x03B3;"> <!-- GREEK SMALL LETTER GAMMA -->
+ <!ENTITY Gamma "&#x0393;"> <!-- GREEK CAPITAL LETTER GAMMA -->
+ <!ENTITY gammad        "&#x03DC;"> <!-- GREEK LETTER DIGAMMA -->
+ <!ENTITY delta "&#x03B4;"> <!-- GREEK SMALL LETTER DELTA -->
+ <!ENTITY Delta "&#x0394;"> <!-- GREEK CAPITAL LETTER DELTA -->
+ <!ENTITY epsi  "&#x220A;"> <!--  -->
+ <!ENTITY epsiv "&#x03B5;"> <!--  -->
+ <!ENTITY epsis "&#x220A;"> <!--  -->
+ <!ENTITY zeta  "&#x03B6;"> <!-- GREEK SMALL LETTER ZETA -->
+ <!ENTITY eta   "&#x03B7;"> <!-- GREEK SMALL LETTER ETA -->
+ <!ENTITY thetas        "&#x03B8;"> <!--  -->
+ <!ENTITY Theta "&#x0398;"> <!-- GREEK CAPITAL LETTER THETA -->
+ <!ENTITY thetav        "&#x03D1;"> <!--  -->
+ <!ENTITY iota  "&#x03B9;"> <!-- GREEK SMALL LETTER IOTA -->
+ <!ENTITY kappa "&#x03BA;"> <!-- GREEK SMALL LETTER KAPPA -->
+ <!ENTITY kappav        "&#x03F0;"> <!-- GREEK KAPPA SYMBOL -->
+ <!ENTITY lambda        "&#x03BB;"> <!-- GREEK SMALL LETTER LAMDA -->
+ <!ENTITY Lambda        "&#x039B;"> <!-- GREEK CAPITAL LETTER LAMDA -->
+ <!ENTITY mu    "&#x03BC;"> <!-- GREEK SMALL LETTER MU -->
+ <!ENTITY nu    "&#x03BD;"> <!-- GREEK SMALL LETTER NU -->
+ <!ENTITY xi    "&#x03BE;"> <!-- GREEK SMALL LETTER XI -->
+ <!ENTITY Xi    "&#x039E;"> <!-- GREEK CAPITAL LETTER XI -->
+ <!ENTITY pi    "&#x03C0;"> <!-- GREEK SMALL LETTER PI -->
+ <!ENTITY piv   "&#x03D6;"> <!-- GREEK PI SYMBOL -->
+ <!ENTITY Pi    "&#x03A0;"> <!-- GREEK CAPITAL LETTER PI -->
+ <!ENTITY rho   "&#x03C1;"> <!-- GREEK SMALL LETTER RHO -->
+ <!ENTITY rhov  "&#x03F1;"> <!-- GREEK RHO SYMBOL -->
+ <!ENTITY sigma "&#x03C3;"> <!-- GREEK SMALL LETTER SIGMA -->
+ <!ENTITY Sigma "&#x03A3;"> <!-- GREEK CAPITAL LETTER SIGMA -->
+ <!ENTITY sigmav        "&#x03C2;"> <!--  -->
+ <!ENTITY tau   "&#x03C4;"> <!-- GREEK SMALL LETTER TAU -->
+ <!ENTITY upsi  "&#x03C5;"> <!-- GREEK SMALL LETTER UPSILON -->
+ <!ENTITY Upsi  "&#x03D2;"> <!--  -->
+ <!ENTITY phis  "&#x03C6;"> <!-- GREEK SMALL LETTER PHI -->
+ <!ENTITY Phi   "&#x03A6;"> <!-- GREEK CAPITAL LETTER PHI -->
+ <!ENTITY phiv  "&#x03D5;"> <!-- GREEK PHI SYMBOL -->
+ <!ENTITY chi   "&#x03C7;"> <!-- GREEK SMALL LETTER CHI -->
+ <!ENTITY psi   "&#x03C8;"> <!-- GREEK SMALL LETTER PSI -->
+ <!ENTITY Psi   "&#x03A8;"> <!-- GREEK CAPITAL LETTER PSI -->
+ <!ENTITY omega "&#x03C9;"> <!-- GREEK SMALL LETTER OMEGA -->
+ <!ENTITY Omega "&#x03A9;"> <!-- GREEK CAPITAL LETTER OMEGA -->
+ <!-- iso-grk4.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+ 
+ <!-- Derived from the corresponding ISO 8879 standard entity set
+      and the Unicode character mappings provided by Sebastian Rahtz -->
+ 
+ <!ENTITY b.alpha       "&#x03B1;"> <!--  -->
+ <!ENTITY b.beta        "&#x03B2;"> <!-- GREEK SMALL LETTER BETA -->
+ <!ENTITY b.gamma       "&#x03B3;"> <!-- GREEK SMALL LETTER GAMMA -->
+ <!ENTITY b.Gamma       "&#x0393;"> <!-- GREEK CAPITAL LETTER GAMMA -->
+ <!ENTITY b.gammad      "&#x03DC;"> <!-- GREEK LETTER DIGAMMA -->
+ <!ENTITY b.delta       "&#x03B4;"> <!-- GREEK SMALL LETTER DELTA -->
+ <!ENTITY b.Delta       "&#x0394;"> <!-- GREEK CAPITAL LETTER DELTA -->
+ <!ENTITY b.epsi        "&#x03B5;"> <!--  -->
+ <!ENTITY b.epsiv       "&#x03B5;"> <!--  -->
+ <!ENTITY b.epsis       "&#x03B5;"> <!--  -->
+ <!ENTITY b.zeta        "&#x03B6;"> <!-- GREEK SMALL LETTER ZETA -->
+ <!ENTITY b.eta "&#x03B7;"> <!-- GREEK SMALL LETTER ETA -->
+ <!ENTITY b.thetas      "&#x03B8;"> <!--  -->
+ <!ENTITY b.Theta       "&#x0398;"> <!-- GREEK CAPITAL LETTER THETA -->
+ <!ENTITY b.thetav      "&#x03D1;"> <!--  -->
+ <!ENTITY b.iota        "&#x03B9;"> <!-- GREEK SMALL LETTER IOTA -->
+ <!ENTITY b.kappa       "&#x03BA;"> <!-- GREEK SMALL LETTER KAPPA -->
+ <!ENTITY b.kappav      "&#x03F0;"> <!-- GREEK KAPPA SYMBOL -->
+ <!ENTITY b.lambda      "&#x03BB;"> <!-- GREEK SMALL LETTER LAMDA -->
+ <!ENTITY b.Lambda      "&#x039B;"> <!-- GREEK CAPITAL LETTER LAMDA -->
+ <!ENTITY b.mu  "&#x03BC;"> <!-- GREEK SMALL LETTER MU -->
+ <!ENTITY b.nu  "&#x03BD;"> <!-- GREEK SMALL LETTER NU -->
+ <!ENTITY b.xi  "&#x03BE;"> <!-- GREEK SMALL LETTER XI -->
+ <!ENTITY b.Xi  "&#x039E;"> <!-- GREEK CAPITAL LETTER XI -->
+ <!ENTITY b.pi  "&#x03C0;"> <!-- GREEK SMALL LETTER PI -->
+ <!ENTITY b.Pi  "&#x03A0;"> <!-- GREEK CAPITAL LETTER PI -->
+ <!ENTITY b.piv "&#x03D6;"> <!-- GREEK PI SYMBOL -->
+ <!ENTITY b.rho "&#x03C1;"> <!-- GREEK SMALL LETTER RHO -->
+ <!ENTITY b.rhov        "&#x03F1;"> <!-- GREEK RHO SYMBOL -->
+ <!ENTITY b.sigma       "&#x03C3;"> <!-- GREEK SMALL LETTER SIGMA -->
+ <!ENTITY b.Sigma       "&#x03A3;"> <!-- GREEK CAPITAL LETTER SIGMA -->
+ <!ENTITY b.sigmav      "&#x03C2;"> <!--  -->
+ <!ENTITY b.tau "&#x03C4;"> <!-- GREEK SMALL LETTER TAU -->
+ <!ENTITY b.upsi        "&#x03C5;"> <!-- GREEK SMALL LETTER UPSILON -->
+ <!ENTITY b.Upsi        "&#x03D2;"> <!--  -->
+ <!ENTITY b.phis        "&#x03C6;"> <!-- GREEK SMALL LETTER PHI -->
+ <!ENTITY b.Phi "&#x03A6;"> <!-- GREEK CAPITAL LETTER PHI -->
+ <!ENTITY b.phiv        "&#x03D5;"> <!-- GREEK PHI SYMBOL -->
+ <!ENTITY b.chi "&#x03C7;"> <!-- GREEK SMALL LETTER CHI -->
+ <!ENTITY b.psi "&#x03C8;"> <!-- GREEK SMALL LETTER PSI -->
+ <!ENTITY b.Psi "&#x03A8;"> <!-- GREEK CAPITAL LETTER PSI -->
+ <!ENTITY b.omega       "&#x03C9;"> <!-- GREEK SMALL LETTER OMEGA -->
+ <!ENTITY b.Omega       "&#x03A9;"> <!-- GREEK CAPITAL LETTER OMEGA -->
+ <!-- iso-lat1.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+ 
+ <!-- Derived from the corresponding ISO 8879 standard entity set
+      and the Unicode character mappings provided by Sebastian Rahtz -->
+ 
+ <!ENTITY aacute        "&#x00E1;"> <!-- LATIN SMALL LETTER A WITH ACUTE -->
+ <!ENTITY Aacute        "&#x00C1;"> <!-- LATIN CAPITAL LETTER A WITH ACUTE -->
+ <!ENTITY acirc "&#x00E2;"> <!-- LATIN SMALL LETTER A WITH CIRCUMFLEX -->
+ <!ENTITY Acirc "&#x00C2;"> <!-- LATIN CAPITAL LETTER A WITH CIRCUMFLEX -->
+ <!ENTITY agrave        "&#x00E0;"> <!-- LATIN SMALL LETTER A WITH GRAVE -->
+ <!ENTITY Agrave        "&#x00C0;"> <!-- LATIN CAPITAL LETTER A WITH GRAVE -->
+ <!ENTITY aring "&#x00E5;"> <!-- LATIN SMALL LETTER A WITH RING ABOVE -->
+ <!ENTITY Aring "&#x00C5;"> <!-- LATIN CAPITAL LETTER A WITH RING ABOVE -->
+ <!ENTITY atilde        "&#x00E3;"> <!-- LATIN SMALL LETTER A WITH TILDE -->
+ <!ENTITY Atilde        "&#x00C3;"> <!-- LATIN CAPITAL LETTER A WITH TILDE -->
+ <!ENTITY auml  "&#x00E4;"> <!-- LATIN SMALL LETTER A WITH DIAERESIS -->
+ <!ENTITY Auml  "&#x00C4;"> <!-- LATIN CAPITAL LETTER A WITH DIAERESIS -->
+ <!ENTITY aelig "&#x00E6;"> <!-- LATIN SMALL LETTER AE -->
+ <!ENTITY AElig "&#x00C6;"> <!-- LATIN CAPITAL LETTER AE -->
+ <!ENTITY ccedil        "&#x00E7;"> <!-- LATIN SMALL LETTER C WITH CEDILLA -->
+ <!ENTITY Ccedil        "&#x00C7;"> <!-- LATIN CAPITAL LETTER C WITH CEDILLA -->
+ <!ENTITY eth   "&#x00F0;"> <!-- LATIN SMALL LETTER ETH -->
+ <!ENTITY ETH   "&#x00D0;"> <!-- LATIN CAPITAL LETTER ETH -->
+ <!ENTITY eacute        "&#x00E9;"> <!-- LATIN SMALL LETTER E WITH ACUTE -->
+ <!ENTITY Eacute        "&#x00C9;"> <!-- LATIN CAPITAL LETTER E WITH ACUTE -->
+ <!ENTITY ecirc "&#x00EA;"> <!-- LATIN SMALL LETTER E WITH CIRCUMFLEX -->
+ <!ENTITY Ecirc "&#x00CA;"> <!-- LATIN CAPITAL LETTER E WITH CIRCUMFLEX -->
+ <!ENTITY egrave        "&#x00E8;"> <!-- LATIN SMALL LETTER E WITH GRAVE -->
+ <!ENTITY Egrave        "&#x00C8;"> <!-- LATIN CAPITAL LETTER E WITH GRAVE -->
+ <!ENTITY euml  "&#x00EB;"> <!-- LATIN SMALL LETTER E WITH DIAERESIS -->
+ <!ENTITY Euml  "&#x00CB;"> <!-- LATIN CAPITAL LETTER E WITH DIAERESIS -->
+ <!ENTITY iacute        "&#x00ED;"> <!-- LATIN SMALL LETTER I WITH ACUTE -->
+ <!ENTITY Iacute        "&#x00CD;"> <!-- LATIN CAPITAL LETTER I WITH ACUTE -->
+ <!ENTITY icirc "&#x00EE;"> <!-- LATIN SMALL LETTER I WITH CIRCUMFLEX -->
+ <!ENTITY Icirc "&#x00CE;"> <!-- LATIN CAPITAL LETTER I WITH CIRCUMFLEX -->
+ <!ENTITY igrave        "&#x00EC;"> <!-- LATIN SMALL LETTER I WITH GRAVE -->
+ <!ENTITY Igrave        "&#x00CC;"> <!-- LATIN CAPITAL LETTER I WITH GRAVE -->
+ <!ENTITY iuml  "&#x00EF;"> <!-- LATIN SMALL LETTER I WITH DIAERESIS -->
+ <!ENTITY Iuml  "&#x00CF;"> <!-- LATIN CAPITAL LETTER I WITH DIAERESIS -->
+ <!ENTITY ntilde        "&#x00F1;"> <!-- LATIN SMALL LETTER N WITH TILDE -->
+ <!ENTITY Ntilde        "&#x00D1;"> <!-- LATIN CAPITAL LETTER N WITH TILDE -->
+ <!ENTITY oacute        "&#x00F3;"> <!-- LATIN SMALL LETTER O WITH ACUTE -->
+ <!ENTITY Oacute        "&#x00D3;"> <!-- LATIN CAPITAL LETTER O WITH ACUTE -->
+ <!ENTITY ocirc "&#x00F4;"> <!-- LATIN SMALL LETTER O WITH CIRCUMFLEX -->
+ <!ENTITY Ocirc "&#x00D4;"> <!-- LATIN CAPITAL LETTER O WITH CIRCUMFLEX -->
+ <!ENTITY ograve        "&#x00F2;"> <!-- LATIN SMALL LETTER O WITH GRAVE -->
+ <!ENTITY Ograve        "&#x00D2;"> <!-- LATIN CAPITAL LETTER O WITH GRAVE -->
+ <!ENTITY oslash        "&#x00F8;"> <!-- CIRCLED DIVISION SLASH -->
+ <!ENTITY Oslash        "&#x00D8;"> <!-- LATIN CAPITAL LETTER O WITH STROKE -->
+ <!ENTITY otilde        "&#x00F5;"> <!-- LATIN SMALL LETTER O WITH TILDE -->
+ <!ENTITY Otilde        "&#x00D5;"> <!-- LATIN CAPITAL LETTER O WITH TILDE -->
+ <!ENTITY ouml  "&#x00F6;"> <!-- LATIN SMALL LETTER O WITH DIAERESIS -->
+ <!ENTITY Ouml  "&#x00D6;"> <!-- LATIN CAPITAL LETTER O WITH DIAERESIS -->
+ <!ENTITY szlig "&#x00DF;"> <!-- LATIN SMALL LETTER SHARP S -->
+ <!ENTITY thorn "&#x00FE;"> <!-- LATIN SMALL LETTER THORN -->
+ <!ENTITY THORN "&#x00DE;"> <!-- LATIN CAPITAL LETTER THORN -->
+ <!ENTITY uacute        "&#x00FA;"> <!-- LATIN SMALL LETTER U WITH ACUTE -->
+ <!ENTITY Uacute        "&#x00DA;"> <!-- LATIN CAPITAL LETTER U WITH ACUTE -->
+ <!ENTITY ucirc "&#x00FB;"> <!-- LATIN SMALL LETTER U WITH CIRCUMFLEX -->
+ <!ENTITY Ucirc "&#x00DB;"> <!-- LATIN CAPITAL LETTER U WITH CIRCUMFLEX -->
+ <!ENTITY ugrave        "&#x00F9;"> <!-- LATIN SMALL LETTER U WITH GRAVE -->
+ <!ENTITY Ugrave        "&#x00D9;"> <!-- LATIN CAPITAL LETTER U WITH GRAVE -->
+ <!ENTITY uuml  "&#x00FC;"> <!-- LATIN SMALL LETTER U WITH DIAERESIS -->
+ <!ENTITY Uuml  "&#x00DC;"> <!-- LATIN CAPITAL LETTER U WITH DIAERESIS -->
+ <!ENTITY yacute        "&#x00FD;"> <!-- LATIN SMALL LETTER Y WITH ACUTE -->
+ <!ENTITY Yacute        "&#x00DD;"> <!-- LATIN CAPITAL LETTER Y WITH ACUTE -->
+ <!ENTITY yuml  "&#x00FF;"> <!-- LATIN SMALL LETTER Y WITH DIAERESIS -->
+ <!-- iso-lat2.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+ 
+ <!-- Derived from the corresponding ISO 8879 standard entity set
+      and the Unicode character mappings provided by Sebastian Rahtz -->
+ 
+ <!ENTITY abreve        "&#x0103;"> <!-- LATIN SMALL LETTER A WITH BREVE -->
+ <!ENTITY Abreve        "&#x0102;"> <!-- LATIN CAPITAL LETTER A WITH BREVE -->
+ <!ENTITY amacr "&#x0101;"> <!-- LATIN SMALL LETTER A WITH MACRON -->
+ <!ENTITY Amacr "&#x0100;"> <!-- LATIN CAPITAL LETTER A WITH MACRON -->
+ <!ENTITY aogon "&#x0105;"> <!-- LATIN SMALL LETTER A WITH OGONEK -->
+ <!ENTITY Aogon "&#x0104;"> <!-- LATIN CAPITAL LETTER A WITH OGONEK -->
+ <!ENTITY cacute        "&#x0107;"> <!-- LATIN SMALL LETTER C WITH ACUTE -->
+ <!ENTITY Cacute        "&#x0106;"> <!-- LATIN CAPITAL LETTER C WITH ACUTE -->
+ <!ENTITY ccaron        "&#x010D;"> <!-- LATIN SMALL LETTER C WITH CARON -->
+ <!ENTITY Ccaron        "&#x010C;"> <!-- LATIN CAPITAL LETTER C WITH CARON -->
+ <!ENTITY ccirc "&#x0109;"> <!-- LATIN SMALL LETTER C WITH CIRCUMFLEX -->
+ <!ENTITY Ccirc "&#x0108;"> <!-- LATIN CAPITAL LETTER C WITH CIRCUMFLEX -->
+ <!ENTITY cdot  "&#x010B;"> <!-- DOT OPERATOR -->
+ <!ENTITY Cdot  "&#x010A;"> <!-- LATIN CAPITAL LETTER C WITH DOT ABOVE -->
+ <!ENTITY dcaron        "&#x010F;"> <!-- LATIN SMALL LETTER D WITH CARON -->
+ <!ENTITY Dcaron        "&#x010E;"> <!-- LATIN CAPITAL LETTER D WITH CARON -->
+ <!ENTITY dstrok        "&#x0111;"> <!-- LATIN SMALL LETTER D WITH STROKE -->
+ <!ENTITY Dstrok        "&#x0110;"> <!-- LATIN CAPITAL LETTER D WITH STROKE -->
+ <!ENTITY ecaron        "&#x011B;"> <!-- LATIN SMALL LETTER E WITH CARON -->
+ <!ENTITY Ecaron        "&#x011A;"> <!-- LATIN CAPITAL LETTER E WITH CARON -->
+ <!ENTITY edot  "&#x0117;"> <!-- LATIN SMALL LETTER E WITH DOT ABOVE -->
+ <!ENTITY Edot  "&#x0116;"> <!-- LATIN CAPITAL LETTER E WITH DOT ABOVE -->
+ <!ENTITY emacr "&#x0113;"> <!-- LATIN SMALL LETTER E WITH MACRON -->
+ <!ENTITY Emacr "&#x0112;"> <!-- LATIN CAPITAL LETTER E WITH MACRON -->
+ <!ENTITY eogon "&#x0119;"> <!-- LATIN SMALL LETTER E WITH OGONEK -->
+ <!ENTITY Eogon "&#x0118;"> <!-- LATIN CAPITAL LETTER E WITH OGONEK -->
+ <!ENTITY gacute        "&#x01F5;"> <!-- LATIN SMALL LETTER G WITH ACUTE -->
+ <!ENTITY gbreve        "&#x011F;"> <!-- LATIN SMALL LETTER G WITH BREVE -->
+ <!ENTITY Gbreve        "&#x011E;"> <!-- LATIN CAPITAL LETTER G WITH BREVE -->
+ <!ENTITY Gcedil        "&#x0122;"> <!-- LATIN CAPITAL LETTER G WITH CEDILLA -->
+ <!ENTITY gcirc "&#x011D;"> <!-- LATIN SMALL LETTER G WITH CIRCUMFLEX -->
+ <!ENTITY Gcirc "&#x011C;"> <!-- LATIN CAPITAL LETTER G WITH CIRCUMFLEX -->
+ <!ENTITY gdot  "&#x0121;"> <!-- LATIN SMALL LETTER G WITH DOT ABOVE -->
+ <!ENTITY Gdot  "&#x0120;"> <!-- LATIN CAPITAL LETTER G WITH DOT ABOVE -->
+ <!ENTITY hcirc "&#x0125;"> <!-- LATIN SMALL LETTER H WITH CIRCUMFLEX -->
+ <!ENTITY Hcirc "&#x0124;"> <!-- LATIN CAPITAL LETTER H WITH CIRCUMFLEX -->
+ <!ENTITY hstrok        "&#x0127;"> <!-- LATIN SMALL LETTER H WITH STROKE -->
+ <!ENTITY Hstrok        "&#x0126;"> <!-- LATIN CAPITAL LETTER H WITH STROKE -->
+ <!ENTITY Idot  "&#x0130;"> <!-- LATIN CAPITAL LETTER I WITH DOT ABOVE -->
+ <!ENTITY Imacr "&#x012A;"> <!-- LATIN CAPITAL LETTER I WITH MACRON -->
+ <!ENTITY imacr "&#x012B;"> <!-- LATIN SMALL LETTER I WITH MACRON -->
+ <!ENTITY ijlig "&#x0133;"> <!-- LATIN SMALL LIGATURE IJ -->
+ <!ENTITY IJlig "&#x0132;"> <!-- LATIN CAPITAL LIGATURE IJ -->
+ <!ENTITY inodot        "&#x0131;"> <!-- LATIN SMALL LETTER DOTLESS I -->
+ <!ENTITY iogon "&#x012F;"> <!-- LATIN SMALL LETTER I WITH OGONEK -->
+ <!ENTITY Iogon "&#x012E;"> <!-- LATIN CAPITAL LETTER I WITH OGONEK -->
+ <!ENTITY itilde        "&#x0129;"> <!-- LATIN SMALL LETTER I WITH TILDE -->
+ <!ENTITY Itilde        "&#x0128;"> <!-- LATIN CAPITAL LETTER I WITH TILDE -->
+ <!ENTITY jcirc "&#x0135;"> <!-- LATIN SMALL LETTER J WITH CIRCUMFLEX -->
+ <!ENTITY Jcirc "&#x0134;"> <!-- LATIN CAPITAL LETTER J WITH CIRCUMFLEX -->
+ <!ENTITY kcedil        "&#x0137;"> <!-- LATIN SMALL LETTER K WITH CEDILLA -->
+ <!ENTITY Kcedil        "&#x0136;"> <!-- LATIN CAPITAL LETTER K WITH CEDILLA -->
+ <!ENTITY kgreen        "&#x0138;"> <!-- LATIN SMALL LETTER KRA -->
+ <!ENTITY lacute        "&#x013A;"> <!-- LATIN SMALL LETTER L WITH ACUTE -->
+ <!ENTITY Lacute        "&#x0139;"> <!-- LATIN CAPITAL LETTER L WITH ACUTE -->
+ <!ENTITY lcaron        "&#x013E;"> <!-- LATIN SMALL LETTER L WITH CARON -->
+ <!ENTITY Lcaron        "&#x013D;"> <!-- LATIN CAPITAL LETTER L WITH CARON -->
+ <!ENTITY lcedil        "&#x013C;"> <!-- LATIN SMALL LETTER L WITH CEDILLA -->
+ <!ENTITY Lcedil        "&#x013B;"> <!-- LATIN CAPITAL LETTER L WITH CEDILLA -->
+ <!ENTITY lmidot        "&#x0140;"> <!-- LATIN SMALL LETTER L WITH MIDDLE DOT -->
+ <!ENTITY Lmidot        "&#x013F;"> <!-- LATIN CAPITAL LETTER L WITH MIDDLE DOT -->
+ <!ENTITY lstrok        "&#x0142;"> <!-- LATIN SMALL LETTER L WITH STROKE -->
+ <!ENTITY Lstrok        "&#x0141;"> <!-- LATIN CAPITAL LETTER L WITH STROKE -->
+ <!ENTITY nacute        "&#x0144;"> <!-- LATIN SMALL LETTER N WITH ACUTE -->
+ <!ENTITY Nacute        "&#x0143;"> <!-- LATIN CAPITAL LETTER N WITH ACUTE -->
+ <!ENTITY eng   "&#x014B;"> <!-- LATIN SMALL LETTER ENG -->
+ <!ENTITY ENG   "&#x014A;"> <!-- LATIN CAPITAL LETTER ENG -->
+ <!ENTITY napos "&#x0149;"> <!-- LATIN SMALL LETTER N PRECEDED BY APOSTROPHE -->
+ <!ENTITY ncaron        "&#x0148;"> <!-- LATIN SMALL LETTER N WITH CARON -->
+ <!ENTITY Ncaron        "&#x0147;"> <!-- LATIN CAPITAL LETTER N WITH CARON -->
+ <!ENTITY ncedil        "&#x0146;"> <!-- LATIN SMALL LETTER N WITH CEDILLA -->
+ <!ENTITY Ncedil        "&#x0145;"> <!-- LATIN CAPITAL LETTER N WITH CEDILLA -->
+ <!ENTITY odblac        "&#x0151;"> <!-- LATIN SMALL LETTER O WITH DOUBLE ACUTE -->
+ <!ENTITY Odblac        "&#x0150;"> <!-- LATIN CAPITAL LETTER O WITH DOUBLE ACUTE -->
+ <!ENTITY Omacr "&#x014C;"> <!-- LATIN CAPITAL LETTER O WITH MACRON -->
+ <!ENTITY omacr "&#x014D;"> <!-- LATIN SMALL LETTER O WITH MACRON -->
+ <!ENTITY oelig "&#x0153;"> <!-- LATIN SMALL LIGATURE OE -->
+ <!ENTITY OElig "&#x0152;"> <!-- LATIN CAPITAL LIGATURE OE -->
+ <!ENTITY racute        "&#x0155;"> <!-- LATIN SMALL LETTER R WITH ACUTE -->
+ <!ENTITY Racute        "&#x0154;"> <!-- LATIN CAPITAL LETTER R WITH ACUTE -->
+ <!ENTITY rcaron        "&#x0159;"> <!-- LATIN SMALL LETTER R WITH CARON -->
+ <!ENTITY Rcaron        "&#x0158;"> <!-- LATIN CAPITAL LETTER R WITH CARON -->
+ <!ENTITY rcedil        "&#x0157;"> <!-- LATIN SMALL LETTER R WITH CEDILLA -->
+ <!ENTITY Rcedil        "&#x0156;"> <!-- LATIN CAPITAL LETTER R WITH CEDILLA -->
+ <!ENTITY sacute        "&#x015B;"> <!-- LATIN SMALL LETTER S WITH ACUTE -->
+ <!ENTITY Sacute        "&#x015A;"> <!-- LATIN CAPITAL LETTER S WITH ACUTE -->
+ <!ENTITY scaron        "&#x0161;"> <!-- LATIN SMALL LETTER S WITH CARON -->
+ <!ENTITY Scaron        "&#x0160;"> <!-- LATIN CAPITAL LETTER S WITH CARON -->
+ <!ENTITY scedil        "&#x015F;"> <!-- LATIN SMALL LETTER S WITH CEDILLA -->
+ <!ENTITY Scedil        "&#x015E;"> <!-- LATIN CAPITAL LETTER S WITH CEDILLA -->
+ <!ENTITY scirc "&#x015D;"> <!-- LATIN SMALL LETTER S WITH CIRCUMFLEX -->
+ <!ENTITY Scirc "&#x015C;"> <!-- LATIN CAPITAL LETTER S WITH CIRCUMFLEX -->
+ <!ENTITY tcaron        "&#x0165;"> <!-- LATIN SMALL LETTER T WITH CARON -->
+ <!ENTITY Tcaron        "&#x0164;"> <!-- LATIN CAPITAL LETTER T WITH CARON -->
+ <!ENTITY tcedil        "&#x0163;"> <!-- LATIN SMALL LETTER T WITH CEDILLA -->
+ <!ENTITY Tcedil        "&#x0162;"> <!-- LATIN CAPITAL LETTER T WITH CEDILLA -->
+ <!ENTITY tstrok        "&#x0167;"> <!-- LATIN SMALL LETTER T WITH STROKE -->
+ <!ENTITY Tstrok        "&#x0166;"> <!-- LATIN CAPITAL LETTER T WITH STROKE -->
+ <!ENTITY ubreve        "&#x016D;"> <!-- LATIN SMALL LETTER U WITH BREVE -->
+ <!ENTITY Ubreve        "&#x016C;"> <!-- LATIN CAPITAL LETTER U WITH BREVE -->
+ <!ENTITY udblac        "&#x0171;"> <!-- LATIN SMALL LETTER U WITH DOUBLE ACUTE -->
+ <!ENTITY Udblac        "&#x0170;"> <!-- LATIN CAPITAL LETTER U WITH DOUBLE ACUTE -->
+ <!ENTITY umacr "&#x016B;"> <!-- LATIN SMALL LETTER U WITH MACRON -->
+ <!ENTITY Umacr "&#x016A;"> <!-- LATIN CAPITAL LETTER U WITH MACRON -->
+ <!ENTITY uogon "&#x0173;"> <!-- LATIN SMALL LETTER U WITH OGONEK -->
+ <!ENTITY Uogon "&#x0172;"> <!-- LATIN CAPITAL LETTER U WITH OGONEK -->
+ <!ENTITY uring "&#x016F;"> <!-- LATIN SMALL LETTER U WITH RING ABOVE -->
+ <!ENTITY Uring "&#x016E;"> <!-- LATIN CAPITAL LETTER U WITH RING ABOVE -->
+ <!ENTITY utilde        "&#x0169;"> <!-- LATIN SMALL LETTER U WITH TILDE -->
+ <!ENTITY Utilde        "&#x0168;"> <!-- LATIN CAPITAL LETTER U WITH TILDE -->
+ <!ENTITY wcirc "&#x0175;"> <!-- LATIN SMALL LETTER W WITH CIRCUMFLEX -->
+ <!ENTITY Wcirc "&#x0174;"> <!-- LATIN CAPITAL LETTER W WITH CIRCUMFLEX -->
+ <!ENTITY ycirc "&#x0177;"> <!-- LATIN SMALL LETTER Y WITH CIRCUMFLEX -->
+ <!ENTITY Ycirc "&#x0176;"> <!-- LATIN CAPITAL LETTER Y WITH CIRCUMFLEX -->
+ <!ENTITY Yuml  "&#x0178;"> <!-- LATIN CAPITAL LETTER Y WITH DIAERESIS -->
+ <!ENTITY zacute        "&#x017A;"> <!-- LATIN SMALL LETTER Z WITH ACUTE -->
+ <!ENTITY Zacute        "&#x0179;"> <!-- LATIN CAPITAL LETTER Z WITH ACUTE -->
+ <!ENTITY zcaron        "&#x017E;"> <!-- LATIN SMALL LETTER Z WITH CARON -->
+ <!ENTITY Zcaron        "&#x017D;"> <!-- LATIN CAPITAL LETTER Z WITH CARON -->
+ <!ENTITY zdot  "&#x017C;"> <!-- LATIN SMALL LETTER Z WITH DOT ABOVE -->
+ <!ENTITY Zdot  "&#x017B;"> <!-- LATIN CAPITAL LETTER Z WITH DOT ABOVE -->
+ <!-- iso-num.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+ 
+ <!-- Derived from the corresponding ISO 8879 standard entity set
+      and the Unicode character mappings provided by Sebastian Rahtz -->
+ 
+ <!ENTITY half  "&#x00BD;"> <!-- VULGAR FRACTION ONE HALF -->
+ <!ENTITY frac12        "&#x00BD;"> <!-- VULGAR FRACTION ONE HALF -->
+ <!ENTITY frac14        "&#x00BC;"> <!-- VULGAR FRACTION ONE QUARTER -->
+ <!ENTITY frac34        "&#x00BE;"> <!-- VULGAR FRACTION THREE QUARTERS -->
+ <!ENTITY frac18        "&#x215B;"> <!--  -->
+ <!ENTITY frac38        "&#x215C;"> <!--  -->
+ <!ENTITY frac58        "&#x215D;"> <!--  -->
+ <!ENTITY frac78        "&#x215E;"> <!--  -->
+ <!ENTITY sup1  "&#x00B9;"> <!-- SUPERSCRIPT ONE -->
+ <!ENTITY sup2  "&#x00B2;"> <!-- SUPERSCRIPT TWO -->
+ <!ENTITY sup3  "&#x00B3;"> <!-- SUPERSCRIPT THREE -->
+ <!ENTITY plus  "&#x002B;"> <!-- PLUS SIGN -->
+ <!ENTITY plusmn        "&#x00B1;"> <!-- PLUS-MINUS SIGN -->
+ <!ENTITY lt    "&#38;#60;"> <!-- LESS-THAN SIGN -->
+ <!ENTITY equals        "&#x003D;"> <!-- EQUALS SIGN -->
+ <!ENTITY gt    "&#x003E;"> <!-- GREATER-THAN SIGN -->
+ <!ENTITY divide        "&#x00F7;"> <!-- DIVISION SIGN -->
+ <!ENTITY times "&#x00D7;"> <!-- MULTIPLICATION SIGN -->
+ <!ENTITY curren        "&#x00A4;"> <!-- CURRENCY SIGN -->
+ <!ENTITY pound "&#x00A3;"> <!-- POUND SIGN -->
+ <!ENTITY dollar        "&#x0024;"> <!-- DOLLAR SIGN -->
+ <!ENTITY cent  "&#x00A2;"> <!-- CENT SIGN -->
+ <!ENTITY yen   "&#x00A5;"> <!-- YEN SIGN -->
+ <!ENTITY num   "&#x0023;"> <!-- NUMBER SIGN -->
+ <!ENTITY percnt        "&#x0025;"> <!-- PERCENT SIGN -->
+ <!ENTITY amp   "&#38;#38;"> <!-- AMPERSAND -->
+ <!ENTITY ast   "&#x002A;"> <!-- ASTERISK OPERATOR -->
+ <!ENTITY commat        "&#x0040;"> <!-- COMMERCIAL AT -->
+ <!ENTITY lsqb  "&#x005B;"> <!-- LEFT SQUARE BRACKET -->
+ <!ENTITY bsol  "&#x005C;"> <!-- REVERSE SOLIDUS -->
+ <!ENTITY rsqb  "&#x005D;"> <!-- RIGHT SQUARE BRACKET -->
+ <!ENTITY lcub  "&#x007B;"> <!-- LEFT CURLY BRACKET -->
+ <!ENTITY horbar        "&#x2015;"> <!-- HORIZONTAL BAR -->
+ <!ENTITY verbar        "&#x007C;"> <!-- VERTICAL LINE -->
+ <!ENTITY rcub  "&#x007D;"> <!-- RIGHT CURLY BRACKET -->
+ <!ENTITY micro "&#x00B5;"> <!-- MICRO SIGN -->
+ <!ENTITY ohm   "&#x2126;"> <!-- OHM SIGN -->
+ <!ENTITY deg   "&#x00B0;"> <!-- DEGREE SIGN -->
+ <!ENTITY ordm  "&#x00BA;"> <!-- MASCULINE ORDINAL INDICATOR -->
+ <!ENTITY ordf  "&#x00AA;"> <!-- FEMININE ORDINAL INDICATOR -->
+ <!ENTITY sect  "&#x00A7;"> <!-- SECTION SIGN -->
+ <!ENTITY para  "&#x00B6;"> <!-- PILCROW SIGN -->
+ <!ENTITY middot        "&#x00B7;"> <!-- MIDDLE DOT -->
+ <!ENTITY larr  "&#x2190;"> <!-- LEFTWARDS DOUBLE ARROW -->
+ <!ENTITY rarr  "&#x2192;"> <!-- RIGHTWARDS DOUBLE ARROW -->
+ <!ENTITY uarr  "&#x2191;"> <!-- UPWARDS ARROW -->
+ <!ENTITY darr  "&#x2193;"> <!-- DOWNWARDS ARROW -->
+ <!ENTITY copy  "&#x00A9;"> <!-- COPYRIGHT SIGN -->
+ <!ENTITY reg   "&#x00AE;"> <!-- REG TRADE MARK SIGN -->
+ <!ENTITY trade "&#x2122;"> <!-- TRADE MARK SIGN -->
+ <!ENTITY brvbar        "&#x00A6;"> <!-- BROKEN BAR -->
+ <!ENTITY not   "&#x00AC;"> <!-- NOT SIGN -->
+ <!ENTITY sung  "&#x2669;"> <!--  -->
+ <!ENTITY excl  "&#x0021;"> <!-- EXCLAMATION MARK -->
+ <!ENTITY iexcl "&#x00A1;"> <!-- INVERTED EXCLAMATION MARK -->
+ <!ENTITY quot  "&#x0022;"> <!-- QUOTATION MARK -->
+ <!ENTITY apos  "&#x0027;"> <!-- APOSTROPHE -->
+ <!ENTITY lpar  "&#x0028;"> <!-- LEFT PARENTHESIS -->
+ <!ENTITY rpar  "&#x0029;"> <!-- RIGHT PARENTHESIS -->
+ <!ENTITY comma "&#x002C;"> <!-- COMMA -->
+ <!ENTITY lowbar        "&#x005F;"> <!-- LOW LINE -->
+ <!ENTITY hyphen        "&#x002D;"> <!-- HYPHEN-MINUS -->
+ <!ENTITY period        "&#x002E;"> <!-- FULL STOP -->
+ <!ENTITY sol   "&#x002F;"> <!-- SOLIDUS -->
+ <!ENTITY colon "&#x003A;"> <!-- COLON -->
+ <!ENTITY semi  "&#x003B;"> <!-- SEMICOLON -->
+ <!ENTITY quest "&#x003F;"> <!-- QUESTION MARK -->
+ <!ENTITY iquest        "&#x00BF;"> <!-- INVERTED QUESTION MARK -->
+ <!ENTITY laquo "&#x00AB;"> <!-- LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+ <!ENTITY raquo "&#x00BB;"> <!-- RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+ <!ENTITY lsquo "&#x2018;"> <!--  -->
+ <!ENTITY rsquo "&#x2019;"> <!-- RIGHT SINGLE QUOTATION MARK -->
+ <!ENTITY ldquo "&#x201C;"> <!--  -->
+ <!ENTITY rdquo "&#x201D;"> <!-- RIGHT DOUBLE QUOTATION MARK -->
+ <!ENTITY nbsp  "&#x00A0;"> <!-- NO-BREAK SPACE -->
+ <!ENTITY shy   "&#x00AD;"> <!-- SOFT HYPHEN -->
+ <!-- iso-pub.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+ 
+ <!-- Derived from the corresponding ISO 8879 standard entity set
+      and the Unicode character mappings provided by Sebastian Rahtz -->
+ 
+ <!ENTITY emsp  "&#x2003;"> <!-- EM SPACE -->
+ <!ENTITY ensp  "&#x2002;"> <!-- EN SPACE -->
+ <!ENTITY emsp13        "&#x2004;"> <!-- THREE-PER-EM SPACE -->
+ <!ENTITY emsp14        "&#x2005;"> <!-- FOUR-PER-EM SPACE -->
+ <!ENTITY numsp "&#x2007;"> <!-- FIGURE SPACE -->
+ <!ENTITY puncsp        "&#x2008;"> <!-- PUNCTUATION SPACE -->
+ <!ENTITY thinsp        "&#x2009;"> <!-- THIN SPACE -->
+ <!ENTITY hairsp        "&#x200A;"> <!-- HAIR SPACE -->
+ <!ENTITY mdash "&#x2014;"> <!-- EM DASH -->
+ <!ENTITY ndash "&#x2013;"> <!-- EN DASH -->
+ <!ENTITY dash  "&#x2010;"> <!-- HYPHEN -->
+ <!ENTITY blank "&#x2423;"> <!-- OPEN BOX -->
+ <!ENTITY hellip        "&#x2026;"> <!-- HORIZONTAL ELLIPSIS -->
+ <!ENTITY nldr  "&#x2025;"> <!-- TWO DOT LEADER -->
+ <!ENTITY frac13        "&#x2153;"> <!-- VULGAR FRACTION ONE THIRD -->
+ <!ENTITY frac23        "&#x2154;"> <!-- VULGAR FRACTION TWO THIRDS -->
+ <!ENTITY frac15        "&#x2155;"> <!-- VULGAR FRACTION ONE FIFTH -->
+ <!ENTITY frac25        "&#x2156;"> <!-- VULGAR FRACTION TWO FIFTHS -->
+ <!ENTITY frac35        "&#x2157;"> <!-- VULGAR FRACTION THREE FIFTHS -->
+ <!ENTITY frac45        "&#x2158;"> <!-- VULGAR FRACTION FOUR FIFTHS -->
+ <!ENTITY frac16        "&#x2159;"> <!-- VULGAR FRACTION ONE SIXTH -->
+ <!ENTITY frac56        "&#x215A;"> <!-- VULGAR FRACTION FIVE SIXTHS -->
+ <!ENTITY incare        "&#x2105;"> <!-- CARE OF -->
+ <!ENTITY block "&#x2588;"> <!-- FULL BLOCK -->
+ <!ENTITY uhblk "&#x2580;"> <!-- UPPER HALF BLOCK -->
+ <!ENTITY lhblk "&#x2584;"> <!-- LOWER HALF BLOCK -->
+ <!ENTITY blk14 "&#x2591;"> <!-- LIGHT SHADE -->
+ <!ENTITY blk12 "&#x2592;"> <!-- MEDIUM SHADE -->
+ <!ENTITY blk34 "&#x2593;"> <!-- DARK SHADE -->
+ <!ENTITY marker        "&#x25AE;"> <!-- BLACK VERTICAL RECTANGLE -->
+ <!ENTITY cir   "&#x25CB;"> <!-- WHITE CIRCLE -->
+ <!ENTITY squ   "&#x25A1;"> <!-- WHITE SQUARE -->
+ <!ENTITY rect  "&#x25AD;"> <!-- WHITE RECTANGLE -->
+ <!ENTITY utri  "&#x25B5;"> <!-- WHITE UP-POINTING TRIANGLE -->
+ <!ENTITY dtri  "&#x25BF;"> <!-- WHITE DOWN-POINTING TRIANGLE -->
+ <!ENTITY star  "&#x22C6;"> <!-- STAR OPERATOR -->
+ <!ENTITY bull  "&#x2022;"> <!-- BULLET -->
+ <!ENTITY squf  "&#x25AA;"> <!--  -->
+ <!ENTITY utrif "&#x25B4;"> <!-- BLACK UP-POINTING TRIANGLE -->
+ <!ENTITY dtrif "&#x25BE;"> <!-- BLACK DOWN-POINTING TRIANGLE -->
+ <!ENTITY ltrif "&#x25C2;"> <!-- BLACK LEFT-POINTING TRIANGLE -->
+ <!ENTITY rtrif "&#x25B8;"> <!-- BLACK RIGHT-POINTING TRIANGLE -->
+ <!ENTITY clubs "&#x2663;"> <!-- BLACK CLUB SUIT -->
+ <!ENTITY diams "&#x2666;"> <!-- BLACK DIAMOND SUIT -->
+ <!ENTITY hearts        "&#x2665;"> <!-- BLACK HEART SUIT -->
+ <!ENTITY spades        "&#x2660;"> <!-- BLACK SPADE SUIT -->
+ <!ENTITY malt  "&#x2720;"> <!-- MALTESE CROSS -->
+ <!ENTITY dagger        "&#x2020;"> <!-- DAGGER -->
+ <!ENTITY Dagger        "&#x2021;"> <!-- DOUBLE DAGGER -->
+ <!ENTITY check "&#x2713;"> <!-- CHECK MARK -->
+ <!ENTITY cross "&#x2717;"> <!-- BALLOT X -->
+ <!ENTITY sharp "&#x266F;"> <!-- MUSIC SHARP SIGN -->
+ <!ENTITY flat  "&#x266D;"> <!-- MUSIC FLAT SIGN -->
+ <!ENTITY male  "&#x2642;"> <!-- MALE SIGN -->
+ <!ENTITY female        "&#x2640;"> <!--  -->
+ <!ENTITY phone "&#x260E;"> <!-- TELEPHONE SIGN -->
+ <!ENTITY telrec        "&#x2315;"> <!-- TELEPHONE RECORDER -->
+ <!ENTITY copysr        "&#x2117;"> <!-- SOUND RECORDING COPYRIGHT -->
+ <!ENTITY caret "&#x2041;"> <!-- CARET -->
+ <!ENTITY lsquor        "&#x201A;"> <!-- SINGLE LOW-9 QUOTATION MARK -->
+ <!ENTITY ldquor        "&#x201E;"> <!-- DOUBLE LOW-9 QUOTATION MARK -->
+ <!ENTITY fflig "&#xFB00;"> <!--  -->
+ <!ENTITY filig "&#xFB01;"> <!--  -->
+ <!--     fjlig Unknown unicode character -->
+ <!ENTITY ffilig        "&#xFB03;"> <!--  -->
+ <!ENTITY ffllig        "&#xFB04;"> <!--  -->
+ <!ENTITY fllig "&#xFB02;"> <!--  -->
+ <!ENTITY mldr  "&#x2026;"> <!-- HORIZONTAL ELLIPSIS -->
+ <!ENTITY rdquor        "&#x201C;"> <!--  -->
+ <!ENTITY rsquor        "&#x2018;"> <!--  -->
+ <!ENTITY vellip        "&#x22EE;"> <!--  -->
+ <!ENTITY hybull        "&#x2043;"> <!-- HYPHEN BULLET -->
+ <!ENTITY loz   "&#x25CA;"> <!-- LOZENGE -->
+ <!ENTITY lozf  "&#x2726;"> <!--  -->
+ <!ENTITY ltri  "&#x25C3;"> <!-- WHITE LEFT-POINTING TRIANGLE -->
+ <!ENTITY rtri  "&#x25B9;"> <!-- WHITE RIGHT-POINTING TRIANGLE -->
+ <!ENTITY starf "&#x2605;"> <!-- BLACK STAR -->
+ <!ENTITY natur "&#x266E;"> <!-- MUSIC NATURAL SIGN -->
+ <!ENTITY rx    "&#x211E;"> <!-- PRESCRIPTION TAKE -->
+ <!ENTITY sext  "&#x2736;"> <!-- SIX POINTED BLACK STAR -->
+ <!ENTITY target        "&#x2316;"> <!-- POSITION INDICATOR -->
+ <!ENTITY dlcrop        "&#x230D;"> <!-- BOTTOM LEFT CROP -->
+ <!ENTITY drcrop        "&#x230C;"> <!-- BOTTOM RIGHT CROP -->
+ <!ENTITY ulcrop        "&#x230F;"> <!-- TOP LEFT CROP -->
+ <!ENTITY urcrop        "&#x230E;"> <!-- TOP RIGHT CROP -->
+ <!-- iso-tech.ent (initially distributed with DocBook XML DTD V4.1.1beta1) -->
+ 
+ <!-- Derived from the corresponding ISO 8879 standard entity set
+      and the Unicode character mappings provided by Sebastian Rahtz.
+      With additional derivations from
+      ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT -->
+ 
+ <!ENTITY aleph "&#x2135;"> <!-- ALEF SYMBOL -->
+ <!ENTITY and   "&#x2227;"> <!--  -->
+ <!ENTITY ang90 "&#x221F;"> <!-- RIGHT ANGLE -->
+ <!ENTITY angsph        "&#x2222;"> <!--  -->
+ <!ENTITY ap    "&#x2248;"> <!--  -->
+ <!ENTITY becaus        "&#x2235;"> <!-- BECAUSE -->
+ <!ENTITY bottom        "&#x22A5;"> <!--  -->
+ <!ENTITY cap   "&#x2229;"> <!--  -->
+ <!ENTITY cong  "&#x2245;"> <!--  -->
+ <!ENTITY conint        "&#x222E;"> <!--  -->
+ <!ENTITY cup   "&#x222A;"> <!--  -->
+ <!ENTITY equiv "&#x2261;"> <!--  -->
+ <!ENTITY exist "&#x2203;"> <!--  -->
+ <!ENTITY forall        "&#x2200;"> <!--  -->
+ <!ENTITY fnof  "&#x0192;"> <!-- LATIN SMALL LETTER F WITH HOOK -->
+ <!ENTITY ge    "&#x2265;"> <!-- GREATER-THAN OR EQUAL TO -->
+ <!ENTITY iff   "&#x21D4;"> <!-- LEFT RIGHT DOUBLE ARROW -->
+ <!ENTITY infin "&#x221E;"> <!--  -->
+ <!ENTITY int   "&#x222B;"> <!--  -->
+ <!ENTITY isin  "&#x220A;"> <!--  -->
+ <!ENTITY lang  "&#x3008;"> <!--  -->
+ <!ENTITY lArr  "&#x21D0;"> <!-- LEFTWARDS ARROW -->
+ <!ENTITY le    "&#x2264;"> <!--  -->
+ <!ENTITY minus "&#x2212;"> <!-- MINUS SIGN -->
+ <!ENTITY mnplus        "&#x2213;"> <!--  -->
+ <!ENTITY nabla "&#x2207;"> <!-- NABLA -->
+ <!ENTITY ne    "&#x2260;"> <!--  -->
+ <!ENTITY ni    "&#x220D;"> <!--  -->
+ <!ENTITY or    "&#x2228;"> <!--  -->
+ <!ENTITY par   "&#x2225;"> <!-- PARALLEL TO -->
+ <!ENTITY part  "&#x2202;"> <!--  -->
+ <!ENTITY permil        "&#x2030;"> <!-- PER MILLE SIGN -->
+ <!ENTITY perp  "&#x22A5;"> <!--  -->
+ <!ENTITY prime "&#x2032;"> <!-- PRIME -->
+ <!ENTITY Prime "&#x2033;"> <!-- DOUBLE PRIME -->
+ <!ENTITY prop  "&#x221D;"> <!--  -->
+ <!ENTITY radic "&#x221A;"> <!--  -->
+ <!ENTITY rang  "&#x3009;"> <!--  -->
+ <!ENTITY rArr  "&#x21D2;"> <!-- RIGHTWARDS ARROW -->
+ <!ENTITY sim   "&#x223C;"> <!--  -->
+ <!ENTITY sime  "&#x2243;"> <!--  -->
+ <!ENTITY square        "&#x25A1;"> <!-- WHITE SQUARE -->
+ <!ENTITY sub   "&#x2282;"> <!--  -->
+ <!ENTITY sube  "&#x2286;"> <!--  -->
+ <!ENTITY sup   "&#x2283;"> <!--  -->
+ <!ENTITY supe  "&#x2287;"> <!--  -->
+ <!ENTITY there4        "&#x2234;"> <!--  -->
+ <!ENTITY Verbar        "&#x2016;"> <!-- DOUBLE VERTICAL LINE -->
+ <!ENTITY angst "&#x212B;"> <!-- ANGSTROM SIGN -->
+ <!ENTITY bernou        "&#x212C;"> <!-- SCRIPT CAPITAL B -->
+ <!ENTITY compfn        "&#x2218;"> <!-- RING OPERATOR -->
+ <!ENTITY Dot   "&#x00A8;"> <!--  -->
+ <!ENTITY DotDot        "&#x20DC;"> <!-- COMBINING FOUR DOTS ABOVE -->
+ <!ENTITY hamilt        "&#x210B;"> <!-- SCRIPT CAPITAL H -->
+ <!ENTITY lagran        "&#x2112;"> <!-- SCRIPT CAPITAL L -->
+ <!ENTITY lowast        "&#x2217;"> <!-- ASTERISK OPERATOR -->
+ <!ENTITY notin "&#x2209;"> <!--  -->
+ <!ENTITY order "&#x2134;"> <!-- SCRIPT SMALL O -->
+ <!ENTITY phmmat        "&#x2133;"> <!-- SCRIPT CAPITAL M -->
+ <!ENTITY tdot  "&#x20DB;"> <!-- COMBINING THREE DOTS ABOVE -->
+ <!ENTITY tprime        "&#x2034;"> <!-- TRIPLE PRIME -->
+ <!ENTITY wedgeq        "&#x2259;"> <!-- ESTIMATES -->


ossp-pkg/sugar/sxml2fo.xsl -> 1.1

*** /dev/null    Mon Apr 29 06:01:16 2024
--- -    Mon Apr 29 06:01:42 2024
***************
*** 0 ****
--- 1,2 ----
+ 
+ 


ossp-pkg/sugar/sxml2html.xsl -> 1.1

*** /dev/null    Mon Apr 29 06:01:16 2024
--- -    Mon Apr 29 06:01:42 2024
***************
*** 0 ****
--- 1,30 ----
+ <?xml version='1.0'?>
+ <!-- sxml2html.xsl - XSL Stylesheet for translating Sugar XML to HTMLXML 
+      Copyright (c) 2001 Ralf S. Engelschall <rse@engelschall.com> -->
+ 
+ <xsl:stylesheet
+     version='1.0'
+     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+     xmlns="http://www.w3.org/TR/xhtml1/transitional"
+     exclude-result-prefixes="#default">
+ 
+   <xsl:template match="/">
+     <body> 
+       <xsl:apply-templates/>
+     </body> 
+   </xsl:template>
+ 
+   <xsl:template match="/sugar/body/h1">
+     <h1><xsl:apply-templates/></h1>
+   </xsl:template>
+ 
+   <xsl:template match="/sugar/head/abstract">
+       <xsl:text>Abstract</xsl:text>
+       <br/>
+       <blockquote>
+       <xsl:apply-templates/>
+       </blockquote>
+   </xsl:template>
+ 
+ </xsl:stylesheet>
+ 


ossp-pkg/sugar/sxml2latex.xsl -> 1.1

*** /dev/null    Mon Apr 29 06:01:16 2024
--- -    Mon Apr 29 06:01:42 2024
***************
*** 0 ****
--- 1,2 ----
+ 
+ 


ossp-pkg/sugar/sxml2roff.xsl -> 1.1

*** /dev/null    Mon Apr 29 06:01:16 2024
--- -    Mon Apr 29 06:01:42 2024
***************
*** 0 ****
--- 1,2 ----
+ 
+ 


ossp-pkg/sugar/sxml2xxx -> 1.1

*** /dev/null    Mon Apr 29 06:01:16 2024
--- -    Mon Apr 29 06:01:42 2024
***************
*** 0 ****
--- 1,5 ----
+ #!/usr/bin/perl
+ ##
+ ##  sxml2xxx -- Sugar XML to Output Translator
+ ##
+ 


ossp-pkg/sugar/test.srml -> 1.1

*** /dev/null    Mon Apr 29 06:01:16 2024
--- -    Mon Apr 29 06:01:42 2024
***************
*** 0 ****
--- 1,64 ----
+ 
+   Sugar - The Markup Language With Invisible Syntactic Sugar
+   ==========================================================
+ 
+   Title:   Sugar - The Markup Language With Invisible Syntactic Sugar
+   Author:  Ralf S. Engelschall <rse@engelschall.com>
+   Author:  Christian Reiber <chrei@en.muc.de>
+   Genesis: 12-Mar-1999
+   Date:    26-Jun-2000
+   
+   Introduction
+   ------------
+ 
+   Me & you Sugar is a markup language and corresponding translator tool for
+   writing technical documentation that uses mostly invisible markup
+   tags (the so-called //syntactic sugar// in compiler construction folk
+   terminology). See ->foo<- **foo**
+   
+   The general idea is that the markup text looks already like the
+   textual output of the translator phase, that is, the Sugar source
+   can be already treated as its text output format ("ASCII WYSIWYG").
+   Additionally the Sugar markup language is considered intuitive enough
+   to be recognized easily, so writing technical documentation is mainly
+   just a matter of performing a brain dump. (+foo+)
+ 
+   || Special Block For testing
+ 
+      o. foo
+         bar
+ 
+         o baz1
+         o baz2
+ 
+      -. quux
+ 
+      purposes only.
+ 
+   So Sugars syntactic principle is "keep it simple'n'stupid" (KISS)
+   but still powerful enough to allow one to produce high-quality
+   output. Sugars goal is not to **provide** all features of a full featured
+   documentation system. Instead it provides only a few markup concepts
+   but those are streched to a **maximum.
+ 
+   Sugar Grammar
+   -------------
+ 
+   A Sugar document is described by the following grammar:
+ 
+   ++ table
+      foo bar
+      quux
+ 
+   where <regular-block> is defined visually as a rectangular block
+   of continued text inside the document, that is a paragraph of
+ 
+   ** BOLD TEXT
+ 
+   text (without any blank lines) where each line starts at the same
+ 
+   ** BOLD TEXT
+      A SECOND TIME
+ 
+   indentation position.
+ 


ossp-pkg/sugar/test.sxml -> 1.1

*** /dev/null    Mon Apr 29 06:01:16 2024
--- -    Mon Apr 29 06:01:42 2024
***************
*** 0 ****
--- 1,17 ----
+ <?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
+ <!DOCTYPE sugar PUBLIC "-//OSSP//DTD Sugar XML 0.1.0//EN" "sxml.dtd" []>
+ <sugar>
+   <head>
+     <title>A Sample Sugar XML Document</title>
+     <author>Ralf S. Engelschall</author>
+     <abstract>
+       Foobar abstract
+     </abstract>
+   </head>
+   <body>
+   <h1>Header 1</h1>
+   Hallo 1!
+   <h2>Header 2</h2>
+   Hallo 2!
+   </body>
+ </sugar>

CVSTrac 2.0.1