You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by sh...@apache.org on 2012/06/16 05:57:39 UTC

svn commit: r1350856 [9/11] - in /xalan/site: ./ docs/ docs/xalan/ docs/xalan/resources/ docs/xalan/xalan-c/ docs/xalan/xalan-c/resources/ docs/xalan/xalan-j/ stylebook/ stylebook/Xalan-Logos/ stylebook/css/ stylebook/style/ stylebook/style/dtd/ xdocs/...

Added: xalan/site/stylebook/css/apache-xalan.css
URL: http://svn.apache.org/viewvc/xalan/site/stylebook/css/apache-xalan.css?rev=1350856&view=auto
==============================================================================
--- xalan/site/stylebook/css/apache-xalan.css (added)
+++ xalan/site/stylebook/css/apache-xalan.css Sat Jun 16 03:57:36 2012
@@ -0,0 +1,414 @@
+/* Xalan-C/C++ Project Web Pages (css) Stylesheet */
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+
+/* This (css) stylesheet renders the xhtml web pages that were generated
+ * from StyleBook XML markup using the "xalan-book.xslt" transformation.
+*/
+
+html > bod  {left:0;}
+body {
+/*  background-color: white; */
+  background-color: #f8f8f0;
+  color: black;
+  padding: 0;
+  margin: 0;
+  font-family: arial, "lucida console", san-serif;
+}
+
+/* Emulate table align=center */
+div.centered, td.centered {
+  text-align: center;
+}
+
+div.centered table {
+  margin: 0 auto;
+  text-align: left;
+}
+
+/*
+ * ID Sections
+ */
+
+#content {
+  width: 80%;
+  float: left;
+  font-size: 12pt;
+  padding-top: 1em;
+  padding-left: 5px;
+  margin-left: 10px;
+  border-left: 1px solid #aaa;
+}
+
+#navLeft {
+  clear: left;
+  width: 15%;
+  float: left;
+  padding: 2px;
+  margin-left: 1%;
+  color: red;
+  position: relative;
+  left: 1px;
+  background-color: #eee;
+}
+
+.navGroup {
+  color: Black;
+  font-size: 14pt;
+}
+
+
+#title {
+  color: black;
+  background-color: #eee;
+  text-align: center;
+  border-bottom: 1px solid #aaa;
+  padding: 0;
+  vertical-align: middle;
+}
+
+table.HdrTitle {
+  font-size: 18pt;
+}
+
+table.HdrButtons {
+  font-size: 8pt;
+  background-color: #ccf;
+  align: "center";
+  border: "1";
+
+}
+
+#footer {
+    clear: both;
+    margin: 0 2em;
+    color: #444;
+    background-color: #ddd;
+    text-align: center;
+    padding: .5em 0;
+    font-size: 75%;
+    border-top: 1px solid #aaa;
+}
+
+/*
+ * Anchors
+ */
+
+a {
+  color: blue;
+  text-decoration: undedrline;
+}
+
+a img {
+  border: 0;
+}
+
+a:hover {
+  text-decoration: none;
+  background-color: #d7c9c9;
+}
+
+/*
+ * Headers
+ */
+
+h1 {}
+
+#title h1 {
+  padding: 1px 0;
+  margin: 0;
+  float: right;
+  width: 60%;
+  font-size: 20pt;
+  text-align: center;
+}
+
+#content h1 { background-color: #8af }
+
+h2 {}
+
+#title h2 {
+  font-size: 14pt;
+  width: 60%;
+  text-alignment: center;
+  padding: 1px 0;
+  margin: 0;
+}
+
+#content h2 { background-color: #9bf }
+
+#content h2.year {
+  background-color: #ddd;
+  text-align: center;
+}
+
+h3 {}
+
+#content h3.monthName {
+  background-color: #333;
+  text-align: center;
+}
+
+#content h3 { background-color: #acf }
+
+h4{}
+
+#content h4.eventTitle {
+  margin-left: 1%;
+  border-bottom: 1px solid blue;
+}
+
+#content h4 { background-color: #cdf }
+
+/*
+ * Tables
+ */
+
+th {}
+
+td {}
+
+th.content {background-color: #4BD }
+td.content {background-color: #AEF }
+
+/*
+ * Lists and navLeft
+ */
+
+ul {}
+
+#navLeft ul {
+  list-style-type: none;
+  margin: 0;
+  padding: 0;
+}
+
+#navLeft ul li {
+  margin: 0;
+}
+
+#navLeft ul li p {
+  margin: 0;
+}
+
+#navLeft ul li ul {
+  list-style-type: none;
+  font-size: 90%;
+  margin: 0 2em;
+}
+
+#navLeft ul li ul li {
+  margin: 0;
+}
+
+/*
+ * Paragraphs
+ */
+
+p {}
+
+#navLeft p {
+  text-align: center;
+  padding: 0 auto;
+  margin: 0;
+}
+
+#footer p {
+  padding: 0;
+}
+
+#content p.topalign {
+  vertical-align: middle;
+  height: 2em;
+  text-align: center;
+  width: 100%;
+  padding: .5em;
+  border: 1px solid #ddd;
+}
+
+#content p.topalign img {
+  vertical-align: middle;
+  text-align: text-middle;
+}
+
+#content p.quote {
+  color:black;
+  font-style: italic;
+  font-size: 110%;
+  margin-left: 10%;
+  margin-right: 10%;
+  padding 1em;
+  border: 1px solid #ddd;
+  text-align: center;
+}
+
+#content p.navbar {
+  font-size: 90%;
+  text-align: center;
+  border-top: 1px solid #ddd;
+  border-bottom: 1px solid #ddd;
+}
+
+blockquote {}
+
+blockquote.note {
+  font-size: 80%;
+  border: 1px solid #ddd;
+  background-color: #eee;
+}
+
+td.noteImg {
+  background-color: white;
+  border: 0;
+}
+
+td.noteTxt {
+  background-color: white;
+  font-size: 120%;
+  border: 2px solid #ddd;
+  background-color: #eee;
+}
+
+/**
+ ** UNSPECIFIED IN APACHE STYLEBOOK DTD
+ ** <caution>..</caution> and <warning>..</warning>
+ **
+ * 
+ * td.cautionImg {
+ *   background-color: white;
+ *   border: 0;
+ * }
+ * 
+ * td.cautionTxt {
+ *   background-color: white;
+ *   font-size: 120%;
+ *   border: 2px solid #ddd;
+ *   background-color: #eee;
+ * }
+ * 
+ * 
+ * td.warningImg {
+ *   background-color: white;
+ *   border: 0;
+ * }
+ * 
+ * td.warningTxt {
+ *   background-color: white;
+ *   font-size: 120%;
+ *   border: 2px solid #ddd;
+ *   background-color: #eee;
+ * }
+ * 
+**/
+
+
+blockquote.source {
+  font-size: 75%;
+}
+
+code {
+  font-size: 75%;
+}
+
+
+/*
+ * Special Table (note)
+ */
+
+#notediv div { background-color: white }
+
+table.note {
+  width: 90%;
+}
+
+td.noteImg {
+  background-color: white;
+  vertical-align: top;
+  border: 0;
+  width: 24;
+}
+
+td.noteTxt {
+  color: black;
+  background-color: #eee;
+  font-size: 90%;
+  border: 2px solid;
+  border-color: #ccc;
+}
+
+
+/*
+ * Images
+ */
+
+img {}
+
+
+#footer img {
+  border: 0;
+}
+
+
+/*
+ * Document Divisions
+ */
+
+div {}
+
+/*
+ * Pre
+ */
+
+pre {}
+
+
+/*
+ * Generic Classes
+ */
+
+.indented {
+  margin-left: 3%;
+}
+
+.topBanner {
+  float: right;
+  margin: 0;
+  border: 0;
+  vertical-align: middle;
+}
+
+.noborder {
+  border: 0;
+  margin: 0;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Added: xalan/site/stylebook/site-construction.txt
URL: http://svn.apache.org/viewvc/xalan/site/stylebook/site-construction.txt?rev=1350856&view=auto
==============================================================================
--- xalan/site/stylebook/site-construction.txt (added)
+++ xalan/site/stylebook/site-construction.txt Sat Jun 16 03:57:36 2012
@@ -0,0 +1,86 @@
+
+The XALAN svnsubpub repository:
+
+   http://svn.apache.org/repos/asf/xalan/site/docs/xalan
+
+The XALAN svnsubpub directory tree
+
+   xalan/              -- The Xalan Top-Level Web Pages
+      resources/       css and logo graphics for TLP
+      xalan-c/	       -- The Xalan-C Project Web Pages
+        resources/
+        apiDocs/       doxygen/graphviz constructed api docs
+      xalan-j/         -- The Xalan-J Project Web Pages
+        resources/
+        design/
+          resources/
+        xsltc/
+          resources/
+        apiDocs/       javadoc constructed api docs
+
+The XALAN web page maintenance tree
+
+   http://svn.apache.org/repos/asf/xalan/site/stylebook
+
+      This directory contains the standard stylebook tools
+      that are used to construct the XALAN family of web pages.
+
+   http://svn.apache.org/repos/asf/xalan/site/xdocs
+
+      xdocs/
+        style/
+          dtd/                    -- DTD validation + Entities
+            blocks.ent
+            book.dtd
+            changes.dtd
+            characters.ent
+            document.dtd
+            faqs.dtd
+            links.ent
+            markup.ent
+
+        sources/
+          entities.ent            -- document dependent entities
+          make-book-org.bat       -- main web page constructor
+          make-xalan-org.bat      -- section constructor
+          stylebook.xslt          -- the stylebook transformation
+          xalan-apache-org-site.xml    -- the <book> navigation xml
+
+          xalan-apache-org/       -- the chapter stylebook sources
+          xslt-resources/         -- the css and graphic logos
+
+   Working Directories, NOT SAVED IN SUBVERSION (../bin)(../build/docs)
+
+   http://svn.apache.org/repos/asf/xalan/site/bin/
+
+       -- Contains the xalan.exe program and DLLs
+
+   http://svn.apache.org/repos/asf/xalan/site/build/docs/
+
+       -- Contains the target for web page builds
+
+       build/docs/xalan/          -- The Xalan TLP Web Pages
+       build/docs/xalan/xalan-c/  -- The Xalan-C Project Web Pages
+       build/docs/xalan/xalan-j/  -- The Xalan-J Project Web Pages
+
+NOTE:  The (../build/docs/xalan) can be checked into the repository
+if you wish the pages to be reviewed by others before committing
+them to the actual svnsubpub area for the Xalan projects.
+
+NOTE:  The constructed apiDocs content can be quite large and 
+should not be placed in the (../build/docs/xalan) tree.  Other
+means to review the apiDocs is available (i.e. from a committer's
+web page).
+
+
+PUBLISHING
+
+   After new content in the (../build/docs/) path has been reviewed,
+the files can be moved to the svnsubpub area and checked in.
+
+   https://svn.apache.org/repos/asf/xalan/site/docs/xalan
+
+Apache infrastructure will capture the svn checkin and update the
+network of web servers with the new project content.
+
+

Added: xalan/site/stylebook/style/dtd/blocks.ent
URL: http://svn.apache.org/viewvc/xalan/site/stylebook/style/dtd/blocks.ent?rev=1350856&view=auto
==============================================================================
--- xalan/site/stylebook/style/dtd/blocks.ent (added)
+++ xalan/site/stylebook/style/dtd/blocks.ent Sat Jun 16 03:57:36 2012
@@ -0,0 +1,40 @@
+<?xml encoding='US-ASCII'?>
+
+<!-- BLOCKS ENTITY -->
+<!ENTITY % blocks "p|note|ul|ol|gloss|table|source|anchor">
+
+<!-- import the external markup.ent dtd -->
+<!ENTITY % markupEntity SYSTEM "markup.ent">
+%markupEntity;
+
+<!ENTITY % content "(#PCDATA|%markup;|%links;)*">
+
+<!ELEMENT p %content;>
+<!ELEMENT note %content;>
+
+<!ELEMENT ul (li|ol|ul)+>
+<!ELEMENT ol (li|ol|ul)+>
+<!ELEMENT li %content;>
+
+<!ELEMENT gloss (label|item)+>
+<!ELEMENT label %content;>
+<!ELEMENT item %content;>
+
+<!ELEMENT source (#PCDATA)>
+
+<!ELEMENT table (tr)+>
+
+<!ELEMENT tr (tn|th|td)+>
+
+<!ELEMENT tn EMPTY>
+<!ATTLIST tn colspan CDATA "1"
+             rowspan CDATA "1">
+
+<!ELEMENT th %content;>
+<!ATTLIST th colspan CDATA "1"
+             rowspan CDATA "1">
+
+<!ELEMENT td %content;>
+<!ATTLIST td colspan CDATA "1"
+             rowspan CDATA "1">
+             
\ No newline at end of file

Added: xalan/site/stylebook/style/dtd/book.dtd
URL: http://svn.apache.org/viewvc/xalan/site/stylebook/style/dtd/book.dtd?rev=1350856&view=auto
==============================================================================
--- xalan/site/stylebook/style/dtd/book.dtd (added)
+++ xalan/site/stylebook/style/dtd/book.dtd Sat Jun 16 03:57:36 2012
@@ -0,0 +1,56 @@
+<?xml encoding='US-ASCII'?>
+
+<!-- STYLEBOOK BOOK DTD -->
+
+<!-- import the external source-specific dtd -->
+<!ENTITY % externalEntity SYSTEM "../../sources/entities.ent">
+%externalEntity;
+
+<!ELEMENT book (resources?|document|hidden|faqs|changes|group|external|separator)+>
+<!ATTLIST book title     CDATA #REQUIRED
+               copyright CDATA #IMPLIED>
+               
+<!ELEMENT resources EMPTY>
+<!ATTLIST resources source CDATA #REQUIRED>
+
+<!ELEMENT document EMPTY>
+<!ATTLIST document id     ID    #REQUIRED
+                   source CDATA #REQUIRED
+                   label  CDATA #REQUIRED>
+
+<!ELEMENT hidden EMPTY>
+<!ATTLIST hidden id     ID    #REQUIRED
+                 source CDATA #REQUIRED>
+
+<!ELEMENT faqs EMPTY>
+<!ATTLIST faqs id     ID    #REQUIRED
+               source CDATA #REQUIRED
+               label  CDATA #REQUIRED>
+
+<!ELEMENT changes EMPTY>
+<!ATTLIST changes id     ID    #REQUIRED
+                  source CDATA #REQUIRED
+                  label  CDATA #REQUIRED>
+
+<!-- (entry) not supported in markup, cannot be tested -->
+<!-- (group) not to have entry children, only standard children -->
+<!-- <!ELEMENT group (entry)+> -->
+
+<!ELEMENT group (document|faqs|changes|external)+> 
+<!ATTLIST group id    ID    #IMPLIED
+                label CDATA #REQUIRED>
+
+<!-- (entry) not supported in markup, cannot be tested
+<!ELEMENT entry EMPTY>
+<!ATTLIST entry id     ID    #REQUIRED
+                source CDATA #REQUIRED>
+-->
+
+<!ELEMENT external EMPTY>
+<!ATTLIST external label CDATA #REQUIRED
+                   href  CDATA #REQUIRED>
+                   
+<!ELEMENT separator EMPTY>
+
+<!-- CVS $Revision: 1.3 $ $Date: 1999/12/01 23:03:37 $ -->
+<!-- Revision by (shathaway@apache.org) 2011/09/01 -->
\ No newline at end of file

Added: xalan/site/stylebook/style/dtd/changes.dtd
URL: http://svn.apache.org/viewvc/xalan/site/stylebook/style/dtd/changes.dtd?rev=1350856&view=auto
==============================================================================
--- xalan/site/stylebook/style/dtd/changes.dtd (added)
+++ xalan/site/stylebook/style/dtd/changes.dtd Sat Jun 16 03:57:36 2012
@@ -0,0 +1,24 @@
+<?xml encoding='US-ASCII'?>
+
+<!-- STYLEBOOK CHANGES DTD -->
+
+<!-- import the external markup.ent dtd -->
+<!ENTITY % markupEntity SYSTEM "markup.ent">
+%markupEntity;
+
+<!ENTITY % content "(#PCDATA|%markup;|%links;)*">
+
+<!ELEMENT changes (release)+>
+<!ATTLIST changes title CDATA #REQUIRED>
+
+<!ELEMENT release ((features,fixes)|(features)|(fixes))>
+<!ATTLIST release version CDATA #REQUIRED
+                  date    CDATA #IMPLIED>
+
+<!ELEMENT features (feat)+>
+<!ELEMENT fixes (fix)+>
+
+<!ELEMENT feat %content;>
+<!ELEMENT fix %content;>
+
+<!-- CVS $Revision: 1.3 $ $Date: 1999/12/01 23:03:37 $ -->
\ No newline at end of file

Added: xalan/site/stylebook/style/dtd/characters.ent
URL: http://svn.apache.org/viewvc/xalan/site/stylebook/style/dtd/characters.ent?rev=1350856&view=auto
==============================================================================
--- xalan/site/stylebook/style/dtd/characters.ent (added)
+++ xalan/site/stylebook/style/dtd/characters.ent Sat Jun 16 03:57:36 2012
@@ -0,0 +1,297 @@
+<?xml encoding='US-ASCII'?>
+
+<!-- CHARACTERS ENTITY -->
+
+<!-- Latin A -->
+<!ENTITY nbsp     "&#160;">  <!-- U+00A0 ISOnum    - no-break space = non-breaking space                                   -->
+<!ENTITY iexcl    "&#161;">  <!-- U+00A1 ISOnum    - inverted exclamation mark                                             -->
+<!ENTITY cent     "&#162;">  <!-- U+00A2 ISOnum    - cent sign                                                             -->
+<!ENTITY pound    "&#163;">  <!-- U+00A3 ISOnum    - pound sign                                                            -->
+<!ENTITY curren   "&#164;">  <!-- U+00A4 ISOnum    - currency sign                                                         -->
+<!ENTITY yen      "&#165;">  <!-- U+00A5 ISOnum    - yen sign = yuan sign                                                  -->
+<!ENTITY brvbar   "&#166;">  <!-- U+00A6 ISOnum    - broken bar = broken vertical bar                                      -->
+<!ENTITY sect     "&#167;">  <!-- U+00A7 ISOnum    - section sign                                                          -->
+<!ENTITY uml      "&#168;">  <!-- U+00A8 ISOdia    - diaeresis = spacing diaeresis                                         -->
+<!ENTITY copy     "&#169;">  <!-- U+00A9 ISOnum    - copyright sign                                                        -->
+<!ENTITY ordf     "&#170;">  <!-- U+00AA ISOnum    - feminine ordinal indicator                                            -->
+<!ENTITY laquo    "&#171;">  <!-- U+00AB ISOnum    - left-pointing double angle quotation mark = left pointing guillemet   -->
+<!ENTITY not      "&#172;">  <!-- U+00AC ISOnum    - not sign                                                              -->
+<!ENTITY shy      "&#173;">  <!-- U+00AD ISOnum    - soft hyphen = discretionary hyphen                                    -->
+<!ENTITY reg      "&#174;">  <!-- U+00AE ISOnum    - registered sign = registered trade mark sign                          -->
+<!ENTITY macr     "&#175;">  <!-- U+00AF ISOdia    - macron = spacing macron = overline = APL overbar                      -->
+<!ENTITY deg      "&#176;">  <!-- U+00B0 ISOnum    - degree sign                                                           -->
+<!ENTITY plusmn   "&#177;">  <!-- U+00B1 ISOnum    - plus-minus sign = plus-or-minus sign                                  -->
+<!ENTITY sup2     "&#178;">  <!-- U+00B2 ISOnum    - superscript two = superscript digit two = squared                     -->
+<!ENTITY sup3     "&#179;">  <!-- U+00B3 ISOnum    - superscript three = superscript digit three = cubed                   -->
+<!ENTITY acute    "&#180;">  <!-- U+00B4 ISOdia    - acute accent = spacing acute                                          -->
+<!ENTITY micro    "&#181;">  <!-- U+00B5 ISOnum    - micro sign                                                            -->
+<!ENTITY para     "&#182;">  <!-- U+00B6 ISOnum    - pilcrow sign = paragraph sign                                         -->
+<!ENTITY middot   "&#183;">  <!-- U+00B7 ISOnum    - middle dot = Georgian comma = Greek middle dot                        -->
+<!ENTITY cedil    "&#184;">  <!-- U+00B8 ISOdia    - cedilla = spacing cedilla                                             -->
+<!ENTITY sup1     "&#185;">  <!-- U+00B9 ISOnum    - superscript one = superscript digit one                               -->
+<!ENTITY ordm     "&#186;">  <!-- U+00BA ISOnum    - masculine ordinal indicator                                           -->
+<!ENTITY raquo    "&#187;">  <!-- U+00BB ISOnum    - right-pointing double angle quotation mark = right pointing guillemet -->
+<!ENTITY frac14   "&#188;">  <!-- U+00BC ISOnum    - vulgar fraction one quarter = fraction one quarter                    -->
+<!ENTITY frac12   "&#189;">  <!-- U+00BD ISOnum    - vulgar fraction one half = fraction one half                          -->
+<!ENTITY frac34   "&#190;">  <!-- U+00BE ISOnum    - vulgar fraction three quarters = fraction three quarters              -->
+<!ENTITY iquest   "&#191;">  <!-- U+00BF ISOnum    - inverted question mark = turned question mark                         -->
+<!ENTITY Agrave   "&#192;">  <!-- U+00C0 ISOlat1   - latin capital letter A with grave = latin capital letter A grave      -->
+<!ENTITY Aacute   "&#193;">  <!-- U+00C1 ISOlat1   - latin capital letter A with acute                                     -->
+<!ENTITY Acirc    "&#194;">  <!-- U+00C2 ISOlat1   - latin capital letter A with circumflex                                -->
+<!ENTITY Atilde   "&#195;">  <!-- U+00C3 ISOlat1   - latin capital letter A with tilde                                     -->
+<!ENTITY Auml     "&#196;">  <!-- U+00C4 ISOlat1   - latin capital letter A with diaeresis                                 -->
+<!ENTITY Aring    "&#197;">  <!-- U+00C5 ISOlat1   - latin capital letter A with ring above = latin capital letter A ring  -->
+<!ENTITY AElig    "&#198;">  <!-- U+00C6 ISOlat1   - latin capital letter AE = latin capital ligature AE                   -->
+<!ENTITY Ccedil   "&#199;">  <!-- U+00C7 ISOlat1   - latin capital letter C with cedilla                                   -->
+<!ENTITY Egrave   "&#200;">  <!-- U+00C8 ISOlat1   - latin capital letter E with grave                                     -->
+<!ENTITY Eacute   "&#201;">  <!-- U+00C9 ISOlat1   - latin capital letter E with acute                                     -->
+<!ENTITY Ecirc    "&#202;">  <!-- U+00CA ISOlat1   - latin capital letter E with circumflex                                -->
+<!ENTITY Euml     "&#203;">  <!-- U+00CB ISOlat1   - latin capital letter E with diaeresis                                 -->
+<!ENTITY Igrave   "&#204;">  <!-- U+00CC ISOlat1   - latin capital letter I with grave                                     -->
+<!ENTITY Iacute   "&#205;">  <!-- U+00CD ISOlat1   - latin capital letter I with acute                                     -->
+<!ENTITY Icirc    "&#206;">  <!-- U+00CE ISOlat1   - latin capital letter I with circumflex                                -->
+<!ENTITY Iuml     "&#207;">  <!-- U+00CF ISOlat1   - latin capital letter I with diaeresis                                 -->
+<!ENTITY ETH      "&#208;">  <!-- U+00D0 ISOlat1   - latin capital letter ETH                                              -->
+<!ENTITY Ntilde   "&#209;">  <!-- U+00D1 ISOlat1   - latin capital letter N with tilde                                     -->
+<!ENTITY Ograve   "&#210;">  <!-- U+00D2 ISOlat1   - latin capital letter O with grave                                     -->
+<!ENTITY Oacute   "&#211;">  <!-- U+00D3 ISOlat1   - latin capital letter O with acute                                     -->
+<!ENTITY Ocirc    "&#212;">  <!-- U+00D4 ISOlat1   - latin capital letter O with circumflex                                -->
+<!ENTITY Otilde   "&#213;">  <!-- U+00D5 ISOlat1   - latin capital letter O with tilde                                     -->
+<!ENTITY Ouml     "&#214;">  <!-- U+00D6 ISOlat1   - latin capital letter O with diaeresis                                 -->
+<!ENTITY times    "&#215;">  <!-- U+00D7 ISOnum    - multiplication sign                                                   -->
+<!ENTITY Oslash   "&#216;">  <!-- U+00D8 ISOlat1   - latin capital letter O with stroke = latin capital letter O slash     -->
+<!ENTITY Ugrave   "&#217;">  <!-- U+00D9 ISOlat1   - latin capital letter U with grave                                     -->
+<!ENTITY Uacute   "&#218;">  <!-- U+00DA ISOlat1   - latin capital letter U with acute                                     -->
+<!ENTITY Ucirc    "&#219;">  <!-- U+00DB ISOlat1   - latin capital letter U with circumflex                                -->
+<!ENTITY Uuml     "&#220;">  <!-- U+00DC ISOlat1   - latin capital letter U with diaeresis                                 -->
+<!ENTITY Yacute   "&#221;">  <!-- U+00DD ISOlat1   - latin capital letter Y with acute                                     -->
+<!ENTITY THORN    "&#222;">  <!-- U+00DE ISOlat1   - latin capital letter THORN                                            -->
+<!ENTITY szlig    "&#223;">  <!-- U+00DF ISOlat1   - latin small letter sharp s = ess-zed                                  -->
+<!ENTITY agrave   "&#224;">  <!-- U+00E0 ISOlat1   - latin small letter a with grave = latin small letter a grave          -->
+<!ENTITY aacute   "&#225;">  <!-- U+00E1 ISOlat1   - latin small letter a with acute                                       -->
+<!ENTITY acirc    "&#226;">  <!-- U+00E2 ISOlat1   - latin small letter a with circumflex                                  -->
+<!ENTITY atilde   "&#227;">  <!-- U+00E3 ISOlat1   - latin small letter a with tilde                                       -->
+<!ENTITY auml     "&#228;">  <!-- U+00E4 ISOlat1   - latin small letter a with diaeresis                                   -->
+<!ENTITY aring    "&#229;">  <!-- U+00E5 ISOlat1   - latin small letter a with ring above = latin small letter a ring      -->
+<!ENTITY aelig    "&#230;">  <!-- U+00E6 ISOlat1   - latin small letter ae = latin small ligature ae                       -->
+<!ENTITY ccedil   "&#231;">  <!-- U+00E7 ISOlat1   - latin small letter c with cedilla                                     -->
+<!ENTITY egrave   "&#232;">  <!-- U+00E8 ISOlat1   - latin small letter e with grave                                       -->
+<!ENTITY eacute   "&#233;">  <!-- U+00E9 ISOlat1   - latin small letter e with acute                                       -->
+<!ENTITY ecirc    "&#234;">  <!-- U+00EA ISOlat1   - latin small letter e with circumflex                                  -->
+<!ENTITY euml     "&#235;">  <!-- U+00EB ISOlat1   - latin small letter e with diaeresis                                   -->
+<!ENTITY igrave   "&#236;">  <!-- U+00EC ISOlat1   - latin small letter i with grave                                       -->
+<!ENTITY iacute   "&#237;">  <!-- U+00ED ISOlat1   - latin small letter i with acute                                       -->
+<!ENTITY icirc    "&#238;">  <!-- U+00EE ISOlat1   - latin small letter i with circumflex                                  -->
+<!ENTITY iuml     "&#239;">  <!-- U+00EF ISOlat1   - latin small letter i with diaeresis                                   -->
+<!ENTITY eth      "&#240;">  <!-- U+00F0 ISOlat1   - latin small letter eth                                                -->
+<!ENTITY ntilde   "&#241;">  <!-- U+00F1 ISOlat1   - latin small letter n with tilde                                       -->
+<!ENTITY ograve   "&#242;">  <!-- U+00F2 ISOlat1   - latin small letter o with grave                                       -->
+<!ENTITY oacute   "&#243;">  <!-- U+00F3 ISOlat1   - latin small letter o with acute                                       -->
+<!ENTITY ocirc    "&#244;">  <!-- U+00F4 ISOlat1   - latin small letter o with circumflex                                  -->
+<!ENTITY otilde   "&#245;">  <!-- U+00F5 ISOlat1   - latin small letter o with tilde                                       -->
+<!ENTITY ouml     "&#246;">  <!-- U+00F6 ISOlat1   - latin small letter o with diaeresis                                   -->
+<!ENTITY divide   "&#247;">  <!-- U+00F7 ISOnum    - division sign                                                         -->
+<!ENTITY oslash   "&#248;">  <!-- U+00F8 ISOlat1   - latin small letter o with stroke = latin small letter o slash         -->
+<!ENTITY ugrave   "&#249;">  <!-- U+00F9 ISOlat1   - latin small letter u with grave                                       -->
+<!ENTITY uacute   "&#250;">  <!-- U+00FA ISOlat1   - latin small letter u with acute                                       -->
+<!ENTITY ucirc    "&#251;">  <!-- U+00FB ISOlat1   - latin small letter u with circumflex                                  -->
+<!ENTITY uuml     "&#252;">  <!-- U+00FC ISOlat1   - latin small letter u with diaeresis                                   -->
+<!ENTITY yacute   "&#253;">  <!-- U+00FD ISOlat1   - latin small letter y with acute                                       -->
+<!ENTITY thorn    "&#254;">  <!-- U+00FE ISOlat1   - latin small letter thorn                                              -->
+<!ENTITY yuml     "&#255;">  <!-- U+00FF ISOlat1   - latin small letter y with diaeresis                                   -->
+
+
+<!-- C0 Controls and Basic Latin -->
+<!ENTITY quot     "&#34;">   <!-- U+0022 ISOnum    - quotation mark = APL quote                                            -->
+<!ENTITY amp      "&#38;">   <!-- U+0026 ISOnum    - ampersand                                                             -->
+<!ENTITY lt       "&#60;">   <!-- U+003C ISOnum    - less-than sign                                                        -->
+<!ENTITY gt       "&#62;">   <!-- U+003E ISOnum    - greater-than sign                                                     -->
+
+<!-- Latin Extended-A -->
+<!ENTITY OElig    "&#338;">  <!-- U+0152 ISOlat2   - latin capital ligature OE                                             -->
+<!ENTITY oelig    "&#339;">  <!-- U+0153 ISOlat2   - latin small ligature oe                                               -->
+
+<!-- ligature is a misnomer, this is a separate character in some languages -->
+<!ENTITY Scaron   "&#352;">  <!-- U+0160 ISOlat2   - latin capital letter S with caron                                     -->
+<!ENTITY scaron   "&#353;">  <!-- U+0161 ISOlat2   - latin small letter s with caron                                       -->
+<!ENTITY Yuml     "&#376;">  <!-- U+0178 ISOlat2   - latin capital letter Y with diaeresis                                 -->
+
+<!-- Spacing Modifier Letters -->
+<!ENTITY circ     "&#710;" > <!-- U+02C6 ISOpub    - modifier letter circumflex accent                                     -->
+<!ENTITY tilde    "&#732;" > <!-- U+02DC ISOdia    - small tilde                                                           -->
+
+<!-- General Punctuation -->
+<!ENTITY ensp     "&#8194;"> <!-- U+2002 ISOpub    - en space                                                              -->
+<!ENTITY emsp     "&#8195;"> <!-- U+2003 ISOpub    - em space                                                              -->
+<!ENTITY thinsp   "&#8201;"> <!-- U+2009 ISOpub    - thin space                                                            -->
+<!ENTITY zwnj     "&#8204;"> <!-- U+200C RFC 2070  - zero width non-joiner                                                 -->
+<!ENTITY zwj      "&#8205;"> <!-- U+200D RFC 2070  - zero width joiner                                                     -->
+<!ENTITY lrm      "&#8206;"> <!-- U+200E RFC 2070  - left-to-right mark                                                    -->
+<!ENTITY rlm      "&#8207;"> <!-- U+200F RFC 2070  - right-to-left mark                                                    -->
+<!ENTITY ndash    "&#8211;"> <!-- U+2013 ISOpub    - en dash                                                               -->
+<!ENTITY mdash    "&#8212;"> <!-- U+2014 ISOpub    - em dash                                                               -->
+<!ENTITY lsquo    "&#8216;"> <!-- U+2018 ISOnum    - left single quotation mark                                            -->
+<!ENTITY rsquo    "&#8217;"> <!-- U+2019 ISOnum    - right single quotation mark                                           -->
+<!ENTITY sbquo    "&#8218;"> <!-- U+201A NEW       - single low-9 quotation mark                                           -->
+<!ENTITY ldquo    "&#8220;"> <!-- U+201C ISOnum    - left double quotation mark                                            -->
+<!ENTITY rdquo    "&#8221;"> <!-- U+201D ISOnum    - right double quotation mark,                                          -->
+<!ENTITY bdquo    "&#8222;"> <!-- U+201E NEW       - double low-9 quotation mark                                           -->
+<!ENTITY dagger   "&#8224;"> <!-- U+2020 ISOpub    - dagger                                                                -->
+<!ENTITY Dagger   "&#8225;"> <!-- U+2021 ISOpub    - double dagger                                                         -->
+<!ENTITY permil   "&#8240;"> <!-- U+2030 ISOtech   - per mille sign                                                        -->
+<!ENTITY lsaquo   "&#8249;"> <!-- U+2039 ISO prop. - single left-pointing angle quotation mark                             -->
+
+<!-- lsaquo is proposed but not yet ISO standardized -->
+<!ENTITY rsaquo   "&#8250;"> <!-- U+203A ISO prop. -   single right-pointing angle quotation mark                          -->
+
+<!-- rsaquo is proposed but not yet ISO standardized -->
+<!ENTITY euro     "&#8364;"> <!-- U+20AC NEW       -   euro sign                                                           -->
+
+<!-- Latin Extended-B -->
+<!ENTITY fnof     "&#402;">  <!-- U+0192 ISOtech   - latin small f with hook = function = florin                           -->
+
+<!-- Greek -->
+<!ENTITY Alpha    "&#913;">  <!-- U+0391           - greek capital letter alpha                                            -->
+<!ENTITY Beta     "&#914;">  <!-- U+0392           - greek capital letter beta                                             -->
+<!ENTITY Gamma    "&#915;">  <!-- U+0393 ISOgrk3   - greek capital letter gamma                                            -->
+<!ENTITY Delta    "&#916;">  <!-- U+0394 ISOgrk3   - greek capital letter delta                                            -->
+<!ENTITY Epsilon  "&#917;">  <!-- U+0395           - greek capital letter epsilon                                          -->
+<!ENTITY Zeta     "&#918;">  <!-- U+0396           - greek capital letter zeta                                             -->
+<!ENTITY Eta      "&#919;">  <!-- U+0397           - greek capital letter eta                                              -->
+<!ENTITY Theta    "&#920;">  <!-- U+0398 ISOgrk3   - greek capital letter theta                                            -->
+<!ENTITY Iota     "&#921;">  <!-- U+0399           - greek capital letter iota                                             -->
+<!ENTITY Kappa    "&#922;">  <!-- U+039A           - greek capital letter kappa                                            -->
+<!ENTITY Lambda   "&#923;">  <!-- U+039B ISOgrk3   - greek capital letter lambda                                           -->
+<!ENTITY Mu       "&#924;">  <!-- U+039C           - greek capital letter mu                                               -->
+<!ENTITY Nu       "&#925;">  <!-- U+039D           - greek capital letter nu                                               -->
+<!ENTITY Xi       "&#926;">  <!-- U+039E ISOgrk3   - greek capital letter xi                                               -->
+<!ENTITY Omicron  "&#927;">  <!-- U+039F           - greek capital letter omicron                                          -->
+<!ENTITY Pi       "&#928;">  <!-- U+03A0 ISOgrk3   - greek capital letter pi                                               -->
+<!ENTITY Rho      "&#929;">  <!-- U+03A1           - greek capital letter rho                                              -->
+<!ENTITY Sigma    "&#931;">  <!-- U+03A3 ISOgrk3   - greek capital letter sigma                                            -->
+<!ENTITY Tau      "&#932;">  <!-- U+03A4           - greek capital letter tau                                              -->
+<!ENTITY Upsilon  "&#933;">  <!-- U+03A5 ISOgrk3   - greek capital letter upsilon                                          -->
+<!ENTITY Phi      "&#934;">  <!-- U+03A6 ISOgrk3   - greek capital letter phi                                              -->
+<!ENTITY Chi      "&#935;">  <!-- U+03A7           - greek capital letter chi                                              -->
+<!ENTITY Psi      "&#936;">  <!-- U+03A8 ISOgrk3   - greek capital letter psi                                              -->
+<!ENTITY Omega    "&#937;">  <!-- U+03A9 ISOgrk3   - greek capital letter omega                                            -->
+<!ENTITY alpha    "&#945;">  <!-- U+03B1 ISOgrk3   - greek small letter alpha                                              -->
+<!ENTITY beta     "&#946;">  <!-- U+03B2 ISOgrk3   - greek small letter beta                                               -->
+<!ENTITY gamma    "&#947;">  <!-- U+03B3 ISOgrk3   - greek small letter gamma                                              -->
+<!ENTITY delta    "&#948;">  <!-- U+03B4 ISOgrk3   - greek small letter delta                                              -->
+<!ENTITY epsilon  "&#949;">  <!-- U+03B5 ISOgrk3   - greek small letter epsilon                                            -->
+<!ENTITY zeta     "&#950;">  <!-- U+03B6 ISOgrk3   - greek small letter zeta                                               -->
+<!ENTITY eta      "&#951;">  <!-- U+03B7 ISOgrk3   - greek small letter eta                                                -->
+<!ENTITY theta    "&#952;">  <!-- U+03B8 ISOgrk3   - greek small letter theta                                              -->
+<!ENTITY iota     "&#953;">  <!-- U+03B9 ISOgrk3   - greek small letter iota                                               -->
+<!ENTITY kappa    "&#954;">  <!-- U+03BA ISOgrk3   - greek small letter kappa                                              -->
+<!ENTITY lambda   "&#955;">  <!-- U+03BB ISOgrk3   - greek small letter lambda                                             -->
+<!ENTITY mu       "&#956;">  <!-- U+03BC ISOgrk3   - greek small letter mu                                                 -->
+<!ENTITY nu       "&#957;">  <!-- U+03BD ISOgrk3   - greek small letter nu                                                 -->
+<!ENTITY xi       "&#958;">  <!-- U+03BE ISOgrk3   - greek small letter xi                                                 -->
+<!ENTITY omicron  "&#959;">  <!-- U+03BF NEW       - greek small letter omicron                                            -->
+<!ENTITY pi       "&#960;">  <!-- U+03C0 ISOgrk3   - greek small letter pi                                                 -->
+<!ENTITY rho      "&#961;">  <!-- U+03C1 ISOgrk3   - greek small letter rho                                                -->
+<!ENTITY sigmaf   "&#962;">  <!-- U+03C2 ISOgrk3   - greek small letter final sigma                                        -->
+<!ENTITY sigma    "&#963;">  <!-- U+03C3 ISOgrk3   - greek small letter sigma                                              -->
+<!ENTITY tau      "&#964;">  <!-- U+03C4 ISOgrk3   - greek small letter tau                                                -->
+<!ENTITY upsilon  "&#965;">  <!-- U+03C5 ISOgrk3   - greek small letter upsilon                                            -->
+<!ENTITY phi      "&#966;">  <!-- U+03C6 ISOgrk3   - greek small letter phi                                                -->
+<!ENTITY chi      "&#967;">  <!-- U+03C7 ISOgrk3   - greek small letter chi                                                -->
+<!ENTITY psi      "&#968;">  <!-- U+03C8 ISOgrk3   - greek small letter psi                                                -->
+<!ENTITY omega    "&#969;">  <!-- U+03C9 ISOgrk3   - greek small letter omega                                              -->
+<!ENTITY thetasym "&#977;">  <!-- U+03D1 NEW       - greek small letter theta symbol                                       -->
+<!ENTITY upsih    "&#978;">  <!-- U+03D2 NEW       - greek upsilon with hook symbol                                        -->
+<!ENTITY piv      "&#982;">  <!-- U+03D6 ISOgrk3   - greek pi symbol                                                       -->
+
+<!-- General Punctuation -->
+<!ENTITY bull     "&#8226;"> <!-- U+2022 ISOpub    - bullet = black small circle                                           -->
+<!ENTITY hellip   "&#8230;"> <!-- U+2026 ISOpub    - horizontal ellipsis = three dot leader                                -->
+<!ENTITY prime    "&#8242;"> <!-- U+2032 ISOtech   - prime = minutes = feet                                                -->
+<!ENTITY Prime    "&#8243;"> <!-- U+2033 ISOtech   - double prime = seconds = inches                                       -->
+<!ENTITY oline    "&#8254;"> <!-- U+203E NEW       - overline = spacing overscore                                          -->
+<!ENTITY frasl    "&#8260;"> <!-- U+2044 NEW       - fraction slash                                                        -->
+
+<!-- Letterlike Symbols -->
+<!ENTITY weierp   "&#8472;"> <!-- U+2118 ISOamso   - script capital P = power set = Weierstrass p                          -->
+<!ENTITY image    "&#8465;"> <!-- U+2111 ISOamso   - blackletter capital I = imaginary part                                -->
+<!ENTITY real     "&#8476;"> <!-- U+211C ISOamso   - blackletter capital R = real part symbol                              -->
+<!ENTITY trade    "&#8482;"> <!-- U+2122 ISOnum    - trade mark sign                                                       -->
+<!ENTITY alefsym  "&#8501;"> <!-- U+2135 NEW       - alef symbol = first transfinite cardinal                              -->
+
+<!-- Arrows -->
+<!ENTITY larr     "&#8592;"> <!-- U+2190 ISOnum    - leftwards arrow                                                       -->
+<!ENTITY uarr     "&#8593;"> <!-- U+2191 ISOnum    - upwards arrow                                                         -->
+<!ENTITY rarr     "&#8594;"> <!-- U+2192 ISOnum    - rightwards arrow                                                      -->
+<!ENTITY darr     "&#8595;"> <!-- U+2193 ISOnum    - downwards arrow                                                       -->
+<!ENTITY harr     "&#8596;"> <!-- U+2194 ISOamsa   - left right arrow                                                      -->
+<!ENTITY crarr    "&#8629;"> <!-- U+21B5 NEW       - downwards arrow with corner leftwards = carriage return               -->
+<!ENTITY lArr     "&#8656;"> <!-- U+21D0 ISOtech   - leftwards double arrow                                                -->
+<!ENTITY uArr     "&#8657;"> <!-- U+21D1 ISOamsa   - upwards double arrow                                                  -->
+<!ENTITY rArr     "&#8658;"> <!-- U+21D2 ISOtech   - rightwards double arrow                                               -->
+<!ENTITY dArr     "&#8659;"> <!-- U+21D3 ISOamsa   - downwards double arrow                                                -->
+<!ENTITY hArr     "&#8660;"> <!-- U+21D4 ISOamsa   - left right double arrow                                               -->
+
+<!-- Mathematical Operators -->
+<!ENTITY forall   "&#8704;"> <!-- U+2200 ISOtech   - for all                                                               -->
+<!ENTITY part     "&#8706;"> <!-- U+2202 ISOtech   - partial differential                                                  -->
+<!ENTITY exist    "&#8707;"> <!-- U+2203 ISOtech   - there exists                                                          -->
+<!ENTITY empty    "&#8709;"> <!-- U+2205 ISOamso   - empty set = null set = diameter                                       -->
+<!ENTITY nabla    "&#8711;"> <!-- U+2207 ISOtech   - nabla = backward difference                                           -->
+<!ENTITY isin     "&#8712;"> <!-- U+2208 ISOtech   - element of                                                            -->
+<!ENTITY notin    "&#8713;"> <!-- U+2209 ISOtech   - not an element of                                                     -->
+<!ENTITY ni       "&#8715;"> <!-- U+220B ISOtech   - contains as member                                                    -->
+<!ENTITY prod     "&#8719;"> <!-- U+220F ISOamsb   - n-ary product = product sign                                          -->
+<!ENTITY sum      "&#8721;"> <!-- U+2211 ISOamsb   - n-ary sumation                                                        -->
+<!ENTITY minus    "&#8722;"> <!-- U+2212 ISOtech   - minus sign                                                            -->
+<!ENTITY lowast   "&#8727;"> <!-- U+2217 ISOtech   - asterisk operator                                                     -->
+<!ENTITY radic    "&#8730;"> <!-- U+221A ISOtech   - square root = radical sign                                            -->
+<!ENTITY prop     "&#8733;"> <!-- U+221D ISOtech   - proportional to                                                       -->
+<!ENTITY infin    "&#8734;"> <!-- U+221E ISOtech   - infinity                                                              -->
+<!ENTITY ang      "&#8736;"> <!-- U+2220 ISOamso   - angle                                                                 -->
+<!ENTITY and      "&#8743;"> <!-- U+2227 ISOtech   - logical and = wedge                                                   -->
+<!ENTITY or       "&#8744;"> <!-- U+2228 ISOtech   - logical or = vee                                                      -->
+<!ENTITY cap      "&#8745;"> <!-- U+2229 ISOtech   - intersection = cap                                                    -->
+<!ENTITY cup      "&#8746;"> <!-- U+222A ISOtech   - union = cup                                                           -->
+<!ENTITY int      "&#8747;"> <!-- U+222B ISOtech   - integral                                                              -->
+<!ENTITY there4   "&#8756;"> <!-- U+2234 ISOtech   - therefore                                                             -->
+<!ENTITY sim      "&#8764;"> <!-- U+223C ISOtech   - tilde operator = varies with = similar to                             -->
+<!ENTITY cong     "&#8773;"> <!-- U+2245 ISOtech   - approximately equal to                                                -->
+<!ENTITY asymp    "&#8776;"> <!-- U+2248 ISOamsr   - almost equal to = asymptotic to                                       -->
+<!ENTITY ne       "&#8800;"> <!-- U+2260 ISOtech   - not equal to                                                          -->
+<!ENTITY equiv    "&#8801;"> <!-- U+2261 ISOtech   - identical to                                                          -->
+<!ENTITY le       "&#8804;"> <!-- U+2264 ISOtech   - less-than or equal to                                                 -->
+<!ENTITY ge       "&#8805;"> <!-- U+2265 ISOtech   - greater-than or equal to                                              -->
+<!ENTITY sub      "&#8834;"> <!-- U+2282 ISOtech   - subset of                                                             -->
+<!ENTITY sup      "&#8835;"> <!-- U+2283 ISOtech   - superset of                                                           -->
+<!ENTITY nsub     "&#8836;"> <!-- U+2284 ISOamsn   - not a subset of                                                       -->
+<!ENTITY sube     "&#8838;"> <!-- U+2286 ISOtech   - subset of or equal to                                                 -->
+<!ENTITY supe     "&#8839;"> <!-- U+2287 ISOtech   - superset of or equal to                                               -->
+<!ENTITY oplus    "&#8853;"> <!-- U+2295 ISOamsb   - circled plus = direct sum                                             -->
+<!ENTITY otimes   "&#8855;"> <!-- U+2297 ISOamsb   - circled times = vector product                                        -->
+<!ENTITY perp     "&#8869;"> <!-- U+22A5 ISOtech   - up tack = orthogonal to = perpendicular                               -->
+<!ENTITY sdot     "&#8901;"> <!-- U+22C5 ISOamsb   - dot operator                                                          -->
+
+<!-- Miscellaneous Technical -->
+<!ENTITY lceil    "&#8968;"> <!-- U+2308 ISOamsc   - left ceiling = apl upstile                                            -->
+<!ENTITY rceil    "&#8969;"> <!-- U+2309 ISOamsc   - right ceiling                                                         -->
+<!ENTITY lfloor   "&#8970;"> <!-- U+230A ISOamsc   - left floor = apl downstile                                            -->
+<!ENTITY rfloor   "&#8971;"> <!-- U+230B ISOamsc   - right floor                                                           -->
+<!ENTITY lang     "&#9001;"> <!-- U+2329 ISOtech   - left-pointing angle bracket = bra                                     -->
+<!ENTITY rang     "&#9002;"> <!-- U+232A ISOtech   - right-pointing angle bracket = ket                                    -->
+
+<!-- Geometric Shapes -->
+<!ENTITY loz      "&#9674;"> <!-- U+25CA ISOpub    - lozenge                                                               -->
+
+<!-- Miscellaneous Symbols -->
+<!ENTITY spades   "&#9824;"> <!-- U+2660 ISOpub    - black spade suit                                                      -->
+<!ENTITY clubs    "&#9827;"> <!-- U+2663 ISOpub    - black club suit = shamrock                                            -->
+<!ENTITY hearts   "&#9829;"> <!-- U+2665 ISOpub    - black heart suit = valentine                                          -->
+<!ENTITY diams    "&#9830;"> <!-- U+2666 ISOpub    - black diamond suit                                                    -->
+
+<!-- CVS $Revision: 1.1 $ $Date: 1999/12/01 14:19:18 $ -->
+
+<!-- Portions (C) International Organization for Standardization 1986
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies. -->

Added: xalan/site/stylebook/style/dtd/document.dtd
URL: http://svn.apache.org/viewvc/xalan/site/stylebook/style/dtd/document.dtd?rev=1350856&view=auto
==============================================================================
--- xalan/site/stylebook/style/dtd/document.dtd (added)
+++ xalan/site/stylebook/style/dtd/document.dtd Sat Jun 16 03:57:36 2012
@@ -0,0 +1,19 @@
+<?xml encoding='US-ASCII'?>
+
+<!-- STYLEBOOK DOCUMENT DTD -->
+
+<!-- import the external blocks.ent dtd -->
+<!ENTITY % blocksEntity SYSTEM "blocks.ent">
+%blocksEntity;
+
+<!ELEMENT s1 (s2|%blocks;)*>
+<!ELEMENT s2 (s3|%blocks;)*>
+<!ELEMENT s3 (s4|%blocks;)*>
+<!ELEMENT s4 (%blocks;)*>
+
+<!ATTLIST s1 title CDATA #REQUIRED>
+<!ATTLIST s2 title CDATA #REQUIRED>
+<!ATTLIST s3 title CDATA #REQUIRED>
+<!ATTLIST s4 title CDATA #REQUIRED>
+
+<!-- CVS $Revision: 1.1 $ $Date: 1999/12/01 14:19:18 $ -->
\ No newline at end of file

Added: xalan/site/stylebook/style/dtd/faqs.dtd
URL: http://svn.apache.org/viewvc/xalan/site/stylebook/style/dtd/faqs.dtd?rev=1350856&view=auto
==============================================================================
--- xalan/site/stylebook/style/dtd/faqs.dtd (added)
+++ xalan/site/stylebook/style/dtd/faqs.dtd Sat Jun 16 03:57:36 2012
@@ -0,0 +1,25 @@
+<?xml encoding='US-ASCII'?>
+
+<!-- STYLEBOOK FAQS DTD -->
+
+<!-- import the external blocks.ent dtd -->
+<!ENTITY % blocksEntity SYSTEM "blocks.ent">
+%blocksEntity;
+
+<!ELEMENT faqs (group,faq)+>
+<!ATTLIST faqs title CDATA #REQUIRED>
+
+<!-- XALAN-J: (group) Allow for grouping of faqs -->
+
+<!ELEMENT group (faq)*>
+<!ATTLIST group title CDATA #REQUIRED>
+
+<!-- Allow multiple Answers for a given FAQ Question -->
+<!ELEMENT faq (q,a+)>
+<!ATTLIST faq title CDATA #IMPLIED>
+
+<!ELEMENT q (#PCDATA)>
+<!ELEMENT a (%blocks;)+>
+
+<!-- CVS $Revision: 1.1 $ $Date: 1999/12/01 14:19:18 $ -->
+<!-- Revision by (shathaway@apache.org) 2011/09/01 -->
\ No newline at end of file

Added: xalan/site/stylebook/style/dtd/links.ent
URL: http://svn.apache.org/viewvc/xalan/site/stylebook/style/dtd/links.ent?rev=1350856&view=auto
==============================================================================
--- xalan/site/stylebook/style/dtd/links.ent (added)
+++ xalan/site/stylebook/style/dtd/links.ent Sat Jun 16 03:57:36 2012
@@ -0,0 +1,24 @@
+<?xml encoding='US-ASCII'?>
+
+<!-- LINKS ENTITY -->
+<!ENTITY % links "link|anchor|jump|img|resource-ref|human-resource-ref">
+
+<!ELEMENT anchor EMPTY>
+<!ATTLIST anchor name NMTOKEN #REQUIRED>
+
+<!ELEMENT img EMPTY>
+<!ATTLIST img src CDATA #REQUIRED
+              alt CDATA #REQUIRED>
+
+<!ELEMENT link (#PCDATA|img)*>
+<!ATTLIST link idref NMTOKEN #IMPLIED
+               anchor CDATA  #IMPLIED>
+
+<!ELEMENT jump (#PCDATA|img)*>
+<!ATTLIST jump href CDATA #REQUIRED>
+
+<!-- cross-reference resource elements -->
+<!ELEMENT resource-ref 		EMPTY>
+<!ATTLIST resource-ref 		idref CDATA #REQUIRED>
+<!ELEMENT human-resource-ref 	EMPTY>
+<!ATTLIST human-resource-ref 	 idref CDATA #REQUIRED>
\ No newline at end of file

Added: xalan/site/stylebook/style/dtd/markup.ent
URL: http://svn.apache.org/viewvc/xalan/site/stylebook/style/dtd/markup.ent?rev=1350856&view=auto
==============================================================================
--- xalan/site/stylebook/style/dtd/markup.ent (added)
+++ xalan/site/stylebook/style/dtd/markup.ent Sat Jun 16 03:57:36 2012
@@ -0,0 +1,21 @@
+<?xml encoding='US-ASCII'?>
+
+<!-- MARKUP ENTITY -->
+<!ENTITY % markup "em|ref|code|br">
+
+<!-- import the external source-specific dtd -->
+<!ENTITY % externalEntity SYSTEM "../../sources/entities.ent">
+%externalEntity;
+<!-- import the external charecters.ent dtd -->
+<!ENTITY % charEntity SYSTEM "characters.ent">
+%charEntity;
+<!-- import the external links.ent dtd -->
+<!ENTITY % linksEntity SYSTEM "links.ent">
+%linksEntity;
+
+<!ELEMENT em (#PCDATA|%links;)*>
+<!ELEMENT ref (#PCDATA|%links;)*>
+<!ELEMENT code (#PCDATA|%links;|ref)*>
+<!ELEMENT br EMPTY>
+
+<!-- CVS $Revision: 1.2 $ $Date: 1999/12/01 23:03:37 $ -->
\ No newline at end of file

Added: xalan/site/stylebook/stylebook-HowTo.txt
URL: http://svn.apache.org/viewvc/xalan/site/stylebook/stylebook-HowTo.txt?rev=1350856&view=auto
==============================================================================
--- xalan/site/stylebook/stylebook-HowTo.txt (added)
+++ xalan/site/stylebook/stylebook-HowTo.txt Sat Jun 16 03:57:36 2012
@@ -0,0 +1,78 @@
+
+STYLEBOOK  DOCUMENT  MARKUP
+
+The Apache Stylebook is a basic XML markup format from which documentation
+web pages can be created.
+
+The original stylebook processor was a java program and implemented the
+functionality of a specialized URL type.  The old URL prefix has been
+replaced by a relative path by which to locate the validating doctype
+definitions.
+
+Web pages are now created using a "stylebook.xslt" stylesheet and a
+standards compliant XSLT command line processor. The "xalan.exe" program
+is called by Windows command (.BAT) files to create the web pages.
+
+The "xalan" executable on Linux or Unix systems can also be used with
+shell scripts.
+
+The current set of web pages are constructed on Windows platforms.
+
+The "stylbook.xslt" transformation remains faithful to the test examples
+that are part of the Java stylebook program.
+
+The constructed web pages are rendered using the "apache-xalan.css"
+cascading stylesheet for modern web browsers.
+
+Care has been taken to make the web pages highly scalable to accommodate
+both high-resolution desktops and low-resolution display tablets.  Tests
+have also shown that pages are useful with browsers do not use cascading
+stylesheets.
+
+New features can be added to the "stylebook.xml" when needed.
+
+Display rendering is controlled by the "apache-xalan.css" cascading
+stylesheet.  New display renderings can be placed here.
+
+The web pages are generated as strict XHTML, but care has been taken to
+insert some non-breaking whitespace for specific elements when needed so 
+that they do not collapse. Token collapsing causes many HTML browsers to
+misbehave.
+
+Tables are implemented with scalable column widths to accommodate a wide
+variety of display resolutions.
+
+-------------------------------------------------------------
+
+The left-panel navigation is handled by an XML document containing
+the <book/> document element.
+
+Most of the XML documents define book sections.  There is a special
+section format for frequently asked questions.
+
+  +-------------------------------------------------------------------+
+  +  LOGO-GRAPHIC  |               PROJECT-TITLE                      | Div = "title"
+  +  <graph-Link>  |           Project Subtitle Line                  |
+  +-------------------------------------------------------------------|
+  |            [Link 1][Link 2][Link 3][Link 4][Link 5]               |
+  +===================================================================+
+  |  Div =     |                                                      |
+  | "navLeft"  |           Div = "content"                            |
+  |            |                                                      |
+  | Contents   |   The section heads have ending links to [top]       |
+  | from       |                                                      |
+  | <book>     |                                                      |
+  | element    |                                                      |
+  |            |                                                      |
+  +===================================================================+
+  |     Div = "footer"   Contains copyright information               |
+  +-------------------------------------------------------------------+
+
+
+  The book XML references the book.dtd which also brings in the entities.ent
+  file for document specific general entity definitions.
+
+
+
+
+

Added: xalan/site/stylebook/stylebook.xslt
URL: http://svn.apache.org/viewvc/xalan/site/stylebook/stylebook.xslt?rev=1350856&view=auto
==============================================================================
--- xalan/site/stylebook/stylebook.xslt (added)
+++ xalan/site/stylebook/stylebook.xslt Sat Jun 16 03:57:36 2012
@@ -0,0 +1,988 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+
+<!--
+* <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
+* "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+-->
+
+<xsl:output  method="xml" version="1.0" indent="yes"
+  doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
+  doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+  omit-xml-declaration="no"
+  encoding="ISO-8859-1"
+  standalone="no"
+/>
+
+<!-- THE TOP-LEVEL PARAMETERS 
+
+  logoimage   = resource image for active logo (resources/asf_logo.png)
+  logolink    = logo active hyperlink          (http://xalan.apache.org)
+  logowidth   = width of trademark logo in pixels
+  logoheight  = height of tracemark logo in pixels
+
+  bookxml     = path to the book.xml for navigation and book title
+  booklink    = path to the index.html for the book
+
+  sectionid   = basename of the source xml file without the (.xml) extension.
+  createdate  = date that this stylesheet is used.
+
+  xmlsources  = directory where project sources reside
+
+ ===============
+
+  Building a documentation web page using a commandline XSLTt transformation program
+
+  EXSLT -p sectionid='getstarted' -p createdate='Aug 7, 2011'
+    -p logoimage='resources/xalan-logo.png'
+    -p logolink='http://xalan.apache.org'
+    -p logowidth='144'
+    -p logoheight='75'
+    -p bookxml='xalan.xml'
+    -p booklink='index.html'
+    xalan\documentfile.xml  xalan-manual.xslt  ..\html\documentfile.html
+-->
+
+<xsl:param name="logoimage">resources/asf_logo.png</xsl:param>
+<xsl:param name="logolink">http://www.apache.org</xsl:param>
+<xsl:param name="logowidth">144</xsl:param>
+<xsl:param name="logoheight">75</xsl:param>
+
+<xsl:param name="bookxml">xalan.xml</xsl:param>
+<xsl:param name="booklink">index.html</xsl:param>
+
+<xsl:param name="sectionid">index</xsl:param>
+<xsl:param name="createdate"/>
+
+<xsl:param name="xmlsources">xalan</xsl:param>
+
+
+<!-- THE ROOT TEMPLATE TO BUILD ASF STYLEBOOK WEB PAGE -->
+
+<xsl:template match="/">
+
+<!-- CONSTRUCT A BOOK TITLE FROM THE REFERENCED BOOK XML -->
+
+  <xsl:variable name="booktitle">
+    <xsl:value-of select='document($bookxml)/book/@title'/>
+  </xsl:variable>
+
+
+<!-- CONSTRUCT A BOOK SUBTITLE TITLE FROM SOURCE XML PROPERTIES -->
+
+  <xsl:variable name="xalantitle">
+    <xsl:choose>
+      <xsl:when test="s1/@title">
+        <xsl:value-of select="s1/@title"/>
+      </xsl:when>
+      <xsl:when test="s2/@title">
+        <xsl:value-of select="s2/@title"/>
+      </xsl:when>
+      <xsl:when test="s3/@title">
+        <xsl:value-of select="s3/@title"/>
+      </xsl:when>
+      <xsl:when test="faqs">
+        <xsl:choose>
+          <xsl:when test="faqs/@title">
+            <xsl:value-of select="faqs/@title"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:text>Frequently Asked Questions</xsl:text>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
+      <xsl:when test="resources">
+        <xsl:text>Resources</xsl:text>
+      </xsl:when>
+      <xsl:when test="changes/@title">
+        <xsl:value-of select="changes/@title"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:text>DEBUG - xalantitle not found</xsl:text>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+<xsl:element name='html'>
+  <xsl:element name='head'>
+    <xsl:element name='title'>
+      <xsl:value-of select="concat('ASF: ',$xalantitle)"/>
+    </xsl:element><!--/title-->
+    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"/>
+    <meta http-equiv="Content-Style-Type" content="text/css"/>
+    <link rel="stylesheet" type="text/css" href="resources/apache-xalan.css"/>
+  </xsl:element><!--/head-->
+
+<!-- PUT IN THE APACHE SOFTWARE FOUNDATION LICENSING STATEMENT -->
+ <xsl:comment>
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ </xsl:comment>
+
+ <body>
+   <!-- THE TITLE SECTION -->
+
+   <xsl:call-template name="doTitle">
+     <xsl:with-param name="headtitle">
+       <xsl:value-of select="$booktitle"/>
+     </xsl:with-param>
+     <xsl:with-param name="headtitlelink">
+       <xsl:value-of select="$booklink"/>
+     </xsl:with-param>
+     <xsl:with-param name="headsubtitle">
+       <xsl:value-of select="$xalantitle"/>
+     </xsl:with-param>
+     <xsl:with-param name="headlogoimg">
+       <xsl:value-of select="$logoimage"/>
+     </xsl:with-param>
+     <xsl:with-param name="headlogolink">
+       <xsl:value-of select="$logolink"/>
+     </xsl:with-param>
+     <xsl:with-param name="headlogoheight">
+       <xsl:value-of select="$logoheight"/>
+     </xsl:with-param>
+     <xsl:with-param name="headlogowidth">
+       <xsl:value-of select="$logowidth"/>
+     </xsl:with-param>
+   </xsl:call-template>
+
+   <!-- THE NAVIGATION SECTION -->
+
+   <xsl:call-template name="doLeftNav">
+     <xsl:with-param name="sectparm">
+       <xsl:value-of select="$sectionid"/>
+     </xsl:with-param>
+   </xsl:call-template>
+
+   <!-- THE MAIN CONTENT SECTION -->
+
+   <xsl:call-template name="doContent">
+     <xsl:with-param name="mysectionid">
+       <xsl:value-of select="$sectionid"/>
+     </xsl:with-param>
+   </xsl:call-template>
+
+   <!-- THE COPYRIGHT FOOTER -->
+
+   <xsl:call-template name="doFooter">
+     <xsl:with-param name="releaseinfo">
+       <xsl:text>Web Page created on - </xsl:text>
+       <xsl:value-of select="$createdate"/>
+     </xsl:with-param>
+   </xsl:call-template>
+ </body>
+</xsl:element><!--html-->
+</xsl:template>
+
+
+<!-- DEBUG TEMPLATE -->
+<xsl:template name="DEBUG">
+  <xsl:param name="theText"/>
+  <xsl:param name="theNode"/>
+  <xsl:element name="DEBUG">
+    <xsl:element name="DEBUGTEXT">
+      <xsl:value-of select="$theText"/>
+    </xsl:element>
+    <xsl:if test="$theNode">
+      <xsl:element name="DEBUGNODES">
+        <xsl:copy-of select="$theNode"/>
+      </xsl:element>
+    </xsl:if>
+  </xsl:element>
+</xsl:template>
+
+
+<xsl:template name="doTitle">
+  <xsl:param name="headtitle">XML StyleBook Example</xsl:param>
+  <xsl:param name="headtitlelink">index.html</xsl:param>
+  <xsl:param name="headsubtitle">Documentation Test Example</xsl:param>
+  <xsl:param name="headlogoimg">resources/asf_logo.png</xsl:param>
+  <xsl:param name="headlogolink">http://www.apache.org</xsl:param>
+  <xsl:param name="headlogoheight"><xsl:value-of select="$logoheight"/></xsl:param>
+  <xsl:param name="headlogowidth"><xsl:value-of select="$logowidth"/></xsl:param>
+  <xsl:element name="div">
+    <xsl:attribute name="id">
+       <xsl:text>title</xsl:text>
+    </xsl:attribute>
+    <table class="HdrTitle">
+    <tbody>
+    <tr>
+     <th rowspan="2">
+      <xsl:element name='a'>
+        <xsl:attribute name='href'><xsl:value-of select='$headlogolink'/></xsl:attribute>
+        <xsl:element name='img'>
+          <xsl:attribute name='alt'><xsl:text>Trademark Logo</xsl:text></xsl:attribute>
+          <xsl:attribute name='src'><xsl:value-of select="$headlogoimg"/></xsl:attribute>
+          <xsl:attribute name='width'><xsl:value-of select="$headlogowidth"/></xsl:attribute>
+          <xsl:attribute name='height'><xsl:value-of select="$headlogoheight"/></xsl:attribute>
+        </xsl:element><!-- img -->
+      </xsl:element><!-- a -->
+     </th>
+     <th text-align="center" width="75%">
+       <xsl:element name='a'>
+         <xsl:attribute name='href'>
+           <xsl:value-of select="$headtitlelink"/>
+         </xsl:attribute>
+         <xsl:value-of select="$headtitle"/>
+       </xsl:element><!-- a -->
+     </th>
+    </tr>
+    <tr>
+     <td valign="middle"><xsl:value-of select="$headsubtitle"/></td>
+    </tr>
+    </tbody>
+    </table>
+
+<!--  </xsl:element> -->
+
+<!-- Useful Emulation of Project Header Buttons -->
+
+<!-- <table class="HdrButtons"> -->
+
+    <table class="HdrButtons" align="center" border="1">
+     <tbody>
+      <tr>
+       <td><a href="http://www.apache.org">Apache Foundation</a></td>
+       <td><a href="http://xalan.apache.org">Xalan Project</a></td>
+       <td><a href="http://xerces.apache.org">Xerces Project</a></td>
+       <td><a href="http://www.w3.org/TR">Web Consortium</a></td>
+       <td><a href="http://www.oasis-open.org/standards">Oasis Open</a></td>
+      </tr>
+     </tbody>
+    </table>
+  </xsl:element>
+<!-- -->
+
+</xsl:template>
+
+
+<xsl:template name="doLeftNav">
+<xsl:param name="sectparm" select="''"/>
+<xsl:element name="div">
+  <xsl:attribute name="id">navLeft</xsl:attribute>
+  <ul>
+  <xsl:for-each select="document($bookxml)/book/*">
+    <xsl:if test="name(.)!='hidden'">
+    <xsl:choose>
+      <xsl:when test="name(.)='external'">
+        <li>
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="@href"/>
+          </xsl:attribute>
+          <xsl:value-of select="@label"/>
+        </xsl:element>
+        </li>
+      </xsl:when>
+      <xsl:when test="name(.)='resources'">
+        <li>
+        <xsl:choose>
+          <xsl:when test="$sectparm != 'resources'">
+            <a href="resources.html">Resources</a><br/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:text>Resources</xsl:text><br/>
+        </xsl:otherwise>
+      </xsl:choose>
+      </li>
+      </xsl:when>
+      <xsl:when test="name(.)='changes'">
+        <li>
+        <xsl:choose>
+          <xsl:when test="$sectparm != 'changes'">
+            <a href="changes.html">Changes</a><br/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:text>Changes</xsl:text>
+          </xsl:otherwise>
+        </xsl:choose>
+        </li>
+      </xsl:when>
+      <xsl:when test="name(.)='separator'">    <!--  </ul>   <hr/>      <ul> -->
+        <xsl:text disable-output-escaping="yes">&lt;/ul&gt;&lt;hr /&gt;&lt;ul&gt;</xsl:text>
+      </xsl:when>
+      <xsl:when test="(name(.)='document') or (name(.)='faqs')">
+        <li>
+        <xsl:choose>
+          <xsl:when test="$sectparm != string(@id)">
+            <xsl:element name="a">
+              <xsl:attribute name="href">
+                <xsl:value-of select="concat(@id,'.html')"/>
+              </xsl:attribute>
+              <xsl:value-of select="@label"/>
+            </xsl:element>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="@label"/><br/>
+          </xsl:otherwise>
+        </xsl:choose>
+        </li>
+      </xsl:when>
+
+
+      <xsl:when test="name(.)='group'">
+        <xsl:text disable-output-escaping="yes">&lt;/ul&gt;</xsl:text>
+        <xsl:element name="p">
+          <xsl:attribute name="class">navGroup</xsl:attribute>
+          <em><xsl:value-of select="@label"/></em>
+        </xsl:element>
+        <xsl:text disable-output-escaping="yes">&lt;ul&gt;</xsl:text>
+
+        <xsl:for-each select="./*"> 
+          <xsl:choose>
+
+            <xsl:when test="name(.)='external'">
+              <li>
+              <xsl:element name="a">
+                <xsl:attribute name="href">
+                  <xsl:value-of select="@href"/>
+                </xsl:attribute>
+                <xsl:value-of select="@label"/>
+              </xsl:element>
+              </li>
+            </xsl:when>
+            <xsl:when test="name(.)='resources'">
+              <li>
+              <xsl:choose>
+                <xsl:when test="$sectparm != 'resources'">
+                  <a href="resources.html">Resources</a><br/>
+                </xsl:when>
+                <xsl:otherwise>
+                  <xsl:text>Resources</xsl:text><br/>
+              </xsl:otherwise>
+            </xsl:choose>
+            </li>
+            </xsl:when>
+            <xsl:when test="name(.)='changes'">
+              <li>
+              <xsl:choose>
+                <xsl:when test="$sectparm != 'changes'">
+                  <a href="changes.html">Changes</a><br/>
+                </xsl:when>
+                <xsl:otherwise>
+                  <xsl:text>Changes</xsl:text>
+                </xsl:otherwise>
+              </xsl:choose>
+              </li>
+            </xsl:when>
+            <xsl:when test="(name(.)='document') or (name(.)='faqs')">
+              <li>
+              <xsl:choose>
+                <xsl:when test="$sectparm != string(@id)">
+                  <xsl:element name="a">
+                    <xsl:attribute name="href">
+                      <xsl:value-of select="concat(@id,'.html')"/>
+                    </xsl:attribute>
+                    <xsl:value-of select="@label"/>
+                  </xsl:element>
+                </xsl:when>
+                <xsl:otherwise>
+                  <xsl:value-of select="@label"/><br/>
+                </xsl:otherwise>
+              </xsl:choose>
+              </li>
+            </xsl:when>
+
+
+            <xsl:otherwise>
+<!--
+ ! Unrecognized child of Navigation <group> element -->
+-->
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:otherwise>
+<!--
+ ! Unrecognized child of Navigation <book> element -->
+-->
+      </xsl:otherwise>
+    </xsl:choose>
+    </xsl:if> <!-- not hidden -->
+  </xsl:for-each>
+  </ul>
+</xsl:element>
+</xsl:template>
+
+
+<xsl:template name="doContent">
+  <xsl:element name="div">
+    <xsl:attribute name="id">content</xsl:attribute>
+    <xsl:choose>
+      <xsl:when test="faqs">
+        <xsl:for-each select="faqs">
+          <xsl:call-template name="doFaqDocument"/>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:when test="resources">
+        <xsl:for-each select="resources">
+          <xsl:call-template name="doResDocument"/>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:when test="changes">
+        <xsl:for-each select="changes">
+          <xsl:call-template name="doChangesDoc"/>
+        </xsl:for-each>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:apply-templates/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:element>
+</xsl:template>
+
+
+<xsl:template name="doFooter">
+  <xsl:param name="releaseinfo"/>
+  <xsl:element name="div">
+    <xsl:attribute name="id">footer</xsl:attribute>
+    <!-- copyright byline information -->
+    <!-- &#169; is the (c) copyright symbol -->
+    <xsl:text>Copyright &#169; 1999-2012 The Apache Software Foundation</xsl:text><br/>
+    <xsl:text>Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation</xsl:text>
+    <xsl:element name="div">
+      <xsl:attribute name="class">small</xsl:attribute>
+      <xsl:value-of select="$releaseinfo"/>
+    </xsl:element>
+  </xsl:element>
+</xsl:template>
+
+
+<!-- 
+  getPrevFaqCount returns the number of <faq> elements found in the previous <group>s 
+  Used to create sequential ID numbers across <faq> groups for titles and anchors.
+-->
+
+<xsl:template name="getPrevFaqCount">
+  <xsl:param name="mygroup">1</xsl:param>
+  <xsl:variable name="faqcount">
+    <xsl:choose>
+      <xsl:when test="$mygroup &lt;= 1">0</xsl:when>
+      <xsl:otherwise>
+        <xsl:variable name="subcount">
+          <xsl:call-template name="getPrevFaqCount">
+            <xsl:with-param name="mygroup" select="$mygroup - 1"/>
+          </xsl:call-template>
+        </xsl:variable>
+        <xsl:value-of select="$subcount + count(./group[position()= ($mygroup - 1)]/faq)"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+  <xsl:value-of select="$faqcount"/>
+</xsl:template>
+
+<!-- Recursive - Generate the grouped faq Questions section -->
+
+<xsl:template name="groupFaqQuestions">
+  <xsl:param name="mygroup">1</xsl:param>
+  <xsl:if test="./group[position()=$mygroup]">
+    <h3><xsl:value-of select="./group[position()=$mygroup]/@title"/></h3>
+    <xsl:variable name="prevfaqs">
+      <xsl:call-template name="getPrevFaqCount">
+        <xsl:with-param name="mygroup"><xsl:value-of select="$mygroup"/></xsl:with-param>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:for-each select="./group[position()=$mygroup]">
+
+<!-- list must have at least one faq -->
+      <xsl:if test="./faq[position()=1]">
+        <xsl:element name="ol">
+          <xsl:attribute name="start">
+            <xsl:value-of select="$prevfaqs + 1"/>
+          </xsl:attribute>
+          <xsl:call-template name="doFaqTitles">
+            <xsl:with-param name="faqNbr"><xsl:value-of select="$prevfaqs + 1"/></xsl:with-param>
+          </xsl:call-template>
+        </xsl:element>
+      </xsl:if>
+    </xsl:for-each>
+    <xsl:call-template name="groupFaqQuestions">
+      <xsl:with-param name="mygroup"><xsl:value-of select="$mygroup + 1"/></xsl:with-param>
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template>
+
+<!-- Recursive - Generate the grouped faq Answers section -->
+
+<xsl:template name="groupFaqAnswers">
+  <xsl:param name="mygroup">1</xsl:param>
+  <xsl:if test="./group[position()=$mygroup]">
+    <xsl:variable name="prevfaqs">
+      <xsl:call-template name="getPrevFaqCount">
+        <xsl:with-param name="mygroup"><xsl:value-of select="$mygroup"/></xsl:with-param>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:for-each select="./group[position()=$mygroup]">
+      <xsl:if test="./faq[position()=1]">
+        <xsl:call-template name="doFaqContent">
+          <xsl:with-param name="faqNbr" select="$prevfaqs + 1"/>
+        </xsl:call-template>
+      </xsl:if>
+    </xsl:for-each>
+    <xsl:call-template name="groupFaqAnswers">
+      <xsl:with-param name="mygroup" select="$mygroup + 1"/>
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template>
+
+
+<!-- Updated to accommodate faq groups for XALAN-J -->
+
+<xsl:template name="doFaqDocument">
+  <h2 class="faqSubHead">Questions</h2>
+  <xsl:choose>
+    <xsl:when test="./group[position()=1]">
+      <xsl:call-template name="groupFaqQuestions"/>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:if test="./faq[position()=1]">
+        <ol start="1">
+           <xsl:call-template name="doFaqTitles"/>
+        </ol>
+      </xsl:if>
+    </xsl:otherwise>
+  </xsl:choose>
+  <h2 class="faqSubHead">Answers</h2>
+  <xsl:choose>
+    <xsl:when test="./group[position()=1]">
+      <xsl:call-template name="groupFaqAnswers"/>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:call-template name="doFaqContent"/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+
+<xsl:template name="doFaqTitles">
+  <xsl:param name="faqNbr">1</xsl:param>
+  <xsl:param name="myNbr">1</xsl:param>
+  <xsl:if test="faq[position()=$myNbr]">
+    <!-- output the title reference -->
+    <li>
+    <xsl:element name="a">
+      <xsl:attribute name="href">
+        <xsl:value-of select="concat('#faq-', $faqNbr)"/>
+      </xsl:attribute>
+      <xsl:value-of select="faq[position()=$myNbr]/@title"/>
+    </xsl:element>
+    </li>
+    <!-- get the next faq if any -->
+    <xsl:call-template name="doFaqTitles">
+      <xsl:with-param name="faqNbr" select="number($faqNbr + 1)"/>
+      <xsl:with-param name="myNbr" select="number($myNbr + 1)"/>
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template> 
+
+
+<xsl:template name="doFaqContent">
+  <xsl:param name="faqNbr">1</xsl:param>
+  <xsl:param name="myNbr">1</xsl:param>
+
+  <xsl:if test="faq[position()=$myNbr]">            <!-- output content of this element only -->
+
+<!--  <h3><xsl:value-of select="faq[position()=$myNbr]/@title"/></h3>     -->
+
+    <xsl:element name="h3">
+      <xsl:attribute name="id">
+        <xsl:value-of select="concat('faq-', $faqNbr)"/>
+      </xsl:attribute>
+      <xsl:attribute name="class">
+        <xsl:text>faqTitle</xsl:text>
+      </xsl:attribute>
+      <xsl:value-of select="concat($faqNbr, '. ', faq[position()=$myNbr]/@title)"/>
+    </xsl:element>
+
+<!--  The FAQ Text Part                            -->
+    <xsl:for-each select="faq[position()=$myNbr]/*">      <!-- children of 'faq' -->
+      <xsl:choose>
+        <xsl:when test="name(.)='q'">                  <!-- The Question Text -->
+          <div class="faqQuestion">
+            <xsl:apply-templates/>               <!-- children of 'q' -->
+          </div>
+        </xsl:when>
+        <xsl:when test="name(.)='a'">                  <!-- The Answer Text -->
+          <br/>
+          <hr/>
+          <div class="faqAnswer">
+            <xsl:apply-templates/>               <!-- children of 'a' -->
+          </div>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:apply-templates/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+
+    <xsl:call-template name="goToTop"/>
+
+<!--  Recurse for next faq item                    -->
+    <xsl:call-template name="doFaqContent">
+      <xsl:with-param name="faqNbr" select="number($faqNbr + 1)"/>
+      <xsl:with-param name="myNbr" select="number($myNbr + 1)"/>
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template> 
+
+
+<xsl:template name="goToTop">
+  <p align="right" size="2">
+    <a href="#content">(top)</a>
+  </p>
+</xsl:template>
+
+
+<xsl:template name="doResDocument">
+  <xsl:for-each select="resource|human-resource">
+    <xsl:choose>
+      <xsl:when test="name(.)='resource'">
+<!--    <h4 class="resourcetitle"><strong><xsl:value-of select="@title"/></strong><h4> -->
+        <xsl:element name="h4">
+          <xsl:attribute name="class">resourcetitle</xsl:attribute>
+          <strong><xsl:value-of select="@title"/></strong>
+        </xsl:element>
+        <p>id = [<xsl:value-of select="@id"/>]<br/>
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="@location"/>
+          </xsl:attribute>
+          <xsl:value-of select="@location"/>
+        </xsl:element><br/></p>
+      </xsl:when>
+      <xsl:when test="name(.)='human-resource'">
+<!--    <h4 class="resourcetitle"><strong><xsl:value-of select="@name"/></strong><h4> -->
+        <xsl:element name="h4">
+          <xsl:attribute name="class">resourcetitle</xsl:attribute>
+          <strong><xsl:value-of select="@name"/></strong>
+        </xsl:element>
+        <p>id = [<xsl:value-of select="@id"/>]<br/>
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="concat('mailto:',@mailto)"/>
+          </xsl:attribute>
+          <xsl:value-of select="concat('mailto:',@mailto)"/>
+        </xsl:element><br/></p>
+      </xsl:when>
+    </xsl:choose>
+  </xsl:for-each>
+</xsl:template>
+
+<xsl:template name="doChangesDoc">
+  <!-- context is <changes> element -->
+  <xsl:for-each select="release">
+    <h3 class="chgRelease">
+      <xsl:value-of select="concat('Release ',@version,' (',@date,')')"/>
+    </h3>
+    <xsl:if test="features">
+      <h4 class="chgFeatures"><xsl:text>Features</xsl:text></h4>
+      <xsl:for-each select="features">
+        <ul>
+          <xsl:for-each select="feat">
+            <li><xsl:apply-templates/></li>
+          </xsl:for-each>
+        </ul>
+        <hr/>
+      </xsl:for-each>
+    </xsl:if>
+    <xsl:if test="fixes">
+      <h4 class="chgFixes"><xsl:text>Bug Fixes</xsl:text></h4>
+      <xsl:for-each select="fixes">
+        <ul>
+          <xsl:for-each select="fix">
+            <li><xsl:apply-templates/></li>
+          </xsl:for-each>
+        </ul>
+        <hr/>
+      </xsl:for-each>
+    </xsl:if>
+    <xsl:call-template name="goToTop"/>
+  </xsl:for-each>
+</xsl:template>
+
+<!-- THE MATCHING TEMPLATE RULES -->
+
+<xsl:template match="s1">
+  <h2><xsl:value-of select="@title"/></h2>
+  <xsl:apply-templates/>
+  <xsl:call-template name="goToTop"/>
+</xsl:template>
+
+<xsl:template match="s2">
+  <xsl:call-template name="goToTop"/>
+  <h3><xsl:value-of select="@title"/></h3>
+  <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="s3">
+  <xsl:call-template name="goToTop"/>
+  <h4><xsl:value-of select="@title"/></h4>
+  <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="s4">
+  <h5><xsl:value-of select="@title"/></h5>
+  <xsl:apply-templates/>
+</xsl:template>
+
+<!--<!ENTITY % blocks "p|note|ul|ol|gloss|table|source|anchor">-->
+
+<xsl:template match="p">
+  <p><xsl:apply-templates/></p>
+</xsl:template>
+
+<xsl:template match="ul">
+  <ul><xsl:apply-templates/></ul>
+</xsl:template>
+
+<xsl:template match="ol">
+  <ol><xsl:apply-templates/></ol>
+</xsl:template>
+
+<xsl:template match="li">
+  <li><xsl:apply-templates/></li>
+</xsl:template>
+
+<xsl:template match="table">
+  <table border="1"><xsl:apply-templates/></table>
+</xsl:template>
+
+<xsl:template match="tr">
+  <tr><xsl:apply-templates/></tr>
+</xsl:template>
+
+<xsl:template match="tn">
+ <td class="empty"/><!-- empty table element -->
+</xsl:template>
+
+<xsl:template match="th">
+  <xsl:element name="th">
+    <xsl:attribute name="class">content</xsl:attribute>
+    <xsl:if test="@rowspan">
+      <xsl:attribute name="rowspan">
+        <xsl:value-of select="@rowspan"/>
+      </xsl:attribute>
+    </xsl:if>
+    <xsl:if test="@colspan">
+      <xsl:attribute name="colspan">
+        <xsl:value-of select="@colspan"/>
+      </xsl:attribute>
+    </xsl:if>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<xsl:template match="td">
+  <xsl:element name="td">
+    <xsl:attribute name="class">content</xsl:attribute>
+    <xsl:if test="@rowspan">
+      <xsl:attribute name="rowspan">
+        <xsl:value-of select="@rowspan"/>
+      </xsl:attribute>
+    </xsl:if>
+    <xsl:if test="@colspan">
+      <xsl:attribute name="colspan">
+        <xsl:value-of select="@colspan"/>
+      </xsl:attribute>
+    </xsl:if>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<!--
+<xsl:template match="note">
+  <blockquote class="note"><xsl:apply-templates/></blockquote>
+</xsl:template>
+-->
+
+<xsl:template match="note">
+    <xsl:element name="table">
+      <xsl:attribute name="class">note</xsl:attribute>
+      <tr>
+        <xsl:element name="td">
+          <xsl:attribute name="class">noteImg</xsl:attribute>
+          <xsl:element name="img">
+            <xsl:attribute name="src">resources/note.gif</xsl:attribute>
+            <xsl:attribute name="alt">note</xsl:attribute>
+          </xsl:element>
+        </xsl:element>
+        <xsl:element name="td">
+          <xsl:attribute name="class">noteTxt</xsl:attribute>
+          <xsl:apply-templates/>
+        </xsl:element>
+      </tr>
+    </xsl:element>
+</xsl:template>
+
+<xsl:template match="source">
+  <blockquote class="source"><pre><xsl:value-of select="."/></pre></blockquote>
+</xsl:template>
+
+<xsl:template match="hidden">
+<!-- content is hidden -->
+</xsl:template>
+
+<!--<!ENTITY % markup "em|ref|code|br">-->
+
+<xsl:template match="br">
+  <br/>
+</xsl:template>
+
+<xsl:template match="em">
+  <b><xsl:apply-templates/></b>
+</xsl:template>
+
+<xsl:template match="code">
+  <code><xsl:apply-templates/></code>
+</xsl:template>
+
+<xsl:template match="ref">
+  <b><i><xsl:apply-templates/></i></b>
+</xsl:template>
+
+<!-- Glossary Items <label> <item> -->
+
+<xsl:template match="label">
+  <p class="label"><xsl:apply-templates/></p>
+</xsl:template>
+
+<xsl:template match="item">
+  <p class="item"><xsl:apply-templates/></p>
+</xsl:template>
+
+<!--<!ENTITY % links "link|anchor|jump|img|resource-ref|human-resource-ref">-->
+
+<xsl:template match="anchor">
+  <xsl:element name="a">
+    <xsl:attribute name="name">
+       <xsl:value-of select="@name"/>
+    </xsl:attribute>
+    <xsl:text>&#8204;</xsl:text> <!-- (zero-width non-join) character -->
+  </xsl:element>
+</xsl:template>
+
+<xsl:template match="img">
+  <xsl:copy-of select="."/>
+</xsl:template>
+
+<!-- Glossary elements "gloss (label|item)* -->
+
+<xsl:template match="gloss">
+  <xsl:element name="div">
+    <xsl:attribute name="class">glossary</xsl:attribute>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<xsl:template match="label">
+  <p class="label"><em>
+  <xsl:apply-templates/>
+  </em></p>
+</xsl:template>
+
+<xsl:template match="item">
+  <xsl:element name="blockquote">
+    <xsl:attribute name="class">item</xsl:attribute>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<!-- ********
+<!ELEMENT link (#PCDATA|img)*>
+<!ATTLIST link idref NMTOKEN #IMPLIED
+    anchor CDATA  #IMPLIED>
+
+<!ELEMENT jump (#PCDATA|img)*>
+<!ATTLIST jump href CDATA #REQUIRED>
+*************
+-->
+
+<xsl:template match="link">
+  <xsl:element name="a">
+    <xsl:attribute name="href">
+      <xsl:if test="@idref">
+        <xsl:value-of select="concat(@idref, '.html')"/>
+      </xsl:if>
+      <xsl:if test="@anchor">
+        <xsl:value-of select="concat('#', @anchor)"/>
+      </xsl:if>
+    </xsl:attribute>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<xsl:template match="jump">
+  <xsl:element name="a">
+    <xsl:attribute name="href">
+      <xsl:value-of select="@href"/>
+    </xsl:attribute>
+    <xsl:apply-templates/>
+  </xsl:element>
+</xsl:template>
+
+<!-- cross-reference resource elements -->
+
+<!--
+ Resolve Resource References through "resources.xml" document
+-->
+<xsl:template match="resource-ref">
+  <xsl:variable name="idval" select="@idref"/>
+  <xsl:variable name="resref" 
+        select="document(concat($xmlsources,'/resources.xml'))//resource[@id=$idval]"/>
+  <xsl:element name="a">
+    <xsl:attribute name="href">
+      <xsl:value-of select="$resref/@location"/>
+    </xsl:attribute>
+    <xsl:value-of select="$resref/@title"/>
+  </xsl:element>
+</xsl:template>
+
+<!--
+ Resolve Mailbox References through "resources.xml" document
+-->
+
+<xsl:template match="human-resource-ref">
+  <xsl:variable name="idval" select="@idref"/>
+  <xsl:variable name="resref" 
+        select="document(concat($xmlsources,'/resources.xml'))//human-resource[@id=$idval]"/>
+  <xsl:element name="a">
+    <xsl:attribute name="href">
+      <xsl:value-of select="concat('mailto:',$resref/@mailto)"/>
+    </xsl:attribute>
+    <xsl:value-of select="$resref/@name"/>
+  </xsl:element>
+</xsl:template>
+
+
+</xsl:stylesheet>



---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org