]> granicus.if.org Git - docbook-dsssl/commitdiff
olink is part of standard distro now; deleted this old files
authorMichael Smith <xmldoc@users.sourceforge.net>
Fri, 25 Mar 2005 04:11:15 +0000 (04:11 +0000)
committerMichael Smith <xmldoc@users.sourceforge.net>
Fri, 25 Mar 2005 04:11:15 +0000 (04:11 +0000)
16 files changed:
contrib/xsl-custom/newolink/OlinkHOWTO.html [deleted file]
contrib/xsl-custom/newolink/examples/Makefile [deleted file]
contrib/xsl-custom/newolink/examples/introduction.xml [deleted file]
contrib/xsl-custom/newolink/examples/modular.xml [deleted file]
contrib/xsl-custom/newolink/examples/preface.xml [deleted file]
contrib/xsl-custom/newolink/examples/ref.xml [deleted file]
contrib/xsl-custom/newolink/examples/targetdb.xml [deleted file]
contrib/xsl-custom/newolink/examples/ugtargets.xml [deleted file]
contrib/xsl-custom/newolink/examples/userguide.xml [deleted file]
contrib/xsl-custom/newolink/tools/chunkcustom.xsl [deleted file]
contrib/xsl-custom/newolink/tools/chunktargets.xsl [deleted file]
contrib/xsl-custom/newolink/tools/custom.xsl [deleted file]
contrib/xsl-custom/newolink/tools/newolink.xsl [deleted file]
contrib/xsl-custom/newolink/tools/olink-common.xsl [deleted file]
contrib/xsl-custom/newolink/tools/targetdatabase.dtd [deleted file]
contrib/xsl-custom/newolink/tools/targets.xsl [deleted file]

diff --git a/contrib/xsl-custom/newolink/OlinkHOWTO.html b/contrib/xsl-custom/newolink/OlinkHOWTO.html
deleted file mode 100644 (file)
index ff27184..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-<html><head>
-<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Olink  HOWTO</title><meta name="generator" content="DocBook XSL Stylesheets V1.42"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article"><div class="titlepage"><div><h2 class="title"><a name="N2593"></a>Olink  HOWTO</h2></div><div><h3 class="author">Robert Stayton</h3><div class="affiliation"><span class="orgname">Caldera International, Inc.<br></span><div class="address"><tt>&lt;<a href="mailto:bobs@caldera.com">bobs@caldera.com</a>&gt;</tt></div></div></div><div><p class="copyright">Copyright © 2001 Robert Stayton</p></div><div><p class="pubdate">22 October
-2001</p></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#N2626">The basic idea</a></dt><dt><a href="#N2658">The olink toolkit</a></dt><dt><a href="#N2750">A working example</a></dt><dt><a href="#modulardoc">Example of modular files</a></dt><dt><a href="#N3352">Using Makefiles</a></dt></dl></div><p>This document describes a DocBook customization kit that implements <tt>olink</tt> in an easy-to-use fashion. This customization permits you to create and resolve cross references between DocBook documents. This means you no longer have to put everything you want to cross reference to in the same document.</p><div class="sect1"><a name="N2626"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="N2626"></a>The basic idea</h2></div></div><p>When you form a conventional cross reference to another element within a DocBook document, you specify the value of that element's <tt>id</tt>  attribute in the cross reference's <tt>linkend</tt> attribute. When you go beyond internal links to form a cross reference to another document, you have to also identify which document  contains the <tt>id</tt> you are pointing to. If  each document has some sort of document identifier, then a cross reference just needs to specify a document id and an element id.</p><p>In a given document, any element that has an <tt>id</tt> attribute is a potential target for a cross reference. In this customization, information about all the elements with <tt>id</tt>s is extracted ahead of time and saved in a separate target dataset for that document. Then a master target database is formed by assembling all the separate datasets for  the documents you want to cross reference among. Within the database, each set of <tt>id</tt>s is associated with its particular document id. So to resolve a cross reference, a processor first looks up the document id in the database, and then searches among its element ids to find the match. </p><p>To form a cross reference to another DocBook document, you specify the document id and the element id as attributes in an <tt>olink</tt> element. You process  documents with such olinks using the customized DocBook XSL stylesheet in this toolkit. That customization has a modified olink template that knows how to open a target database, find the the matching document id and element id, and form a proper cross reference. You inform the stylesheet what target database to use by passing a parameter value at runtime.</p><p>Keep in mind that once you start forming cross references between documents, you are creating dependencies between those documents. A document with olinks to other documents is no longer completely self-contained. If any of those documents changes, you may need to regenerate your output to ensure accurate cross references. You will need to set up your development environment to manage the new dependencies you will be creating. This is most efficiently handled using Makefiles which  track the dependencies.</p></div><div class="sect1"><a name="N2658"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="N2658"></a>The olink toolkit</h2></div></div><p>This olink toolkit has two parts. The first part consists of the stylesheets for extracting the cross reference data from all of your documents. The second part is the customization of the standard DocBook XSL stylesheets to resolve olinks. All of these files are in the <tt>tools</tt> directory of the toolkit. Here is a description of all the files.</p><div class="variablelist"><dl><dt><a name="N2668"></a><span class="term"><tt>targets.xsl</tt></span></dt><dd><p><a name="N2673"></a>Stylesheet used to generate a target data set for a document that is to be output as one HTML file (not chunked). This stylesheet imports  the standard DocBook XSL stylesheet and the <tt>targets-common.xsl</tt> file. </p></dd><dt><a name="N2680"></a><span class="term"><tt>chunktargets.xsl</tt></span></dt><dd><p><a name="N2685"></a>Similar to <tt>targets.xsl</tt>, but used to generate a target data set for a document that is to be chunked as multiple HTML files when output. </p></dd><dt><a name="N2692"></a><span class="term"><tt>targets-common.xsl</tt></span></dt><dd><p><a name="N2697"></a>Not used directly, but is imported by <tt>targets.xsl</tt> and <tt>chunktargets.xsl</tt>. It has the actual XSL templates for generating the cross reference database elements.</p></dd><dt><a name="N2708"></a><span class="term"><tt>custom.xsl</tt></span></dt><dd><p><a name="N2713"></a>Stylesheet used to generate HTML output for documents with olinks. It is  a customization of the standard DocBook XSL stylesheet for generating output in a single HTML file.  If you have other stylesheet customizations, they can be merged.</p></dd><dt><a name="N2716"></a><span class="term"><tt>chunkcustom.xsl</tt></span></dt><dd><p><a name="N2721"></a>Similar to <tt>custom.xsl</tt>, except it outputs the HTML into multiple files (chunked).   If you have other chunking stylesheet customizations, they can be merged.</p></dd><dt><a name="N2728"></a><span class="term"><tt>newolink.xsl</tt></span></dt><dd><p><a name="N2733"></a>Not used directly, but is imported by <tt>custom.xsl</tt> and <tt>chunkcustom.xsl</tt>. It has the actual XSL template for generating the cross reference output for olinks.</p></dd></dl></div><p>The toolkit also includes an <tt>examples</tt> directory that has three documents that illustrate the use of olinks.</p></div><div class="sect1"><a name="N2750"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="N2750"></a>A working example</h2></div></div><p>This section describes the procedure for setting up and using the toolkit for cross referencing between two documents. It includes the details of all the steps, and a simple running example to illustrate usage. The example files are in the <tt>examples</tt> subdirectory of the toolkit.</p><p>This procedure may seem long, but seven out of ten of the steps are setting up the system. Once that is done, writing and processing cross references between documents is quite easy.</p><div class="procedure"><p><a name="N2761"></a><b>Procedure 1. </b></p><ol type="1"><li><a name="N2762"></a><p>Before you begin, you need to install the toolkit in some location relative to your document files. Then you'll need to adjust some relative paths. Edit the <tt>&lt;xsl:import&gt;</tt> statement in the following files to adjust the relative paths to the location of the standard Docbook stylesheet files on your system:<pre class="literallayout">
-Edit this line:
-    &lt;xsl:import href="../../docbook-xsl-1.45/html/docbook.xsl"/&gt; 
-
-in these files in the tools directory:
-    custom.xsl
-    targets.xsl 
-    
-And edit this similar line:
-    &lt;xsl:import href="../../docbook-xsl-1.45/html/chunk.xsl"/&gt; 
-
-in these files in the tools directory:
-    chunkcustom.xsl
-    chunktargets.xsl</pre>Alternatively, you can use full http URLs  to resolve the references to the stylesheet files.</p></li><li><a name="N2774"></a><p>Decide which documents you want to cross reference among.  You can designate different sets of documents for different projects as long as you give the database files different names. Generally each set of documents in a database will be  processed in the same time frame so the cross references remain current, although that is not a requirement.  Also, the HTML output from files in a set is generally installed  under the same HTTP server so that the cross references  have some place to go.</p><p>In the <tt>examples</tt> directory are three short documents that illustrate the use of olinks:<div class="informaltable" id="N2784"><a name="N2784"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Document</th><th>Description</th></tr></thead><tbody><tr><td>userguide.xml</td><td>A short chapter output as a single HTML file.</td></tr><tr><td>ref.xml</td><td>A collection of reference pages output in chunks.</td></tr><tr><td>modular.xml</td><td>A multichapter book set up using modular files.</td></tr></tbody></table></div></p></li><li><a name="N2825"></a><p>For each document, assign a unique document identifier. The identifiers can follow whatever naming scheme you choose, as long as each string is unique among a given document set. If you share your documents, everyone in the group needs to agree to the naming scheme to keep the names unique.</p><p>In the examples, the assigned document identifiers are:<div class="informaltable" id="N2831"><a name="N2831"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Document</th><th>Document Identifier</th></tr></thead><tbody><tr><td>userguide.xml</td><td>ug</td></tr><tr><td>ref.xml</td><td>ref</td></tr><tr><td>modular.xml</td><td>modular</td></tr></tbody></table></div></p></li><li><a name="N2872"></a><p>For HTML output, decide on how the HTML output of the documents will be located relative to each other. This is necessary for properly forming links that work in the resulting output. In general, a flattened directory arrangement is easiest to manage.</p><p>In the examples, the HTML output will go to three directories all at the same level:<div class="informaltable" id="N2878"><a name="N2878"></a><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Document</th><th>HTML output directory</th></tr></thead><tbody><tr><td>userguide.xml</td><td>UserGuide</td></tr><tr><td>ref.xml   </td><td>Reference</td></tr><tr><td>modular.xml</td><td>Modular</td></tr></tbody></table></div>That arrangement permits  cross references between documents to use relative URLs of the form:<pre class="literallayout">../UserGuide/<i><tt>filename</tt></i>.html</pre></p></li><li><a name="N2927"></a><p>For each document, generate a file that contains its target data set. This is done by applying the <tt>targets.xsl</tt> stylesheet to your document and saving the output in a file. If your document is to be chunked when processed, then use <tt>chunktargets.xsl</tt> instead. Process each document, saving the result in a different file.</p><p>In the examples, using <b>xsltproc</b> the commands would be:<pre class="literallayout">xsltproc ../tools/targets.xsl userguide.xml &gt; ugtargets.xml
-xsltproc ../tools/chunktargets.xsl ref.xml &gt; reftargets.xml
-xsltproc --xinclude ../tools/chunktargets.xsl modular.xml &gt; modtargets.xml</pre>See <a href="#modulardoc" title="Example of modular files">the section called &ldquo;Example of modular files&rdquo;</a> for details on how the modular.xml file is handled.</p></li><li><a name="N2953"></a><p>Manually create a target database framework file. For an example, see <tt>targetdb.xml</tt> in the <tt>examples</tt> directory. This is an XML document that contains information about all of your documents.  It contains information at the document level, and does not contain the target data sets for the documents. Instead, the information for each document includes a reference to its data set file. Keeping the data sets in  separate files means that each can be updated when its document changes.</p><p>In the examples, the target database file looks like:<pre class="literallayout">&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
-&lt;!DOCTYPE t:targetset SYSTEM "../tools/targetdatabase.dtd"&gt;
-&lt;t:targetset xmlns:t="http://sagehill.net/xsl/target/1.0"&gt;
-  &lt;t:targetsetinfo&gt;Information about this example
-  targets databas&lt;/t:targetsetinfo&gt;
-  &lt;t:document
-        targetdoc="ug"
-        uri="urn:x-omf:sagehill:userguide:1.0:en:html"
-        baseuri="../UserGuide/userguide.html"
-        href="../examples/ugtargets.xml" /&gt;
-  &lt;t:document
-        targetdoc="ref"
-        uri="urn:x-omf:sagehill:ref:1.0:en:html"
-        baseuri="../Reference"
-        href="../examples/reftargets.xml" /&gt;
-  &lt;t:document
-        targetdoc="modular"
-        uri="urn:x-omf:sagehill:modular:1.0:en:html"
-        baseuri="../Modular"
-        href="../examples/modtargets.xml" /&gt;
-&lt;/t:targetset&gt;
-</pre></p><p>The top level element of the target database is a <tt>targetset</tt> element. In contains an optional <tt>targetsetinfo</tt> element to record a description of this particular database, and one or more <tt>document</tt> elements. Each document element has the following attributes:</p><div class="variablelist"><dl><dt><a name="N2983"></a><span class="term"><tt>targetdoc</tt></span></dt><dd><p><a name="N2987"></a>Document identifier for this document. It must be unique among your document set.</p></dd><dt><a name="N2990"></a><span class="term"><tt>uri</tt></span></dt><dd><p><a name="N2994"></a>Optional document identifier that is globally unique. This attribute comes into play only if you are publishing your target database as well as your documents, so that others may form cross references to your published documents. This naming scheme is still under development.</p></dd><dt><a name="N2997"></a><span class="term"><tt>baseuri</tt></span></dt><dd><p><a name="N3001"></a>In HTML output, this is the first part of each  URL to be generated for this document. This forms a prefix for each <tt>href</tt> attribute for the resolved cross reference. The suffix is the <tt>href</tt> that would normally be generated for the target element by the DocBook stylesheet.</p><p>For a document that is processed whole (not chunked), the <tt>baseuri</tt> is the path to the single HTML output file. Then cross references to the document that are generated by the DocBook XSL stylesheets of the form <tt>#fragment</tt> are appended to form the complete HTML <tt>href</tt>.</p><p>For a document processed into chunked output, the <tt>baseuri</tt> is the path to the directory containing the collection of output files. Then cross references that are generated by the DocBook XSL stylesheet of the form <tt>filename.html</tt> (with an optional <tt>#fragment</tt>) are appended to form the complete HTML <tt>href</tt>.</p></dd><dt><a name="N3038"></a><span class="term"><tt>href</tt></span></dt><dd><p><a name="N3042"></a>Pathname to the file containing the target data set for this document. This file was generated using <tt>targets.xsl</tt> (or <tt>chunktargets.xsl</tt> for a chunked document).</p></dd></dl></div><p>When you start to set up, you might want to form a table like this one to summarize the information you'll need for all your documents. You can use that to write your targets database file.</p><div class="table"><p><a name="N3055"></a><b>Table 1. Document Information</b></p><table summary="Document Information" border="1"><colgroup><col><col><col><col><col></colgroup><thead><tr><th>Document File</th><th><table class="simplelist" border="0" summary="Simple list"><tr><td>Document ID</td></tr><tr><td>(targetdoc)</td></tr></table></th><th><table class="simplelist" border="0" summary="Simple list"><tr><td>Output Directory</td></tr><tr><td>(used in baseuri)</td></tr></table></th><th><table class="simplelist" border="0" summary="Simple list"><tr><td>Target Dataset</td></tr><tr><td>(href)</td></tr></table></th><th>&nbsp;</th></tr></thead><tbody><tr><td>userguide.xml</td><td>ug</td><td>UserGuide</td><td>ugtargets.xml</td><td>&nbsp;</td></tr><tr><td>ref.xml</td><td>ref</td><td>Reference</td><td>reftargets.xml</td><td>&nbsp;</td></tr><tr><td>modular.xml</td><td>modular</td><td>Modular</td><td>modtargets.xml</td><td>&nbsp;</td></tr></tbody></table></div></li><li><a name="N3157"></a><p>In your document files that will be using olinks, alter the DOCTYPE declaration to add two new attributes to the olink element:<pre class="literallayout">&lt;!DOCTYPE chapter SYSTEM "../../docbook412/docbookx.dtd" [
-&lt;!ENTITY % local.olink.attrib
-        "targetdoc      CDATA   #IMPLIED
-         targetid       CDATA   #IMPLIED"
-&gt;
-]&gt;</pre></p></li><li><a name="N3165"></a><p>Add olinks to your documents as needed to create cross references to other documents. If you want the olink to generate the cross reference text the way an <tt>xref</tt> element does, then leave the content empty. It you want your own text as the hot spot, then add that text as the content of the olink element.</p><p>Each olink must have three attribute values to form a cross reference:<div class="variablelist"><dl><dt><a name="N3175"></a><span class="term"><tt>type="stylesheet"</tt></span></dt><dd><p><a name="N3179"></a>This fixed attribute value distinguishes this new type of olink from the original type that used other attributes to identify the link. It indicates that the XSL stylesheet is to resolve the olink, using the cross reference database that is passed to it as a parameter.</p></dd><dt><a name="N3182"></a><span class="term"><tt>targetdoc="<i><tt>docid</tt></i>"</tt></span></dt><dd><p><a name="N3189"></a>Identifies which document has the target of the cross reference. This must match a <tt>targetdoc</tt> attribute value in your target database.</p></dd><dt><a name="N3195"></a><span class="term"><tt>targetid="<i><tt>elementid</tt></i>"</tt></span></dt><dd><p><a name="N3202"></a>Identifies the id value of the element being referenced in the target document.</p></dd></dl></div></p><p>Here are two olink examples, one with content and one without:<pre class="literallayout">&lt;olink type="stylesheet"
-            targetdoc="ref"
-            targetid="param.html.stylesheet"&gt;
-html.stylesheet&lt;/olink&gt;
-
-&lt;olink type="stylesheet"
-            targetdoc="ref"
-            targetid="param.html.stylesheet.type"/&gt;
-</pre></p></li><li><a name="N3211"></a><p>Process your document using the <tt>custom.xsl</tt> stylesheet for single file output, or use <tt>chunkcustom.xsl</tt> for chunked output. Whichever you choose should match the chunk style when you extracted the target data set for the document.</p><p>You'll also need to pass as a parameter the filename of your target database. The parameter name is <tt>target.database.document</tt>.</p><p>Here is how one of the  example documents is  processed with <b>xsltproc</b>:<pre class="literallayout">
-xsltproc --param target.database.document '"../examples/targetdb.xml"' \
-         --output ../UserGuide/userguide.xml \
-         ../tools/custom.xsl userguide.xml </pre></p></li><li><a name="N3239"></a><p>Browse your HTML output to make sure the olinks work. Here is how an olink is rendered in HTML:<pre class="literallayout">&lt;a href="../Reference/rn01re03.html"&gt;html.stylesheet.type&lt;/a&gt;</pre></p></li></ol></div></div><div class="sect1"><a name="modulardoc"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="modulardoc"></a>Example of modular files</h2></div></div><p>The <tt>examples</tt> directory also contains a third document (<tt>modular.xml</tt>) that illustrates how you can use XInclude and olinks to create a large document from several smaller document modules. Modular files allow you to break up large unwieldy documents into manageable units, or reuse boilerplate material in several documents.</p><p>In traditional XML and SGML, you can break a large document into a single container document (say, at the book level) and several system entity files (say, one for each chapter). The main document consists primarily of a sequence of references to the system entities. The problem with this arrangement is that a system entity file is not a valid XML document because it cannot contain a DOCTYPE declaration. If it does, then most processors will generate an error when the module is pulled into the main document. Not having a DOCTYPE also means you cannot edit a modular file with a validating editor. You either have to temporarily add a DOCTYPE, or use an editor that fakes having a DOCTYPE. Even if you somehow add the DOCTYPE, you run into another problem with cross references. When a cross reference points to another chapter, it will fail validation. That is because the <tt>linkend</tt> attribute used in <tt>xref</tt> and  <tt>link</tt> is an IDREF that must resolve to an ID in the current document. You can choose to ignore these kinds of validation errors, but it is cleaner if your files have no validation errors.</p><p>These problems are eliminated if instead of system entities you use modular XML files and olinks. The <tt>examples</tt> directory contains a modular book example in three files:<pre class="literallayout">
-modular.xml           Master book document.
-preface.xml           Preface document.
-introduction.xml      Chapter document.</pre></p><p>The modular book uses XInclude to pull in XML content from individual chapter files. The main <tt>modular.xml</tt> file looks like this:<pre class="literallayout">&lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;!DOCTYPE book SYSTEM "../../docbook412/docbookx.dtd"&gt;
-&lt;book id="IncludeTest"&gt;
-&lt;bookinfo&gt;
-&lt;title&gt;Testing modular doc&lt;/title&gt;
-&lt;/bookinfo&gt;
-&lt;xi:include href="preface.xml#mypreface"
-     xmlns:xi="http://www.w3.org/2001/XInclude"/&gt;
-&lt;xi:include href="introduction.xml#intro"
-     xmlns:xi="http://www.w3.org/2001/XInclude"/&gt;
-&lt;/book&gt;
-</pre>The use of XInclude permits each chapter file to be a full XML document and not just a system entity.  The <tt>preface.xml</tt> file looks like this:<pre class="literallayout">&lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;!DOCTYPE preface SYSTEM "../../docbook412/docbookx.dtd" &gt;
-&lt;preface id="mypreface"&gt;
-&lt;title&gt;Preface in modular doc&lt;/title&gt;
-&lt;para&gt;
-My only paragraph in my preface so far to see
-how it will work when I form an olink to
-&lt;olink targetdoc="incl" targetid="intro" type="stylesheet"/&gt;
-&lt;/para&gt;
-&lt;/preface&gt;
-</pre></p><p>When the <tt>modular.xml</tt> file is processed, the <tt>&lt;xi:include&gt;</tt> elements are resolved and the content pulled in. This is similar to a system entity reference, except an XInclude can be more selective. The href <tt>preface.xml#mypreface</tt> means to select  the element in <tt>preface.xml</tt> with ID <tt>mypreface</tt>. That avoids pulling in the <tt>&lt;!DOCTYPE&gt;</tt> declaration, which generates an error.</p><p>The use of XInclude means each chapter file can have  <tt>&lt;?xml&gt;</tt> and  <tt>&lt;!DOCTYPE&gt;</tt> declarations, so it can be edited and processed individually without having to use a wrapper file to convert a system entity into a full document. To remove the problem of ID/IDREFs not resolving to other chapters, use <tt>olink</tt> instead of <tt>xref</tt> or <tt>link</tt>. The olinks are not validated, but neither do they generate errors. You test if an olink is not resolving when your main document is processed.</p><p>Processing a modular chapter file has one limitation. If chapters in a book are numbered, then processing a single chapter out of context will always number it as "Chapter 1". You don't get the proper numbering unless you process the main document. That is why the target database is generated by processing the main document that pulls in all the chapters so they are numbered correctly. Of course, this limitation can be worked around by setting up the processing environment to pass the chapter number as a parameter that the stylesheet can use.</p></div><div class="sect1"><a name="N3352"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="N3352"></a>Using Makefiles</h2></div></div><p>Because olinks create dependencies between documents, the use of Makefiles can facilitate the mangagement of those dependencies. For example:<div class="itemizedlist"><ul><li><p><a name="N3358"></a>The output for a given document is dependent on the target data file of every document it cross references. In the example files,  the userguide is dependent on <tt>reftargets.xml</tt>.</p></li><li><p><a name="N3365"></a>A target data file is in turn dependent on the document it is generated from. So <tt>reftargets.xml</tt> is dependent on <tt>ref.xml</tt>. If a document is made up of modular files, then it is dependent on all of the modular files.</p></li></ul></div></p><p>See the <tt>Makefile</tt> in the <tt>examples</tt> directory for one implementation of these dependencies.</p></div></div></body></html>
diff --git a/contrib/xsl-custom/newolink/examples/Makefile b/contrib/xsl-custom/newolink/examples/Makefile
deleted file mode 100644 (file)
index 9cc061e..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-# Makefile to demonstrate the use of
-# newolink for linking between documents.
-
-# User  guide and reference books
-
-UG-BASEURI = "../docroot/UserGuide/userguide.html"
-INCL-BASEURI = "../docroot/Modular/"
-REF-BASEURI = "../docroot/Reference"
-
-
-ugtargets.xml : userguide.xml
-       xsltproc ../tools/targets.xsl userguide.xml > ugtargets.xml
-
-reftargets.xml : ref.xml
-       xsltproc ../tools/chunktargets.xsl ref.xml > reftargets.xml
-
-# Single-file output user guide
-
-$(UG-BASEURI) : userguide.xml reftargets.xml targetdb.xml ugtargets.xml
-       test -d ../docroot/UserGuide || mkdir -p ../docroot/UserGuide
-       xsltproc --param target.database.document '"../examples/targetdb.xml"' \
-               ../tools/custom.xsl userguide.xml > $(UG-BASEURI) 2> ug.err
-
-# Chunked output reference
-
-$(REF)/index.html : ref.xml ugtargets.xml targetdb.xml reftargets.xml
-       test -d ../docroot/Reference || mkdir -p ../docroot/Reference
-       xsltproc --param target.database.document '"../examples/targetdb.xml"' \
-                --output "../docroot/Reference/" \
-                --param quiet 1 \
-               ../tools/chunkcustom.xsl ref.xml  2> ref.err
-
-ug : $(UG-BASEURI)
-
-ref : $(REF)/index.html
-
-all: ug ref
-
-# Modular doc
-
-SRC = modular.xml preface.xml introduction.xml
-
-# Make the targets file
-modtargets.xml : $(SRC)
-       xsltproc --xinclude \
-       ../tools/chunktargets.xsl modular.xml > modtargets.xml
-
-# Process the whole book
-modular: modtargets.xml
-       test -d ../docroot/Modular || mkdir -p ../docroot/Modular
-       rm -f ../docroot/Modular/*
-       xsltproc --param target.database.document '"../examples/targetdb.xml"' \
-               --xinclude \
-                --output "../docroot/Modular/" \
-               ../tools/chunkcustom.xsl modular.xml 2> mod.err
-
-# Process the preface only
-preface : preface.xml
-       xsltproc --param target.database.document '"../examples/targetdb.xml"' \
-               --xinclude \
-                --output "../docroot/Modular/" \
-               ../tools/chunkcustom.xsl preface.xml 
-
-# Process the chapter only
-intro : introduction.xml
-       xsltproc --param target.database.document '"../examples/targetdb.xml"' \
-               --xinclude \
-                --output "../docroot/Modular/" \
-               ../tools/chunkcustom.xsl introduction.xml 
diff --git a/contrib/xsl-custom/newolink/examples/introduction.xml b/contrib/xsl-custom/newolink/examples/introduction.xml
deleted file mode 100644 (file)
index 3d88424..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE chapter SYSTEM "../../docbook412/docbookx.dtd" [
-<!ENTITY % local.olink.attrib
-       "targetdoc      CDATA   #IMPLIED
-        targetid       CDATA   #IMPLIED"
->
-]>
-<chapter id="intro">
-<title>Introduction to modular doc</title>
-<para>
-A paragraph in my chapter so far to see
-how it will work when I form an olink to
-<olink targetdoc="incl" targetid="preface" type="stylesheet"/>.
-</para>
-</chapter>
diff --git a/contrib/xsl-custom/newolink/examples/modular.xml b/contrib/xsl-custom/newolink/examples/modular.xml
deleted file mode 100644 (file)
index 8145fec..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE book SYSTEM "../../docbook412/docbookx.dtd" [
-<!ENTITY % local.olink.attrib
-       "targetdoc      CDATA   #IMPLIED
-        targetid       CDATA   #IMPLIED"
->
-]>
-<book id="IncludeTest">
-<bookinfo>
-<title>Testing modular doc</title>
-</bookinfo>
-<xi:include href="preface.xml#preface"
-  xmlns:xi="http://www.w3.org/2001/XInclude"/>
-<xi:include href="introduction.xml#intro"
-  xmlns:xi="http://www.w3.org/2001/XInclude"/>
-</book>
diff --git a/contrib/xsl-custom/newolink/examples/preface.xml b/contrib/xsl-custom/newolink/examples/preface.xml
deleted file mode 100644 (file)
index eaedb59..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE preface SYSTEM "../../docbook412/docbookx.dtd" [
-<!ENTITY % local.olink.attrib
-       "targetdoc      CDATA   #IMPLIED
-        targetid       CDATA   #IMPLIED"
->
-]>
-<preface id="preface">
-<title>Preface in modular doc</title>
-<para>
-My only paragraph in my preface so far to see
-how it will work when I form an olink to
-<olink targetdoc="incl" targetid="intro" type="stylesheet"/>
-</para>
-</preface>
diff --git a/contrib/xsl-custom/newolink/examples/ref.xml b/contrib/xsl-custom/newolink/examples/ref.xml
deleted file mode 100644 (file)
index 49a07f4..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE reference SYSTEM "../../docbook412/docbookx.dtd" [
-<!ENTITY % local.olink.attrib
-       "targetdoc      CDATA   #IMPLIED
-        targetid       CDATA   #IMPLIED"
->
-]>
-<reference>
-<referenceinfo>
-<author><surname>Walsh</surname>
-<firstname>Norman</firstname></author>
-<copyright><year>1999</year><year>2000</year>
-<holder>Norman Walsh</holder>
-</copyright>
-</referenceinfo>
-<title>HTML Parameter Reference</title>
-
-<partintro>
-<section><title>Introduction</title>
-
-
-<para>This is technical reference documentation for the DocBook XSL
-Stylesheets; it documents (some of) the parameters, templates, and
-other elements of the stylesheets.</para>
-
-<para>For general information on XSL architecture, see
-<olink type="stylesheet"
-       targetdoc="ug"
-       targetid="xsl-stylesheets"/>.
-</para>
-
-
-<para>This reference describes each of the HTML Stylesheet parameters.
-These are the <quote>easily customizable</quote> parts of the stylesheet.
-If you want to specify an alternate value for one or more of these
-parameters, you can do so in a <quote>driver</quote> stylesheet.</para>
-
-
-
-<para>For example, if you want to change the <literal>html.stylesheet</literal>
-to <filename>reference.css</filename>, you might create a driver
-stylesheet like this:</para>
-
-
-<programlisting>&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version='1.0'&gt;
-
-  &lt;xsl:import href="/path/to/html/docbook.xsl"/&gt;
-
-  &lt;xsl:param name="html.stylesheet"&gt;reference.css&lt;/xsl:param&gt;
-
-&lt;/xsl:stylesheet&gt;</programlisting>
-
-
-<para>Naturally, you have to change the
-<sgmltag class="attribute">href</sgmltag> attribute on
-<literal>&lt;xsl:import&gt;</literal>
-to point to <filename>docbook.xsl</filename>
-on your system. (Or <filename>chunk.xsl</filename>, if you're using
-chunking.)</para>
-
-
-
-<para>This is not intended to be <quote>user</quote> documentation.
-It is provided for developers writing customization layers for the
-stylesheets, and for anyone who's interested in <quote>how it
-works</quote>.</para>
-
-
-
-<para>Although I am trying to be thorough, this documentation is known
-to be incomplete. Don't forget to read the source, too :-)</para>
-
-</section>
-</partintro>
-
-<refentry id="param.author.othername.in.middle">
-<refnamediv>
-<refname>author.othername.in.middle</refname>
-<refpurpose>Is <sgmltag>othername</sgmltag> in <sgmltag>author</sgmltag> a
-middle name?</refpurpose>
-</refnamediv>
-<refsynopsisdiv>
-<synopsis>
-&lt;xsl:param name="author.othername.in.middle" select="1" doc:type="boolean"/&gt;</synopsis>
-</refsynopsisdiv>
-<refsect1><title>Description</title>
-
-<para>If true (non-zero), the <sgmltag>othername</sgmltag> of an <sgmltag>author</sgmltag>
-appears between the <sgmltag>firstname</sgmltag> and
-<sgmltag>surname</sgmltag>.  Otherwise, <sgmltag>othername</sgmltag>
-is suppressed.
-</para>
-
-</refsect1></refentry>
-
-<refentry id="param.html.stylesheet">
-<refnamediv>
-<refname>html.stylesheet</refname>
-<refpurpose>Name of the stylesheet to use in the generated HTML</refpurpose>
-</refnamediv>
-<refsynopsisdiv>
-<synopsis>
-&lt;xsl:param name="html.stylesheet" select="''" doc:type="string"/&gt;</synopsis>
-</refsynopsisdiv>
-<refsect1><title>Description</title>
-
-<para>The name of the stylesheet to place in the HTML <sgmltag>LINK</sgmltag>
-tag, or the empty string to suppress the stylesheet <sgmltag>LINK</sgmltag>.
-</para>
-
-</refsect1></refentry>
-
-<refentry id="param.html.stylesheet.type">
-<refnamediv>
-<refname>html.stylesheet.type</refname>
-<refpurpose>The type of the stylesheet used in the generated HTML</refpurpose>
-</refnamediv>
-<refsynopsisdiv>
-<synopsis>
-&lt;xsl:param name="html.stylesheet.type" doc:type="string"&gt;text/css&lt;/xsl:param&gt;</synopsis>
-</refsynopsisdiv>
-<refsect1><title>Description</title>
-
-<para>The type of the stylesheet to place in the HTML <sgmltag>link</sgmltag> tag.
-</para>
-
-</refsect1></refentry>
-
-</reference>
diff --git a/contrib/xsl-custom/newolink/examples/targetdb.xml b/contrib/xsl-custom/newolink/examples/targetdb.xml
deleted file mode 100644 (file)
index c06dfcc..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE t:targetset SYSTEM "../tools/targetdatabase.dtd" [
-]>
-<t:targetset xmlns:t="http://sagehill.net/xsl/target/1.0">
-  <t:targetsetinfo>Information about this example 
-  targets database</t:targetsetinfo>
-  <t:document
-        targetdoc="ug"
-        uri="urn:x-omf:sagehill:userguide:1.0:en:html"
-        baseuri="../UserGuide/userguide.html"
-        href="../examples/ugtargets.xml" />
-  <t:document
-        targetdoc="ref"
-        uri="urn:x-omf:sagehill:ref:1.0:en:html"
-        baseuri="../Reference"
-        href="../examples/reftargets.xml" />
-  <t:document
-        targetdoc="modular"
-        uri="urn:x-omf:sagehill:modular:1.0:en:html"
-        baseuri="../Modular"
-        href="../examples/modtargets.xml" />
-</t:targetset>
diff --git a/contrib/xsl-custom/newolink/examples/ugtargets.xml b/contrib/xsl-custom/newolink/examples/ugtargets.xml
deleted file mode 100644 (file)
index 860e635..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<t:div xmlns:t="http://sagehill.net/xsl/target/1.0" element="article" href="#publish" name="Article" number="" targetid="publish">
-  <t:ttl>Publishing DocBook Documents</t:ttl>
-  <t:xreftext>???</t:xreftext>
-  <t:page/>
-  <t:div element="section" href="#stylesheet.languages" name="Section" number="" targetid="stylesheet.languages">
-    <t:ttl>A Survey of Stylesheet Languages</t:ttl>
-    <t:xreftext>the section called &#x201C;A Survey of Stylesheet Languages&#x201D;</t:xreftext>
-    <t:page/>
-    <t:div element="section" href="#id2713646" name="Section" number="">
-      <t:ttl>Stylesheet Examples</t:ttl>
-      <t:xreftext>the section called &#x201C;Stylesheet Examples&#x201D;</t:xreftext>
-      <t:page/>
-      <t:div element="section" href="#fosi-stylesheets" name="Section" number="" targetid="fosi-stylesheets">
-        <t:ttl>FOSI stylesheet</t:ttl>
-        <t:xreftext>the section called &#x201C;FOSI stylesheet&#x201D;</t:xreftext>
-        <t:page/>
-        <t:obj element="example" href="#ex-fosi" name="Example" number="1" targetid="ex-fosi">
-          <t:ttl>A Fragment of a FOSI Stylesheet</t:ttl>
-          <t:xreftext>Example 1</t:xreftext>
-        </t:obj>
-      </t:div>
-      <t:div element="section" href="#dsssl-stylesheets" name="Section" number="" targetid="dsssl-stylesheets">
-        <t:ttl>DSSSL stylesheet</t:ttl>
-        <t:xreftext>the section called &#x201C;DSSSL stylesheet&#x201D;</t:xreftext>
-        <t:page/>
-        <t:obj element="example" href="#ex-dsssl" name="Example" number="2" targetid="ex-dsssl">
-          <t:ttl>A Fragment of a DSSSL Stylesheet</t:ttl>
-          <t:xreftext>Example 2</t:xreftext>
-        </t:obj>
-      </t:div>
-      <t:div element="section" href="#css-stylesheets" name="Section" number="" targetid="css-stylesheets">
-        <t:ttl>CSS stylesheet</t:ttl>
-        <t:xreftext>the section called &#x201C;CSS stylesheet&#x201D;</t:xreftext>
-        <t:page/>
-        <t:obj element="example" href="#ex-css" name="Example" number="3" targetid="ex-css">
-          <t:ttl>A Fragment of a CSS Stylesheet</t:ttl>
-          <t:xreftext>Example 3</t:xreftext>
-        </t:obj>
-      </t:div>
-      <t:div element="section" href="#xsl-stylesheets" name="Section" number="" targetid="xsl-stylesheets">
-        <t:ttl>XSL stylesheet</t:ttl>
-        <t:xreftext>the section called &#x201C;XSL stylesheet&#x201D;</t:xreftext>
-        <t:page/>
-        <t:obj element="example" href="#ex-xsl" name="Example" number="4" targetid="ex-xsl">
-          <t:ttl>A Fragment of an XSL Stylesheet</t:ttl>
-          <t:xreftext>Example 4</t:xreftext>
-        </t:obj>
-      </t:div>
-    </t:div>
-  </t:div>
-</t:div>
diff --git a/contrib/xsl-custom/newolink/examples/userguide.xml b/contrib/xsl-custom/newolink/examples/userguide.xml
deleted file mode 100644 (file)
index 1f77105..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE chapter SYSTEM "../../docbook412/docbookx.dtd" [
-<!ENTITY % local.olink.attrib
-       "targetdoc      CDATA   #IMPLIED
-        targetid       CDATA   #IMPLIED"
->
-]>
-<chapter id="publish">
-<title>Publishing DocBook Documents</title>
-<para>
-Creating and editing SGML/XML documents is usually only half the
-battle. After you've composed your document, you'll want to publish
-it. Publishing, for our purposes, means either print or web
-publishing. For SGML and XML documents, this is usually
-accomplished with some kind of <glossterm>stylesheet</glossterm>.  In
-the (not too distant) future, you may be able to publish an XML
-document on the Web by simply putting it online with a stylesheet, but
-for now you'll probably have to translate your document into HTML.
-</para>
-<para>
-Stylesheets provide the means for converting your documents
-to HTML. You can use the stock stylesheets, or your can
-customize them to meet your particular needs.
-For example, if you have a CSS stylesheet you always want to be
-used by your published HTML files, then you can set the
-<olink type="stylesheet"
-            targetdoc="ref"
-           targetid="param.html.stylesheet">
-html.stylesheet</olink> parameter in the XSL stylesheet
-to the name of your CSS stylesheet.
-You will also want to set the stylesheet type
-using the 
-<olink type="stylesheet"
-           targetdoc="ref"
-           targetid="param.html.stylesheet.type"/>
-parameter.
-</para>
-<para>
-There are many ways, using both free and commercial tools, to publish
-SGML documents. In this chapter, we're going to survey a number of
-possibilities, and then look at just one solution in detail: <ulink url="http://www.jclark.com/jade/">Jade</ulink> and the <ulink url="http://nwalsh.com/docbook/dsssl/">Modular DocBook
-Stylesheets.</ulink> We used jade to produce this
-book and to produce the online versions on the
-<acronym>CD-ROM</acronym>; it is also being deployed in other projects
-such as <ulink url="http://www.sgmltools.org/"><literal>&lt;SGML&gt;&amp;tools;</literal>,</ulink>
-which originated with the Linux Documentation Project.
-</para>
-<para>
-For a brief survey of other tools, see elsewhere.
-</para>
-<section id="stylesheet.languages"><title>A Survey of Stylesheet Languages</title>
-<para>
-Over the years, a number of attempts have been made to produce a
-standard stylesheet language and, failing that, a large number of
-proprietary languages have been developed.
-</para>
-<variablelist>
-<varlistentry><term>FOSIs</term>
-<listitem>
-<para>
-First, the U.S. Department of Defense, in an attempt to
-standardize stylesheets across military branches, created the
-<citetitle>Output Specification</citetitle>, which is defined in
-<acronym>MIL-PRF-28001C</acronym>, <citetitle>Markup Requirements and
-Generic Style Specification for Electronic Printed Output and Exchange
-of Text</citetitle>.<footnote>
-<para>
-See <citetitle><ulink url="http://www-cals.itsi.disa.mil/core/formal/fps.htm">Formally
-Published CALS Standards</ulink></citetitle> for more information.
-</para>
-</footnote>
-</para>
-<para>
-Commonly called FOSIs (for Formatting Output Specification Instances),
-they are supported by a few products including ADEPT Publisher by
-<ulink url="http://www.arbortext.com/">Arbortext</ulink> and DL
-Composer by <ulink url="http://www.datalogics.com/">Datalogics</ulink>.
-</para>
-</listitem>
-</varlistentry>
-<varlistentry><term>DSSSL</term>
-<listitem>
-<para>
-Next, the International Organization for Standardization
-(<acronym>ISO</acronym>) created <acronym>DSSSL</acronym>, the
-Document Style Semantics and Specification Language. Subsets of
-<acronym>DSSSL</acronym> are supported by Jade and a few other tools,
-but it never achieved widespread support.
-</para>
-</listitem>
-</varlistentry>
-<varlistentry><term>CSS</term>
-<listitem>
-<para>
-The <acronym>W3C</acronym> CSS Working Group created
-<acronym>CSS</acronym> as a style attachment language for HTML, and,
-more recently, XML.
-</para>
-</listitem>
-</varlistentry>
-<varlistentry><term>XSL</term>
-<listitem>
-<para>
-Most recently, the XML effort has identified a standard Extensible Style
-Language (<acronym>XSL</acronym>) as a requirement. The
-<acronym>W3C</acronym> <acronym>XSL</acronym> Working Group is
-currently pursuing that effort.
-</para>
-</listitem>
-</varlistentry>
-</variablelist>
-<section><title>Stylesheet Examples</title>
-<para>
-By way of comparison, here's an example of each of the standard style
-languages. In each case, the stylesheet fragment shown contains the
-rules that reasonably formatted the following paragraph:
-</para>
-<screen>
-&lt;para>
-This is an example paragraph. It should be presented in a
-reasonable body font. &lt;emphasis>Emphasized&lt;/emphasis> words
-should be printed in italics. A single level of 
-&lt;emphasis>Nested &lt;emphasis>emphasis&lt;/emphasis> should also
-be supported.&lt;/emphasis>
-&lt;/para>
-</screen>
-<section id="fosi-stylesheets">
-<title><acronym>FOSI</acronym> stylesheet</title>
-<para>
-<acronym>FOSI</acronym>s are SGML documents. The element in the
-<acronym>FOSI</acronym> that controls the presentation of specific
-elements is the <sgmltag>e-i-c</sgmltag> (element in context) element.
-A sample <acronym>FOSI</acronym> fragment is shown in <xref linkend="ex-fosi"/>.
-</para>
-<example id="ex-fosi">
-<title>A Fragment of a <acronym>FOSI</acronym> Stylesheet</title>
-<programlisting><inlinegraphic fileref="examples/style-fosi.txt"/></programlisting>
-</example>
-</section>
-<section id="dsssl-stylesheets"><title><acronym>DSSSL</acronym> stylesheet</title>
-<para>
-<acronym>DSSSL</acronym> stylesheets are written in a Scheme-like
-language (see &ldquo;Scheme&rdquo; later in this chapter). It is the
-<function>element</function> function that controls the presentation of
-individual elements. See the example in <xref linkend="ex-dsssl"/>.
-</para>
-<example id="ex-dsssl">
-<title>A Fragment of a <acronym>DSSSL</acronym> Stylesheet</title>
-<programlisting><inlinegraphic fileref="examples/style-dsssl.txt"/></programlisting>
-</example>
-</section>
-<section id="css-stylesheets"><title><acronym>CSS</acronym> stylesheet</title>
-<para>
-<acronym>CSS</acronym> stylesheets consist of selectors and formatting
-properties, as shown in <xref linkend="ex-css"/>.
-</para>
-<example id="ex-css">
-<title>A Fragment of a <acronym>CSS</acronym> Stylesheet</title>
-<programlisting><inlinegraphic fileref="examples/style-css.txt"/></programlisting>
-</example>
-</section>
-<section id="xsl-stylesheets"><title><acronym>XSL</acronym> stylesheet</title>
-<para>
-<acronym>XSL</acronym> stylesheets are XML documents, as shown in
-<xref linkend="ex-xsl"/>. The element in the <acronym>XSL</acronym>
-stylesheet that controls the presentation of specific elements is the
-<sgmltag>xsl:template</sgmltag> element.
-</para>
-<example id="ex-xsl">
-<title>A Fragment of an <acronym>XSL</acronym> Stylesheet</title>
-<programlisting><inlinegraphic fileref="examples/style-xsl.txt"/></programlisting>
-</example>
-</section>
-</section>
-</section>
-</chapter>
diff --git a/contrib/xsl-custom/newolink/tools/chunkcustom.xsl b/contrib/xsl-custom/newolink/tools/chunkcustom.xsl
deleted file mode 100644 (file)
index 79e8baa..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                version="1.0">
-
-<!-- DocBook stylesheet driver file for processing DocBook
-     documents for chunked HTML output using a target database
-     for resolving olinks.
-
-     Adjust this relative reference for importing the
-     standard chunk.xsl file.
- -->
-
-
-<xsl:import href="../../docbook-xsl-1.45/html/chunk.xsl"/>
-<xsl:output method="html" indent="yes" encoding="UTF-8"/>
-
-<xsl:param name="target.database.document" select="''"/>
-<xsl:param name="use.id.as.filename" select="'1'"/>
-<xsl:param name="quiet" select="1"/>
-
-<xsl:include href="newolink.xsl"/>
-
-</xsl:stylesheet>
-
diff --git a/contrib/xsl-custom/newolink/tools/chunktargets.xsl b/contrib/xsl-custom/newolink/tools/chunktargets.xsl
deleted file mode 100644 (file)
index 0ec78c0..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:t="http://sagehill.net/xsl/target/1.0"
-                version="1.0">
-
-<!-- Extracts cross reference target information from
-     a document that is going to be chunked in HTML output
-
-     Adjust this relative reference for importing the
-     standard chunk.xsl file.
--->
-
-<xsl:import href="../../docbook-xsl-1.45/html/chunk.xsl"/>
-<xsl:include href="olink-common.xsl"/>
-
-<xsl:output method="xml" indent="yes"/>
-
-<xsl:param name="base-uri" select="''"/>
-<xsl:param name="use.id.as.filename" select="'1'"/>
-
-<xsl:param name="local.l10n.xml" select="document('')"/>
-<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
-  <l:l10n language="en">
-    <l:context name="xref">
-      <l:template name="refentry" text="%t"/>
-    </l:context>
-    <l:context name="section-xref">
-      <l:template name="refsect1" text="%t"/>
-    </l:context>
-    <l:gentext key="refsect1" text="Refsect1"/>
-  </l:l10n>
-</l:i18n>
-
-<xsl:template match="refentry" mode="xref-to">
-  <xsl:apply-templates select="." mode="object.xref.markup"/>
-</xsl:template>
-
-
-<xsl:template name="olink.href.target">
-  <xsl:param name="nd" select="."/>
-
-  <xsl:value-of select="$base-uri"/>
-  <xsl:call-template name="href.target">
-    <xsl:with-param name="obj" select="$nd"/>
-  </xsl:call-template>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/contrib/xsl-custom/newolink/tools/custom.xsl b/contrib/xsl-custom/newolink/tools/custom.xsl
deleted file mode 100644 (file)
index 80945a2..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-        version="1.0">
-
-<!-- DocBook stylesheet driver file for processing DocBook
-     documents for single-file HTML output using a target database
-     for resolving olinks.
-
-     Adjust this relative reference for importing the
-     standard docbook.xsl file.
--->
-
-<xsl:import href="../../docbook-xsl-1.45/html/docbook.xsl"/>
-<xsl:output method="html" indent="yes" encoding="UTF-8"/>
-
-<xsl:param name="target.database.document" select="''"/>
-
-<xsl:include href="newolink.xsl"/>
-
-</xsl:stylesheet>
-
diff --git a/contrib/xsl-custom/newolink/tools/newolink.xsl b/contrib/xsl-custom/newolink/tools/newolink.xsl
deleted file mode 100644 (file)
index 9d3a001..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:t="http://sagehill.net/xsl/target/1.0"
-                exclude-result-prefixes="t"
-                version='1.0'>
-
-<!-- New olink template to process olinks using an
-     external cross reference database
-     If an olink does not use a type="stylesheet" attribute,
-     then the behavior reverts to the old olink by
-     applying imports for the olink template from the
-     standard stylesheet.
--->
-
-<xsl:template match="olink">
-
-  <!-- Open the database document passed on the command line -->
-  <xsl:variable name="target.database" 
-              select="document($target.database.document)"/>
-
-  <!-- Future feature to assemble generated text using local stylesheet -->
-  <xsl:variable name="olink.styled.locally" select="0"/>
-
-
-<!-- You can uncomment these message to see what is going on. 
-<xsl:message>
-  The database name is <xsl:value-of select="$target.database.document"/>
-  The targetset is <xsl:value-of select="$target.database/t:targetset"/>
-</xsl:message>
--->
-
-<xsl:choose>
-  <xsl:when test="@type='stylesheet'">
-    <xsl:choose>
-      <xsl:when test="@targetdoc and @targetid">
-
-       <!-- Open data file for this document -->
-        <xsl:variable name="targetdatafilename" select="$target.database/t:targetset/t:document[@targetdoc=current()/@targetdoc]/@href" />
-        <xsl:variable name="targetdocset" select="document($target.database/t:targetset/t:document[@targetdoc=current()/@targetdoc]/@href)"/>
-
-       <!-- Get the cross reference href -->
-        <xsl:variable name="target.href" select="$targetdocset//*[@targetid=current()/@targetid]/@href"/>
-
-        <xsl:variable name="baseuri" select="$target.database/t:targetset/t:document[@targetdoc=current()/@targetdoc]/@baseuri"/>
-        <xsl:variable name="href">
-          <xsl:if test="$baseuri != ''">
-            <xsl:value-of select="$baseuri"/>
-            <xsl:if test="substring($target.href,1,1) != '#'">
-              <xsl:text>/</xsl:text>
-            </xsl:if>
-          </xsl:if>
-          <xsl:value-of select="$target.href"/>
-        </xsl:variable>
-
-       <!-- Uncomment to see what is going on 
-        <xsl:message>
-           Opening document data file <xsl:value-of select="$targetdatafilename"/>
-            targetdoc is <xsl:value-of select="current()/@targetdoc"/>
-            targetid is <xsl:value-of select="current()/@targetid"/>
-            baseuri is <xsl:value-of select="$baseuri"/>
-            target.href is <xsl:value-of select="$target.href"/>
-            href is <xsl:value-of select="$href"/></xsl:message>
-       -->
-
-       <!-- Start the HTML output -->
-        <a href="{$href}">
-
-        <xsl:choose>
-         <!-- If olink has content, use it -->
-          <xsl:when test="count(child::node()) &gt; 0">
-            <xsl:apply-templates/>
-          </xsl:when>
-         <!-- Otherwise generate the text -->
-          <xsl:otherwise>
-            <xsl:choose>
-              <xsl:when test="$olink.styled.locally">
-               <!-- no-op until implemented
-                <xsl:call-template name="olink.localstyle">
-                </xsl:call-template>
-               -->
-              </xsl:when>
-              <xsl:otherwise>
-             <!-- Use the text from the database -->
-                <xsl:variable name="xref.text" select="$targetdocset//*[@targetid=current()/@targetid]/t:xreftext"/>
-
-               <!-- Uncomment to display the text 
-<xsl:message>            xref.text is <xsl:value-of select="$xref.text"/>
-</xsl:message>
-               -->
-                <xsl:choose>
-                  <xsl:when test="$xref.text">
-                    <xsl:value-of select="$xref.text"/>
-                  </xsl:when>
-                  <xsl:otherwise>
-                    <xsl:message>
-                      Olink text not available
-                    </xsl:message>
-                    <xsl:text>MISSING OLINK TEXT</xsl:text>
-                  </xsl:otherwise>
-                </xsl:choose>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:otherwise>
-        </xsl:choose>
-
-       <!-- Close the anchor tag -->
-        </a>
-
-       <!-- Generate 'in document title' -->
-        <xsl:variable name="doctitle" 
-              select="$targetdocset/t:div[1]/t:ttl"/>
-       <xsl:if test="$doctitle">
-         <xsl:text> in </xsl:text>
-          <xsl:value-of select="$doctitle"/>
-       </xsl:if>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:message>
-          Olink of type of stylesheet is missing either targetdoc or targetid attribute.
-        </xsl:message>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:when>
-  <xsl:otherwise>
-        <!-- use the standard olink template -->
-        <xsl:apply-imports/>
-  </xsl:otherwise>
-</xsl:choose>
-  
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/contrib/xsl-custom/newolink/tools/olink-common.xsl b/contrib/xsl-custom/newolink/tools/olink-common.xsl
deleted file mode 100644 (file)
index dcdcc5b..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:t="http://sagehill.net/xsl/target/1.0"
-                version="1.0">
-
-<!-- Templates for extracting cross reference information
-     from a document for use in an xref database.
-     It is included by targets.xsl and chunktargets.xsl.
-     This was modified from Norm Walsh's original olink-common.xsl.
--->
-
-<xsl:template match="/">
-  <xsl:apply-templates mode="olink.mode"/>
-</xsl:template>
-
-<xsl:template name="attrs">
-  <xsl:param name="nd" select="."/>
-
-  <xsl:attribute name="element">
-    <xsl:value-of select="local-name(.)"/>
-  </xsl:attribute>
-
-  <xsl:attribute name="href">
-    <xsl:call-template name="olink.href.target">
-      <xsl:with-param name="obj" select="$nd"/>
-    </xsl:call-template>
-  </xsl:attribute>
-
-  <xsl:attribute name="name">
-    <xsl:call-template name="gentext.element.name"/>
-  </xsl:attribute>
-
-  <xsl:variable name="num">
-    <xsl:apply-templates select="$nd" mode="label.markup"/>
-  </xsl:variable>
-
-  <xsl:if test="$num">
-    <xsl:attribute name="number">
-      <xsl:value-of select="$num"/>
-    </xsl:attribute>
-  </xsl:if>
-
-  <xsl:if test="$nd/@id">
-    <xsl:attribute name="targetid">
-      <xsl:value-of select="$nd/@id"/>
-    </xsl:attribute>
-  </xsl:if>
-
-  <xsl:if test="$nd/@lang">
-    <xsl:attribute name="lang">
-      <xsl:value-of select="$nd/@lang"/>
-    </xsl:attribute>
-  </xsl:if>
-
-</xsl:template>
-
-<xsl:template name="div">
-  <xsl:param name="nd" select="."/>
-
-  <t:div>
-    <xsl:call-template name="attrs">
-      <xsl:with-param name="nd" select="$nd"/>
-    </xsl:call-template>
-    <t:ttl>
-      <xsl:apply-templates select="$nd" mode="title.markup"/>
-    </t:ttl>
-<!--    <t:divttl>
-      <xsl:apply-templates select="$nd" mode="object.title.markup"/>
-    </t:divttl>
--->
-    <t:xreftext>
-      <xsl:choose>
-        <xsl:when test="$nd/@xreflabel">
-          <xsl:call-template name="xref.xreflabel">
-            <xsl:with-param name="target" select="$nd"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="$nd" mode="xref-to"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </t:xreftext>
-    <t:page>
-    </t:page>
-    <xsl:apply-templates mode="olink.mode"/>
-  </t:div>
-</xsl:template>
-
-<xsl:template name="obj">
-  <xsl:param name="nd" select="."/>
-
-  <t:obj>
-    <xsl:call-template name="attrs">
-      <xsl:with-param name="nd" select="$nd"/>
-    </xsl:call-template>
-    <t:ttl>
-      <xsl:apply-templates select="$nd" mode="title.markup"/>
-    </t:ttl>
-<!--    <t:objttl>
-      <xsl:apply-templates select="$nd" mode="object.title.markup"/>
-    </t:objttl>
--->
-    <t:xreftext>
-      <xsl:choose>
-        <xsl:when test="$nd/@xreflabel">
-          <xsl:call-template name="xref.xreflabel">
-            <xsl:with-param name="target" select="$nd"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-          <xsl:apply-templates select="$nd" mode="xref-to"/>
-        </xsl:otherwise>
-      </xsl:choose>
-    </t:xreftext>
-  </t:obj>
-</xsl:template>
-
-<xsl:template match="text()|processing-instruction()|comment()"
-              mode="olink.mode">
-  <!-- nop -->
-</xsl:template>
-
-<!--
-<xsl:template match="*" mode="olink.mode">
-</xsl:template>
--->
-
-<xsl:template match="set" mode="olink.mode">
-  <xsl:call-template name="div"/>
-</xsl:template>
-
-<xsl:template match="book" mode="olink.mode">
-  <xsl:call-template name="div"/>
-</xsl:template>
-
-<xsl:template match="preface|chapter|appendix" mode="olink.mode">
-  <xsl:call-template name="div"/>
-</xsl:template>
-
-<xsl:template match="part|reference" mode="olink.mode">
-  <xsl:call-template name="div"/>
-</xsl:template>
-
-<xsl:template match="article" mode="olink.mode">
-  <xsl:call-template name="div"/>
-</xsl:template>
-
-<xsl:template match="refentry" mode="olink.mode">
-  <xsl:call-template name="div"/>
-</xsl:template>
-
-<xsl:template match="section|sect1|sect2|sect3|sect4|sect5" mode="olink.mode">
-  <xsl:call-template name="div"/>
-</xsl:template>
-
-<xsl:template match="refsection|refsect1|refsect2|refsect3" mode="olink.mode">
-  <xsl:call-template name="div"/>
-</xsl:template>
-
-<xsl:template match="figure|example|table" mode="olink.mode">
-  <xsl:call-template name="obj"/>
-</xsl:template>
-
-<xsl:template match="equation[title]" mode="olink.mode">
-  <xsl:call-template name="obj"/>
-</xsl:template>
-
-<xsl:template match="*" mode="olink.mode">
-  <xsl:if test="@id">
-    <xsl:call-template name="obj"/>
-  </xsl:if> 
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/contrib/xsl-custom/newolink/tools/targetdatabase.dtd b/contrib/xsl-custom/newolink/tools/targetdatabase.dtd
deleted file mode 100644 (file)
index 7b2e1b0..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-<!-- targetdatabase.dtd -->
-<!-- A DTD for managing cross reference target information -->
-
-<!ELEMENT targetset (targetsetinfo?, document+) >
-
-<!ELEMENT targetsetinfo (#PCDATA) >
-
-<!ELEMENT document (div*) >
-<!ATTLIST document
-        targetdoc CDATA   #REQUIRED
-        uri       CDATA   #IMPLIED
-        baseuri   CDATA   #IMPLIED
-        href      CDATA   #IMPLIED
->
-
-<!ELEMENT div (ttl?, objttl?, xreftext?, page?, (div|obj)*)>
-<!ATTLIST div
-        targetid  CDATA   #REQUIRED
-        element   CDATA   #IMPLIED
-        name      CDATA   #IMPLIED
-        number    CDATA   #IMPLIED
-        href      CDATA   #IMPLIED
-        lang      CDATA   #IMPLIED
->
-        
-        
-<!ELEMENT ttl (#PCDATA)>
-<!ELEMENT objttl (#PCDATA)>
-<!ELEMENT xreftext (#PCDATA)>
-<!ELEMENT page (#PCDATA)>
-
-<!ELEMENT obj (ttl?, objttl?, xreftext?, page?)>
-<!ATTLIST obj
-        targetid  CDATA   #REQUIRED
-        element   CDATA   #IMPLIED
-        name      CDATA   #IMPLIED
-        number    CDATA   #IMPLIED
-        href      CDATA   #IMPLIED
-        lang      CDATA   #IMPLIED
->
diff --git a/contrib/xsl-custom/newolink/tools/targets.xsl b/contrib/xsl-custom/newolink/tools/targets.xsl
deleted file mode 100644 (file)
index a4b015c..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:t="http://sagehill.net/xsl/target/1.0"
-                version="1.0">
-
-<!-- Extracts cross reference target information from
-     a document that is going to be output non-chunked in HTML.
-
-     Adjust this relative reference for importing the
-     standard docbook.xsl file.
--->
-
-<xsl:import href="../../docbook-xsl-1.45/html/docbook.xsl"/>
-<xsl:include href="olink-common.xsl"/>
-
-<xsl:output method="xml" indent="yes" />
-
-<xsl:param name="base-uri" select="''"/>
-
-<xsl:param name="local.l10n.xml" select="document('')"/>
-<l:l10n language="en" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
-  <l:context name="xref">
-    <l:template name="refentry" text="%t"/>
-  </l:context>
-</l:l10n>
-
-<xsl:template match="refentry" mode="xref-to">
-  <xsl:apply-templates select="." mode="object.xref.markup"/>
-</xsl:template>
-
-
-
-<xsl:template name="olink.href.target">
-  <xsl:param name="nd" select="."/>
-
-  <xsl:value-of select="$base-uri"/>
-  <xsl:call-template name="href.target">
-    <xsl:with-param name="obj" select="$nd"/>
-  </xsl:call-template>
-</xsl:template>
-
-</xsl:stylesheet>