Commits

kumarshantanu  committed 3298a72

migrate from Docbook 4.5 format to Docbook 5

  • Participants
  • Parent commits 072268f

Comments (0)

Files changed (1)

File src/docbkx/bituf-handbook.xml

 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
-<book>
-  <bookinfo>
+<book version="5.0" xmlns="http://docbook.org/ns/docbook"
+      xmlns:xlink="http://www.w3.org/1999/xlink"
+      xmlns:xi="http://www.w3.org/2001/XInclude"
+      xmlns:svg="http://www.w3.org/2000/svg"
+      xmlns:m="http://www.w3.org/1998/Math/MathML"
+      xmlns:html="http://www.w3.org/1999/xhtml"
+      xmlns:db="http://docbook.org/ns/docbook">
+  <info>
     <title>The Bitumen Framework Handbook</title>
 
     <author>
-      <firstname>Shantanu</firstname>
+      <personname><firstname>Shantanu</firstname><surname>Kumar</surname></personname>
 
-      <surname>Kumar</surname>
+      <affiliation>
+        <orgname>Bitumen Framework</orgname>
+      </affiliation>
     </author>
 
     <copyright>
       <blockquote>
         <para>The Bitumen Framework Handbook by Shantanu Kumar is licensed under
           a Creative Commons Attribution-NoDerivs 3.0 Unported License<footnote><para>
-          URL:
-          <link linkend="http://creativecommons.org/licenses/by-nd/3.0/">
-            http://creativecommons.org/licenses/by-nd/3.0/
-          </link></para></footnote>
+            URL:
+            <link xlink:href="http://creativecommons.org/licenses/by-nd/3.0/">http://creativecommons.org/licenses/by-nd/3.0/</link>
+          </para></footnote>
         </para>
       </blockquote>
     </legalnotice>
-
-    <pubdate>28 Feb 2011</pubdate>
-  </bookinfo>
+    
+    <pubdate>02 March, 2011</pubdate>
+  </info>
 
   <chapter>
     <title>Introduction</title>
         <title>What is it?</title>
 
         <para>Bitumen Framework<footnote><para>URL:
-          <link linkend="http://code.google.com/p/bitumenframework/">
+          <link xlink:href="http://code.google.com/p/bitumenframework/">
           http://code.google.com/p/bitumenframework/
           </link></para></footnote> is a collection of libraries for developing
-          Clojure<footnote><para><link linkend="http://clojure.org">
+          Clojure<footnote><para><link xlink:href="http://clojure.org">
           http://clojure.org</link></para></footnote> applications on the
           <trademark>Java</trademark> Virtual Machine. This handbook describes
           how to use those libraries for various use-cases.
             (see <emphasis>Table of Contents, Chapter 2</emphasis>.)
           </para>
           <para><emphasis>Project URL:</emphasis>
-            <link linkend="https://bitbucket.org/kumarshantanu/clj-miscutil/src">
+            <link xlink:href="https://bitbucket.org/kumarshantanu/clj-miscutil/src">
               https://bitbucket.org/kumarshantanu/clj-miscutil/src
             </link>
           </para>
             between the database and Clojure.
           </para>
           <para><emphasis>Project URL:</emphasis>
-            <link linkend="https://bitbucket.org/kumarshantanu/clj-dbspec/src">
+            <link xlink:href="https://bitbucket.org/kumarshantanu/clj-dbspec/src">
               https://bitbucket.org/kumarshantanu/clj-dbspec/src
             </link>
           </para>
             for supported databases.
           </para>
           <para><emphasis>Project URL:</emphasis>
-            <link linkend="https://bitbucket.org/kumarshantanu/oss-jdbc/src">
+            <link xlink:href="https://bitbucket.org/kumarshantanu/oss-jdbc/src">
               https://bitbucket.org/kumarshantanu/oss-jdbc/src
             </link>
           </para>
           database connection pools and for embedding databases in applications.
           </para>
           <para><emphasis>Project URL:</emphasis>
-            <link linkend="https://bitbucket.org/kumarshantanu/clj-dbcp/src">
+            <link xlink:href="https://bitbucket.org/kumarshantanu/clj-dbcp/src">
               https://bitbucket.org/kumarshantanu/clj-dbcp/src
             </link>
           </para>
           <title>Clj-Liquibase</title>
           <para><emphasis>Description:</emphasis> Clj-Liquibase is a simple
           Clojure DSL/wrapper around the Liquibase library
-          <link linkend="http://www.liquibase.org/">http://www.liquibase.org/</link>
+            <link xlink:href="http://www.liquibase.org/">http://www.liquibase.org/</link>
           for carrying out relational database change management and migrations.
           </para>
           <para><emphasis>Project URL:</emphasis>
-            <link linkend="https://bitbucket.org/kumarshantanu/clj-liquibase/src">
+            <link xlink:href="https://bitbucket.org/kumarshantanu/clj-liquibase/src">
               https://bitbucket.org/kumarshantanu/clj-liquibase/src
             </link>
           </para>
           <title>Lein-LB</title>
           <para><emphasis>Description:</emphasis> Leiningen plugin for
             Liquibase,<footnote><para>URL:
-              <link linkend="http://www.liquibase.org/">
+              <link xlink:href="http://www.liquibase.org/">
                 http://www.liquibase.org/
               </link></para></footnote> a database change management software.
           </para>
           <para><emphasis>Project URL:</emphasis>
-            <link linkend="https://bitbucket.org/kumarshantanu/lein-lb/src">
+            <link xlink:href="https://bitbucket.org/kumarshantanu/lein-lb/src">
               https://bitbucket.org/kumarshantanu/lein-lb/src
             </link>
           </para>
           <title>Fountain-JDBC</title>
           <para><emphasis>Description:</emphasis> Fountain-JDBC is a Clojure
             wrapper for Spring-JDBC<footnote><para>URL:
-            <link linkend="http://www.springsource.org/about">
+            <link xlink:href="http://www.springsource.org/about">
               http://www.springsource.org/about
             </link></para></footnote>.
           </para>
           <para><emphasis>Project URL:</emphasis>
-            <link linkend="https://bitbucket.org/kumarshantanu/fountain-jdbc/src">
+            <link xlink:href="https://bitbucket.org/kumarshantanu/fountain-jdbc/src">
               https://bitbucket.org/kumarshantanu/fountain-jdbc/src
             </link>
           </para>
             database.
           </para>
           <para><emphasis>Project URL:</emphasis>
-            <link linkend="https://bitbucket.org/kumarshantanu/sqlrat/src">
+            <link xlink:href="https://bitbucket.org/kumarshantanu/sqlrat/src">
               https://bitbucket.org/kumarshantanu/sqlrat/src
             </link>
           </para>
             Clojure wrapper around the StringTemplate library.
           </para>
           <para><emphasis>Project URL:</emphasis>
-            <link linkend="https://bitbucket.org/kumarshantanu/clj-stringtemplate/src">
+            <link xlink:href="https://bitbucket.org/kumarshantanu/clj-stringtemplate/src">
               https://bitbucket.org/kumarshantanu/clj-stringtemplate/src
             </link>
           </para>
       <section>
         <title>Project location</title>
         <para>URL:
-          <link linkend="http://code.google.com/p/bitumenframework/">
+          <link xlink:href="http://code.google.com/p/bitumenframework/">
             http://code.google.com/p/bitumenframework/
           </link>
         </para>
       <section>
         <title>Documentation</title>
         <para>You can access the source of this handbook:
-          <link linkend="https://bitbucket.org/kumarshantanu/bituf-handbook/src">
+          <link xlink:href="https://bitbucket.org/kumarshantanu/bituf-handbook/src">
             https://bitbucket.org/kumarshantanu/bituf-handbook/src
           </link>. Apart from this handbook every project may have its own
           tutorial/documentation that you can access at the respective project
         <title>License</title>
         <para>Unless mentioned otherwise all libraries in Bitumen Framework are
           released under Apache License 2.0<footnote><para>URL:
-            <link linkend="http://www.apache.org/licenses/LICENSE-2.0">
+            <link xlink:href="http://www.apache.org/licenses/LICENSE-2.0">
               http://www.apache.org/licenses/LICENSE-2.0
             </link>
           </para></footnote> However, please note each library may have its own
       <section>
         <title>Project Blog</title>
         <para>On BlogSpot:
-          <link linkend="http://bitumenframework.blogspot.com/">
+          <link xlink:href="http://bitumenframework.blogspot.com/">
             http://bitumenframework.blogspot.com/
           </link>
         </para>
       <section>
         <title>Twitter</title>
         <para>Author:
-          <link linkend="http://twitter.com/kumarshantanu">
+          <link xlink:href="http://twitter.com/kumarshantanu">
             http://twitter.com/kumarshantanu
           </link>
         </para>
         <para>Project:
-          <link linkend="http://twitter.com/bituf">
+          <link xlink:href="http://twitter.com/bituf">
             http://twitter.com/bituf
           </link>
         </para>
         <title>Reporting Bugs</title>
         <para>You can report bugs for every library to its respective project
           issue tracker on BitBucket.<footnote><para>URL:
-          <link linkend="https://bitbucket.org/kumarshantanu/">
+          <link xlink:href="https://bitbucket.org/kumarshantanu/">
             https://bitbucket.org/kumarshantanu/
           </link></para></footnote>
         </para>
       <section>
         <title>Discussion Group</title>
         <para>On Google groups:
-          <link linkend="http://groups.google.com/group/bitumenframework">
+          <link xlink:href="http://groups.google.com/group/bitumenframework">
             http://groups.google.com/group/bitumenframework
           </link>
         </para>
       <title>Pretty printing</title>
 
       <para>These are some pretty printing functions that you can use:</para>
-      <para><emphasis role="bold"><literal><function>with-stringwriter</function></literal></emphasis></para>
+      <para><emphasis role="bold"><literal>with-stringwriter</literal></emphasis></para>
       <para>This macro is used to assign a StringWriter to specified symbol in a
       let binding and execute body of code in that context. Returns the string
       from StringWriter . Example:</para>
   (.append s "Hello")
   (.append s "World"))  ; returns "HelloWorld"</programlisting>
       
-      <para><emphasis role="bold"><literal><function>with-err-str</function></literal></emphasis></para>
-      <para>This macro is like <literal><function>with-out-str</function></literal>
-      but for <literal><function>*err*</function></literal> instead of
-      <literal><function>*out*</function></literal>.</para>
+      <para><emphasis role="bold"><literal>with-err-str</literal></emphasis></para>
+      <para>This macro is like <literal>with-out-str</literal>
+        but for <literal>*err*</literal> instead of
+        <literal>*out*</literal>.</para>
       
-      <para><emphasis role="bold"><literal><function>pprint-str</function></literal></emphasis></para>
+      <para><emphasis role="bold"><literal>pprint-str</literal></emphasis></para>
       
       <para>This function (accepts one argument) prints anything that you pass
-      to it using <literal><function>clojure.pprint/pprint</function></literal>
+        to it using <literal>clojure.pprint/pprint</literal>
       and returns the result as string.</para>
       
-      <para><emphasis role="bold"><literal><function>comma-sep-str</function></literal></emphasis></para>
+      <para><emphasis role="bold"><literal>comma-sep-str</literal></emphasis></para>
       
       <para>This function accepts a collection as argument and returns a comma
       separated string representation.</para>
       
-      <para><emphasis role="bold"><literal><function>echo</function></literal></emphasis></para>
+      <para><emphasis role="bold"><literal>echo</literal></emphasis></para>
       
       <para>This function is a simple diagnostic tool that pretty-prints
       anything (single argument) you pass to it and returns the same argument.</para>
 
       <blockquote><para>This has been discussed
         <footnote><para>Part 1: <link
-          linkend="http://bitumenframework.blogspot.com/2010/11/non-breaking-error-handling-in-clojure.html"
+          xlink:href="http://bitumenframework.blogspot.com/2010/11/non-breaking-error-handling-in-clojure.html"
           >http://bitumenframework.blogspot.com/2010/11/non-breaking-error-handling-in-clojure.html</link></para>
         </footnote>
         <footnote><para>Part 2: <link
-          linkend="http://bitumenframework.blogspot.com/2011/01/non-breaking-error-handling-in-clojure.html"
+          xlink:href="http://bitumenframework.blogspot.com/2011/01/non-breaking-error-handling-in-clojure.html"
           >http://bitumenframework.blogspot.com/2011/01/non-breaking-error-handling-in-clojure.html</link></para>
         </footnote>
         on the Bitumen Framework blog.</para>
 
       <para><emphasis role="bold">array-type</emphasis></para>
 
-      <para><literal><function>array-type</function></literal> returns the
+      <para><literal>array-type</literal> returns the
       common type (class) of elements that can be contained in the
       array.</para>
 
       <para><emphasis
-      role="bold"><literal><function>array?</function></literal></emphasis></para>
+        role="bold"><literal>array?</literal></emphasis></para>
 
-      <para><literal><function>array?</function></literal> returns true if the
+      <para><literal>array?</literal> returns true if the
       argument is an array, false otherwise.</para>
 
       <para><emphasis
-      role="bold"><literal><function>not-array?</function></literal></emphasis></para>
+        role="bold"><literal>not-array?</literal></emphasis></para>
 
-      <para><literal><function>not-array?</function></literal> is same as
-      <literal><function>(not (array? foo))</function></literal>.</para>
+      <para><literal>not-array?</literal> is same as
+        <literal>(not (array? foo))</literal>.</para>
     </sect1>
 
     <sect1>
 
       <blockquote><para>This concept has been discussed<footnote>
         <para>URL:<link
-          linkend="http://bitumenframework.blogspot.com/2010/10/stack-traces-for-clojure-app.html"
+          xlink:href="http://bitumenframework.blogspot.com/2010/10/stack-traces-for-clojure-app.html"
           >http://bitumenframework.blogspot.com/2010/10/stack-traces-for-clojure-app.html</link>
         </para></footnote>
         on the Bitumen Framework Blog.</para>
       <para>Exception stack trace for Clojure code usually includes quite some
       unwanted entries, which are not very useful while debugging and rather
       clutter the view. The function
-      <literal><function>print-exception-stacktrace</function></literal>
+        <literal>print-exception-stacktrace</literal>
       can be used to print an exception stack trace with reduced clutter. It
       falls back to the following as stack trace elements (in that order):
       <simplelist>
     <sect1>
       <title>Assertion helpers</title>
 
-      <para><emphasis role="bold"><literal><function>verify-arg</function></literal></emphasis></para>
+      <para><emphasis role="bold"><literal>verify-arg</literal></emphasis></para>
       <para>Throws IllegalArgumentException if body of code does not return true.</para>
       <programlisting>(verify-arg (map? arg)) ; verifies arg is a map</programlisting>
       
-      <para><emphasis role="bold"><literal><function>verify-type</function></literal></emphasis></para>
+      <para><emphasis role="bold"><literal>verify-type</literal></emphasis></para>
       <para>Throws IllegalArgumentException if argument does not match expected type.</para>
       <programlisting>(verify-type java.util.Date join-date)</programlisting>
       
-      <para><emphasis role="bold"><literal><function>verify-cond</function></literal></emphasis></para>
-      <para>This macro is same as <literal><function>verify-arg</function></literal>
+      <para><emphasis role="bold"><literal>verify-cond</literal></emphasis></para>
+      <para>This macro is same as <literal>verify-arg</literal>
       but throws IllegalStateException instead of IllegalArgumentException.</para>
       
-      <para><emphasis role="bold"><literal><function>verify-opt</function></literal></emphasis></para>
+      <para><emphasis role="bold"><literal>verify-opt</literal></emphasis></para>
       <para>This function ensures that only permitted optional arguments are passed
       as optional arguments to a function or macro.</para>
       <programlisting>(defn foo
       <title>Type annotation</title>
 
       <blockquote><para>This topic has been discussed<footnote><para>URL:<link
-        linkend="http://bitumenframework.blogspot.com/2010/10/typed-abstractions-in-clojure.html"
+        xlink:href="http://bitumenframework.blogspot.com/2010/10/typed-abstractions-in-clojure.html"
         >http://bitumenframework.blogspot.com/2010/10/typed-abstractions-in-clojure.html</link>
         </para></footnote> on the Bitumen Framework blog.</para>
       </blockquote>
             described here works in conjunction with <literal>type</literal> and
             <literal>isa?</literal> functions and integrates with Clojure multi-methods
             <footnote><para>URL:<link
-              linkend="http://clojure.org/multimethods"
+              xlink:href="http://clojure.org/multimethods"
               >http://clojure.org/multimethods</link></para>
             </footnote>
             <footnote><para>URL:<link
-              linkend="http://dosync.posterous.com/beyond-javascript-prototype-chains"
+              xlink:href="http://dosync.posterous.com/beyond-javascript-prototype-chains"
               >http://dosync.posterous.com/beyond-javascript-prototype-chains</link></para>
             </footnote>.
           </para>