Jason McKesson avatar Jason McKesson committed e32219d

Documentation update.

Comments (0)

Files changed (6)

docs/Command Line Options.xml

 <?oxygen RNGSchema="http://docbook.org/xml/5.0/rng/docbookxi.rng" type="xml"?>
 <?oxygen SCHSchema="http://docbook.org/xml/5.0/rng/docbookxi.rng"?>
 <article xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude"
-    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:pg="https://bitbucket.org/alfonse/glloadgen"
+    version="5.0">
     <title>Command Line Options</title>
     <para>The command-line options for the code generation tools are explained here. They work more
         or less like the standard command-line options for typical Linux/Windows programs. Options
             </glossdef>
         </glossentry>
     </glosslist>
-    <section>
-        <title>Styles</title>
-        <para>Styles define how the system </para>
-        <para>The different styles have specific meaning for how code is generated by the system.
-            These styles are:</para>
-        <section>
-            <title>pointer_c</title>
-            <para>This builds header/loader files that are C-compatible. Everything is global (since
-                there's nothing non-global in C). OpenGL enumerators are #defines.</para>
-            <para>The functions will be global function pointers (hence the <quote>pointer</quote>
-                in the name), but because of potential name conflicts with static OpenGL loading,
-                their function pointer names will not be their actual names (for example,
-                    <quote>glBindTexture</quote>'s function pointer will not be called that).
-                Instead, the function pointer will be mangled (and prefixed); a #define will be used
-                to effectively convert from the function pointer's actual name to user-expected
-                name.</para>
-            <para>The global function pointer names will be prefixed.</para>
-            <para>Here is an example:</para>
-        </section>
-        <section>
-            <title>pointer_cpp</title>
-            <para>This builds header/loader files that are in a C++ style. The only globals are
-                OpenGL typedefs (which can't be namespaced for various reasons). Everything else
-                lies in a namespace named <literal>&lt;prefix>&lt;spec></literal>.</para>
-            <para>Enumerators will be in an actual enumeration. Also, since the namespace already
-                segregates the OpenGL stuff into its own place, there is no need to have the
-                    <quote>gl</quote> and <quote>GL_</quote> prefixes for functions and
-                enumerators.</para>
-            <note>
-                <para>There are certain OpenGL enums that start with characters that are forbidden
-                    for C++ enumerators. Such enumerators will be prefixed with an <quote>_</quote>
-                    character.</para>
-            </note>
-            <para>Also, there is no #define gimmickry to get the function names right. The function
-                pointers are always named correctly.</para>
-            <para>Here is an example:</para>
-        </section>
-    </section>
 </article>

docs/Extension Files.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<?oxygen RNGSchema="http://docbook.org/xml/5.0/rng/docbookxi.rng" type="xml"?>
+<?oxygen SCHSchema="http://docbook.org/xml/5.0/rng/docbookxi.rng"?>
+<article xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude"
+    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
+    <title>Extension Files</title>
+    <para>The extension file format is pretty simple, but it does have quite a bit of power to
+        it.</para>
+    <para>Every line of the file is expected to be one of the following:</para>
+    <itemizedlist>
+        <listitem>
+            <para>Nothing. An empty line, spaces, anything that isn't visible text.</para>
+        </listitem>
+        <listitem>
+            <para>A <literal>#include ""</literal> statement. This will cause the loading of another
+                extension file named in the <literal>""</literal>s. The <emphasis>current file's
+                    location</emphasis> will be the base directory for any relative paths. So if you
+                do <literal>#include "more.txt"</literal>, it will search for
+                    <filename>more.txt</filename> in the same directory as this extension
+                file.</para>
+        </listitem>
+        <listitem>
+            <para>A <literal>#include &lt;></literal> statement. This will cause the loading of
+                another extension file named in the <literal>&lt;></literal>s. The location of the
+                glLoadGen will be used for the base directory of any relative paths. This is mostly
+                intended to allow easy inclusion of the standard extension files, located in the
+                    <filename>extfiles</filename> directory. Therefore, </para>
+        </listitem>
+        <listitem>
+            <para>Anything starting with <literal>//</literal> will be ignored as a comment.</para>
+        </listitem>
+        <listitem>
+            <para>Anything starting with <literal>--</literal> will be ignored as a comment.</para>
+        </listitem>
+        <listitem>
+            <para>Any other text in a line will be interpreted as an extension name. Extension names
+                should not have the <quote>GL_</quote>/<quote>WGL_</quote>/<quote>GLX_</quote>
+                prefixes.</para>
+        </listitem>
+    </itemizedlist>
+    <para>The inclusion mechanism is quite powerful.</para>
+</article>
+<?xml version="1.0" encoding="UTF-8"?>
+<?oxygen RNGSchema="http://docbook.org/xml/5.0/rng/docbookxi.rng" type="xml"?>
+<?oxygen SCHSchema="http://docbook.org/xml/5.0/rng/docbookxi.rng"?>
+<article xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude"
+    xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
+    <title>Home</title>
+    <section>
+        <title>OpenGL Loader Generator</title>
+        <para>This loader generation system is used to create OpenGL headers and loading code for
+            your specific needs. Rather than getting every extension and core enumerator/function
+            all in one massive header, you get only what you actually want and ask for.</para>
+        <para>This is still very experimental; little testing has been done on it yet. <link
+                xlink:href="https://bitbucket.org/alfonse/glloadgen/downloads">Download it
+                here;</link> you will need to have the Lua runtime installed on your machine to use
+            the code generation scripts. It's pretty tiny, so it shouldn't be a problem. Windows
+            users can install <link xlink:href="http://code.google.com/p/luaforwindows/">Lua For
+                Windows</link>, or just <link xlink:href="http://luabinaries.sourceforge.net/">the
+                Lua binaries packages</link>. The code should be compatible with Lua 5.1 and 5.2,
+            but it has only been tested on 5.1.</para>
+        <para>To use the code generator, with Lua in your path (assuming that <literal>lua</literal>
+            is the name of your Lua executable), type this:</para>
+        <programlisting>lua LoadGen.lua -style=pointer_c -spec=gl -version=3.3 -profile=core core_3_3</programlisting>
+        <para>This tells the system to generate a header/source pair for OpenGL
+                (<literal>-spec=gl</literal>, as opposed to WGL or GLX), for version 3.3, the core
+            profile. It will generate it in the <literal>pointer_c</literal> style, which means that
+            it will use function pointer-style, with C linkage and source. Such code is usable from
+            C and C++, or other languages that can interface with C.</para>
+        <para>The option <filename>core_3_3</filename> is the basic component of the filename that
+            will be used for the generation. Since it is generating OpenGL loaders (again, as
+            opposed to WGL or GLX), it will generate files named <filename>gl_core_3_3.*</filename>,
+            where * is the extension used by the particular style.</para>
+        <para>The above command line will generate <filename>gl_core_3_3.h</filename> and
+                <filename>gl_core_3_3.c</filename> files. Simply include them in your project; there
+            is no library to build, no unresolved extenals to filter through. They just work (Well,
+            that's the plan ;) ).</para>
+        <section>
+            <title>Extensions</title>
+            <para>Note that the above command line will <emphasis>only</emphasis> generate
+                enumerators and functions for core OpenGL 3.3. It doesn't offer any extensions. To
+                use extensions, you must ask for them with command line parameters, as
+                follows:</para>
+            <programlisting>lua LoadGen.lua -style=pointer_c -spec=gl -version=3.3 -profile=core core_3_3 -exts ARB_texture_view ARB_vertex_attrib_binding EXT_texture_filter_anisotropic -ext=EXT_texture_compression_s3tc -extfile=SomeFile.txt</programlisting>
+            <para>The <literal>-exts</literal> option starts a list of space-separated extension
+                names (note: don't try to put the output filename after <literal>-exts</literal>;
+                the system can't tell the difference between a filename and an extension). The
+                    <literal>-ext</literal> option only specifies a single name.</para>
+            <para><literal>-extfile</literal> specifies a <emphasis>filename</emphasis> to load
+                extensions from. The format of this file is fairly simple; it is <link
+                    xlink:href="Extension Files">explained here on this site</link>. The file is
+                expected to contain extension names, one on each line. Extension files can also have
+                    <literal>#include</literal> directives, which will include another extension
+                file (relative pathing only). Please don't infinitely recurse your inclusions;
+                there's no protection in the system to check for it.</para>
+        </section>
+    </section>
+</article>

docs/Load Docs.xpr

     <meta>
         <filters directoryPatterns="" filePatterns=""
             positiveFilePatterns="" showHiddenFiles="false"/>
-        <options/>
+        <options>
+            <serialized version="12.0">
+                <map>
+                    <entry>
+                        <String xml:space="preserve">scenario.associations</String>
+                        <scenarioAssociation-array>
+                            <scenarioAssociation>
+                                <field name="name">
+                                    <String xml:space="preserve">ToCreole</String>
+                                </field>
+                                <field name="type">
+                                    <String xml:space="preserve">XSL</String>
+                                </field>
+                                <field name="url">
+                                    <String xml:space="preserve">Extension%20Files.xml</String>
+                                </field>
+                            </scenarioAssociation>
+                            <scenarioAssociation>
+                                <field name="name">
+                                    <String xml:space="preserve">ToCreole</String>
+                                </field>
+                                <field name="type">
+                                    <String xml:space="preserve">XSL</String>
+                                </field>
+                                <field name="url">
+                                    <String xml:space="preserve">Command%20Line%20Options.xml</String>
+                                </field>
+                            </scenarioAssociation>
+                            <scenarioAssociation>
+                                <field name="name">
+                                    <String xml:space="preserve">ToCreole</String>
+                                </field>
+                                <field name="type">
+                                    <String xml:space="preserve">XSL</String>
+                                </field>
+                                <field name="url">
+                                    <String xml:space="preserve">Home.xml</String>
+                                </field>
+                            </scenarioAssociation>
+                            <scenarioAssociation>
+                                <field name="name">
+                                    <String xml:space="preserve">ToCreole</String>
+                                </field>
+                                <field name="type">
+                                    <String xml:space="preserve">XSL</String>
+                                </field>
+                                <field name="url">
+                                    <String xml:space="preserve">ToCreole.xsl</String>
+                                </field>
+                            </scenarioAssociation>
+                            <scenarioAssociation>
+                                <field name="name">
+                                    <String xml:space="preserve">ToCreole</String>
+                                </field>
+                                <field name="type">
+                                    <String xml:space="preserve">XSL</String>
+                                </field>
+                                <field name="url">
+                                    <String xml:space="preserve">Styles.xml</String>
+                                </field>
+                            </scenarioAssociation>
+                            <scenarioAssociation>
+                                <field name="name">
+                                    <String xml:space="preserve">ToCreole</String>
+                                </field>
+                                <field name="type">
+                                    <String xml:space="preserve">XSL</String>
+                                </field>
+                                <field name="url">
+                                    <String xml:space="preserve">Style%20Pointer%20C.xml</String>
+                                </field>
+                            </scenarioAssociation>
+                        </scenarioAssociation-array>
+                    </entry>
+                    <entry>
+                        <String xml:space="preserve">scenarios</String>
+                        <scenario-array>
+                            <scenario>
+                                <field name="advancedOptionsMap">
+                                    <null/>
+                                </field>
+                                <field name="name">
+                                    <String xml:space="preserve">Execute DDXQuery</String>
+                                </field>
+                                <field name="baseURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="footerURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="fOPMethod">
+                                    <null/>
+                                </field>
+                                <field name="fOProcessorName">
+                                    <null/>
+                                </field>
+                                <field name="headerURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="inputXSLURL">
+                                    <String xml:space="preserve">${currentFileURL}</String>
+                                </field>
+                                <field name="inputXMLURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="defaultScenario">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="isFOPPerforming">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="type">
+                                    <String xml:space="preserve">DD_XQUERY</String>
+                                </field>
+                                <field name="saveAs">
+                                    <Boolean xml:space="preserve">true</Boolean>
+                                </field>
+                                <field name="openInBrowser">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="outputFile">
+                                    <null/>
+                                </field>
+                                <field name="openOtherLocationInBrowser">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="locationToOpenInBrowserURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="openInEditor">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="showInHTMLPane">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="showInXMLPane">
+                                    <Boolean xml:space="preserve">true</Boolean>
+                                </field>
+                                <field name="showInSVGPane">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="showInResultSetPane">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="useXSLTInput">
+                                    <Boolean xml:space="preserve">true</Boolean>
+                                </field>
+                                <field name="xsltParams">
+                                    <list/>
+                                </field>
+                                <field name="cascadingStylesheets">
+                                    <String-array/>
+                                </field>
+                                <field name="xslTransformer">
+                                    <String xml:space="preserve">DataDirect</String>
+                                </field>
+                                <field name="extensionURLs">
+                                    <String-array/>
+                                </field>
+                            </scenario>
+                            <scenario>
+                                <field name="advancedOptionsMap">
+                                    <null/>
+                                </field>
+                                <field name="name">
+                                    <String xml:space="preserve">ToCreole</String>
+                                </field>
+                                <field name="baseURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="footerURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="fOPMethod">
+                                    <String xml:space="preserve">pdf</String>
+                                </field>
+                                <field name="fOProcessorName">
+                                    <String xml:space="preserve">Apache FOP</String>
+                                </field>
+                                <field name="headerURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="inputXSLURL">
+                                    <String xml:space="preserve">${pdu}/ToCreole.xsl</String>
+                                </field>
+                                <field name="inputXMLURL">
+                                    <String xml:space="preserve">${currentFileURL}</String>
+                                </field>
+                                <field name="defaultScenario">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="isFOPPerforming">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="type">
+                                    <String xml:space="preserve">XSL</String>
+                                </field>
+                                <field name="saveAs">
+                                    <Boolean xml:space="preserve">true</Boolean>
+                                </field>
+                                <field name="openInBrowser">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="outputFile">
+                                    <File xml:space="preserve">${cfd}/${cfn}.wiki</File>
+                                </field>
+                                <field name="openOtherLocationInBrowser">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="locationToOpenInBrowserURL">
+                                    <null/>
+                                </field>
+                                <field name="openInEditor">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="showInHTMLPane">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="showInXMLPane">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="showInSVGPane">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="showInResultSetPane">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="useXSLTInput">
+                                    <Boolean xml:space="preserve">true</Boolean>
+                                </field>
+                                <field name="xsltParams">
+                                    <list/>
+                                </field>
+                                <field name="cascadingStylesheets">
+                                    <String-array/>
+                                </field>
+                                <field name="xslTransformer">
+                                    <String xml:space="preserve">Saxon-PE</String>
+                                </field>
+                                <field name="extensionURLs">
+                                    <String-array/>
+                                </field>
+                            </scenario>
+                            <scenario>
+                                <field name="advancedOptionsMap">
+                                    <null/>
+                                </field>
+                                <field name="name">
+                                    <String xml:space="preserve">Execute XQuery</String>
+                                </field>
+                                <field name="baseURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="footerURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="fOPMethod">
+                                    <null/>
+                                </field>
+                                <field name="fOProcessorName">
+                                    <null/>
+                                </field>
+                                <field name="headerURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="inputXSLURL">
+                                    <String xml:space="preserve">${currentFileURL}</String>
+                                </field>
+                                <field name="inputXMLURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="defaultScenario">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="isFOPPerforming">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="type">
+                                    <String xml:space="preserve">XQUERY</String>
+                                </field>
+                                <field name="saveAs">
+                                    <Boolean xml:space="preserve">true</Boolean>
+                                </field>
+                                <field name="openInBrowser">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="outputFile">
+                                    <null/>
+                                </field>
+                                <field name="openOtherLocationInBrowser">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="locationToOpenInBrowserURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="openInEditor">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="showInHTMLPane">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="showInXMLPane">
+                                    <Boolean xml:space="preserve">true</Boolean>
+                                </field>
+                                <field name="showInSVGPane">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="showInResultSetPane">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="useXSLTInput">
+                                    <Boolean xml:space="preserve">true</Boolean>
+                                </field>
+                                <field name="xsltParams">
+                                    <list/>
+                                </field>
+                                <field name="cascadingStylesheets">
+                                    <String-array/>
+                                </field>
+                                <field name="xslTransformer">
+                                    <String xml:space="preserve">Saxon-PE XQuery</String>
+                                </field>
+                                <field name="extensionURLs">
+                                    <String-array/>
+                                </field>
+                            </scenario>
+                            <scenario>
+                                <field name="advancedOptionsMap">
+                                    <null/>
+                                </field>
+                                <field name="name">
+                                    <String xml:space="preserve">Execute XQuery v11.1</String>
+                                </field>
+                                <field name="baseURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="footerURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="fOPMethod">
+                                    <null/>
+                                </field>
+                                <field name="fOProcessorName">
+                                    <null/>
+                                </field>
+                                <field name="headerURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="inputXSLURL">
+                                    <String xml:space="preserve">${currentFileURL}</String>
+                                </field>
+                                <field name="inputXMLURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="defaultScenario">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="isFOPPerforming">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="type">
+                                    <String xml:space="preserve">XQUERY</String>
+                                </field>
+                                <field name="saveAs">
+                                    <Boolean xml:space="preserve">true</Boolean>
+                                </field>
+                                <field name="openInBrowser">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="outputFile">
+                                    <null/>
+                                </field>
+                                <field name="openOtherLocationInBrowser">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="locationToOpenInBrowserURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="openInEditor">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="showInHTMLPane">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="showInXMLPane">
+                                    <Boolean xml:space="preserve">true</Boolean>
+                                </field>
+                                <field name="showInSVGPane">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="showInResultSetPane">
+                                    <Boolean xml:space="preserve">true</Boolean>
+                                </field>
+                                <field name="useXSLTInput">
+                                    <Boolean xml:space="preserve">true</Boolean>
+                                </field>
+                                <field name="xsltParams">
+                                    <list/>
+                                </field>
+                                <field name="cascadingStylesheets">
+                                    <String-array/>
+                                </field>
+                                <field name="xslTransformer">
+                                    <String xml:space="preserve">Saxon-PE XQuery</String>
+                                </field>
+                                <field name="extensionURLs">
+                                    <String-array/>
+                                </field>
+                            </scenario>
+                            <scenario>
+                                <field name="advancedOptionsMap">
+                                    <null/>
+                                </field>
+                                <field name="name">
+                                    <String xml:space="preserve">Execute SQL</String>
+                                </field>
+                                <field name="baseURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="footerURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="fOPMethod">
+                                    <null/>
+                                </field>
+                                <field name="fOProcessorName">
+                                    <null/>
+                                </field>
+                                <field name="headerURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="inputXSLURL">
+                                    <String xml:space="preserve">${currentFileURL}</String>
+                                </field>
+                                <field name="inputXMLURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="defaultScenario">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="isFOPPerforming">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="type">
+                                    <String xml:space="preserve">SQL</String>
+                                </field>
+                                <field name="saveAs">
+                                    <Boolean xml:space="preserve">true</Boolean>
+                                </field>
+                                <field name="openInBrowser">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="outputFile">
+                                    <null/>
+                                </field>
+                                <field name="openOtherLocationInBrowser">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="locationToOpenInBrowserURL">
+                                    <String xml:space="preserve"></String>
+                                </field>
+                                <field name="openInEditor">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="showInHTMLPane">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="showInXMLPane">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="showInSVGPane">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="showInResultSetPane">
+                                    <Boolean xml:space="preserve">false</Boolean>
+                                </field>
+                                <field name="useXSLTInput">
+                                    <Boolean xml:space="preserve">true</Boolean>
+                                </field>
+                                <field name="xsltParams">
+                                    <list/>
+                                </field>
+                                <field name="cascadingStylesheets">
+                                    <String-array/>
+                                </field>
+                                <field name="xslTransformer">
+                                    <String xml:space="preserve">JDBC</String>
+                                </field>
+                                <field name="extensionURLs">
+                                    <String-array/>
+                                </field>
+                            </scenario>
+                        </scenario-array>
+                    </entry>
+                    <entry>
+                        <String xml:space="preserve">scenarios.load.from.project</String>
+                        <Boolean xml:space="preserve">true</Boolean>
+                    </entry>
+                </map>
+            </serialized>
+        </options>
     </meta>
     <projectTree name="Load%20Docs.xpr">
-        <file name="Command%20Line%20Options.xml"/>
-        <file name="Style%20Pointer%20C.xml"/>
+        <folder name="transforms">
+            <file name="TagsToSupport.txt"/>
+            <file name="ToCreole.xsl"/>
+        </folder>
+        <file name="Home.xml"/>
         <file name="Styles.xml"/>
-        <file name="ToCreole.xsl"/>
     </projectTree>
 </project>

docs/TagsToSupport.txt

+
+
+
+* orderedlist, itemizedlist, listitem
+* glosslist and its ilk.
+* programlisting
+
+
+inlines:
+* filename
+* literal
+* pg:pagelink, from the namespace https://bitbucket.org/alfonse/glloadgen

docs/ToCreole.xsl

     xmlns:xs="http://www.w3.org/2001/XMLSchema"
     xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl"
     xmlns:db="http://docbook.org/ns/docbook"
+    xmlns:pg="https://bitbucket.org/alfonse/glloadgen"
     xmlns:xlink="http://www.w3.org/1999/xlink"
     xmlns:fn="http://www.w3.org/2005/xpath-functions"
     exclude-result-prefixes="xs xd"
     </xsl:template>
     
     <!-- Basic structural controls. -->
+    <!--
     <xsl:template match="db:section" mode="root">
         <xsl:choose>
             <xsl:when test="name(preceding-sibling::*[1]) != 'title' and
             </xsl:otherwise>
         </xsl:choose>
     </xsl:template>
+    -->
 
     <xsl:template match="db:title" mode="root"/>
 
         <xsl:if test="ancestor::db:blockquote or ancestor::db:epigraph">
             <xsl:text>-></xsl:text>
         </xsl:if>
+        <xsl:if test="ancestor::db:itemizedlist and not(preceding-sibling::*)">
+            <xsl:text>* </xsl:text>
+        </xsl:if>
+        <xsl:if test="ancestor::db:orderedlist and not(preceding-sibling::*)">
+            <xsl:text># </xsl:text>
+        </xsl:if>
         <xsl:apply-templates select="*|text()" mode="#current"/>
         <xsl:choose>
             <xsl:when test="ancestor::db:blockquote">
                 <xsl:text>
 </xsl:text>
             </xsl:when>
-            <xsl:when test="following-sibling::*">
+            <xsl:when test="ancestor::db:listitem and following-sibling::*">
+                <xsl:text>\\</xsl:text>
+            </xsl:when>
+            <xsl:when test="parent::db:glossdef or following-sibling::*">
                 <xsl:text>
 
 </xsl:text>
 </xsl:text>
     </xsl:template>
     
+    <xsl:template match="db:glossentry/db:glossterm" mode="file">
+        <xsl:text>**</xsl:text>
+        <xsl:apply-templates select="*|text()" mode="#current"/>
+        <xsl:text>**:
+
+</xsl:text>
+    </xsl:template>
+    
+    <xsl:template match="db:itemizedlist|db:orderedlist" mode="file">
+        <xsl:apply-templates select="*|text()" mode="#current"/>
+        <xsl:if test="not(following-sibling::*)">
+            <xsl:text>
+</xsl:text>
+        </xsl:if>
+    </xsl:template>
+    
+    <xsl:template match="db:programlisting" mode="file">
+        <xsl:text>{{{</xsl:text>
+        <xsl:apply-templates select="*|text()" mode="#current"/>
+        <xsl:text>}}}
+
+</xsl:text>
+    </xsl:template>
+    
     <!--
     <xsl:template match="db:footnote" mode="file">
         <xsl:text>[[hottip:</xsl:text>
         <xsl:text>//</xsl:text>
     </xsl:template>
     
-    <xsl:template match="db:emphasis[@role = 'strong'">
+    <xsl:template match="db:emphasis[@role = 'strong']" mode="file">
         <xsl:text>**</xsl:text>
         <xsl:apply-templates select="*|text()" mode="#current"/>
         <xsl:text>**</xsl:text>
         <xsl:text>//</xsl:text>
     </xsl:template>
     
+    <xsl:template match="db:filename" mode="file">
+        <xsl:text>{{{</xsl:text>
+        <xsl:apply-templates select="*|text()" mode="#current"/>
+        <xsl:text>}}}</xsl:text>
+    </xsl:template>
+    
+    <xsl:template match="db:literal" mode="file">
+        <xsl:text>{{{</xsl:text>
+        <xsl:apply-templates select="*|text()" mode="#current"/>
+        <xsl:text>}}}</xsl:text>
+    </xsl:template>
+    
     <xsl:template match="db:personname" mode="file">
         <xsl:text>**</xsl:text>
         <xsl:apply-templates select="*|text()" mode="#current"/>
         <xsl:apply-templates select="*|text()" mode="#current"/>
         <xsl:text>]]</xsl:text>
     </xsl:template>
-
-<!--
-    <xsl:template match="db:olink[@targetptr]" mode="file">
+    
+    <xsl:template match="pg:pagelink" mode="file">
         <xsl:text>[[</xsl:text>
-        <xsl:text>{{</xsl:text>
-        <xsl:value-of select="@targetptr"/>
-        <xsl:text>}}</xsl:text>
-        <xsl:text> </xsl:text>
+        <xsl:value-of select="@linkend"/>
+        <xsl:text>|</xsl:text>
         <xsl:apply-templates select="*|text()" mode="#current"/>
         <xsl:text>]]</xsl:text>
     </xsl:template>
     
-    <xsl:template match="db:olink[@targetdir]" mode="file">
-        <xsl:text>[[</xsl:text>
-        <xsl:text>{{</xsl:text>
-        <xsl:value-of select="@targetdir"/>
-        <xsl:text>}}</xsl:text>
-        <xsl:text> </xsl:text>
-        <xsl:apply-templates select="*|text()" mode="#current"/>
-        <xsl:text>]]</xsl:text>
-    </xsl:template>
-    
-    <xsl:template match="db:olink" mode="file">
-        <xsl:text>{{</xsl:text>
-        <xsl:value-of select="."/>
-        <xsl:text>}}</xsl:text>
-    </xsl:template>
--->
-    
     <xsl:template match="db:phrase[@role='title']" mode="file">
         <xsl:text>//**</xsl:text>
         <xsl:apply-templates select="*|text()" mode="#current"/>
     </xsl:template>
     
     <xsl:template match="db:section" mode="file">
-        <xsl:text>==</xsl:text>
-        <xsl:value-of select="db:title[1]"/>
-        <xsl:text>==</xsl:text>
+        <xsl:call-template name="MakeSectionTitle"/>
         <xsl:text>
 
 </xsl:text>
         <xsl:apply-templates select="*|text()" mode="#current"/>
     </xsl:template>
     
+    <xsl:template name="MakeSectionTitle">
+        <xsl:for-each select="ancestor-or-self::db:section">
+            <xsl:text>=</xsl:text>
+        </xsl:for-each>
+        <xsl:variable name="RootSection" select="/*/db:section"/>
+        <xsl:variable name="NotSingularRoot" select="$RootSection/following-sibling::* or $RootSection/preceding-sibling::*[name()
+            != 'title']"/>
+        <xsl:if test="$NotSingularRoot">
+            <xsl:text>=</xsl:text>
+        </xsl:if>
+        <xsl:value-of select="db:title[1]"/>
+        <xsl:if test="$NotSingularRoot">
+            <xsl:text>=</xsl:text>
+        </xsl:if>
+        <xsl:for-each select="ancestor-or-self::db:section">
+            <xsl:text>=</xsl:text>
+        </xsl:for-each>
+    </xsl:template>
+    
     <xsl:template match="db:blockquote" mode="file">
         <xsl:apply-templates select="*|text()" mode="#current"/>
         <xsl:text>
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.