]> granicus.if.org Git - docbook-dsssl/commitdiff
Refined logging output of refentry metadata-gathering template;
authorMichael Smith <xmldoc@users.sourceforge.net>
Fri, 22 Jun 2007 02:25:31 +0000 (02:25 +0000)
committerMichael Smith <xmldoc@users.sourceforge.net>
Fri, 22 Jun 2007 02:25:31 +0000 (02:25 +0000)
for some cases of "missing" elements (refmiscinfo stuff, etc.),
the log messages now include URL to corresponding page in the
Definitive Guide (TDG).

xsl/common/refentry.xsl

index bbe5d7265c26337735142fa4f1bf35e62904c451..140402c6ec4c299338ee6064c291b5900ea2944e 100644 (file)
@@ -16,7 +16,6 @@
      ******************************************************************** -->
 
 <!-- ==================================================================== -->
-
 <doc:reference xmlns="">
   <referenceinfo>
     <releaseinfo role="meta">
 </doc:reference>
 
 <!-- ==================================================================== -->
-
 <doc:template name="get.refentry.metadata" xmlns="">
   <refpurpose>Gathers metadata from a refentry and its ancestors</refpurpose>
-
   <refdescription>
     <para>Reference documentation for particular commands, functions,
     etc., is sometimes viewed in isolation from its greater "context". For
@@ -73,7 +70,7 @@
     the <sgmltag>releaseinfo</sgmltag> element.</para>
 
     <para>Taking all that in mind, the
-    <function>get.refentry.metadata</function> function tries to gather
+    <function>get.refentry.metadata</function> template tries to gather
     metadata from a <sgmltag>refentry</sgmltag> element and its ancestor
     elements in an intelligent and user-configurable way. The basic
     mechanism used in the XPath expressions throughout this stylesheet
     <sgmltag>refentry</sgmltag> itself, or on its nearest ancestor.</para>
 
     <note>
-      <para>The <function>get.refentry.metadata</function> function is
-      actually just sort of a "driver" function; it calls other
-      functions that do the actual data collection, then returns the
-      data as a set.</para>
+      <para>The <function>get.refentry.metadata</function>
+        template is actually just sort of a "driver" template; it
+        calls other templates that do the actual data collection,
+        then returns the data as a set.</para>
     </note>
 
   </refdescription>
-
   <refparameter>
     <variablelist>
       <varlistentry>
       </varlistentry>
     </variablelist>
   </refparameter>
-
   <refreturn>
     <para>Returns a node set with the following elements. The
     descriptions are verbatim from the <literal>man(7)</literal> man
     </para>
   </refreturn>
 </doc:template>
-
 <xsl:template name="get.refentry.metadata">
   <xsl:param name="refname"/>
   <xsl:param name="info"/>
 </xsl:template>
 
 <!-- ====================================================================== -->
-
 <doc:template name="get.refentry.title" xmlns="">
   <refpurpose>Gets title metadata for a refentry</refpurpose>
-
   <refdescription>
     <para>The <literal>man(7)</literal> man page describes this as "the
     title of the man page (e.g., <literal>MAN</literal>). This differs
     otherwise, we just use first <sgmltag>refname</sgmltag> in the first
     <sgmltag>refnamediv</sgmltag> in the source.</para>
   </refdescription>
-
   <refparameter>
     <variablelist>
       <varlistentry>
       </varlistentry>
     </variablelist>
   </refparameter>
-
   <refreturn>
   <para>Returns a <sgmltag>title</sgmltag> node.</para></refreturn>
 </doc:template>
-
 <xsl:template name="get.refentry.title">
   <xsl:param name="refname"/>
   <xsl:choose>
 </xsl:template>
 
 <!-- ==================================================================== -->
-
 <doc:template name="get.refentry.section" xmlns="">
   <refpurpose>Gets section metadata for a refentry</refpurpose>
-
   <refdescription>
     <para>The <literal>man(7)</literal> man page describes this as "the
     section number the man page should be placed in (e.g.,
     default to using <literal>1</literal> ["Executable programs or shell
     commands"].</para>
   </refdescription>
-
   <refparameter>
     <variablelist>
       <varlistentry>
       </varlistentry>
     </variablelist>
   </refparameter>
-
   <refreturn>
   <para>Returns a string representing a section number.</para></refreturn>
 </doc:template>
           <xsl:call-template name="log.message">
             <xsl:with-param name="level">Note</xsl:with-param>
             <xsl:with-param name="source" select="$refname"/>
-            <xsl:with-param
-                name="message"
-                >meta manvol : No manvolnum</xsl:with-param>
+            <xsl:with-param name="context-desc">meta manvol</xsl:with-param>
+            <xsl:with-param name="message">
+              <xsl:text>no refentry/refmeta/manvolnum</xsl:text>
+            </xsl:with-param>
+          </xsl:call-template>
+          <xsl:call-template name="log.message">
+            <xsl:with-param name="level">Note</xsl:with-param>
+            <xsl:with-param name="source" select="$refname"/>
+            <xsl:with-param name="context-desc">meta manvol</xsl:with-param>
+            <xsl:with-param name="message">
+              <xsl:text>see http://docbook.sf.net/el/manvolnum</xsl:text>
+            </xsl:with-param>
           </xsl:call-template>
         </xsl:if>
       </xsl:if>
               <xsl:call-template name="log.message">
                 <xsl:with-param name="level">Note</xsl:with-param>
                 <xsl:with-param name="source" select="$refname"/>
-                <xsl:with-param
-                    name="message"
-                    >meta manvol : Setting man section to 3</xsl:with-param>
+                <xsl:with-param name="context-desc">meta manvol</xsl:with-param>
+                <xsl:with-param name="message">
+                  <xsl:text>Setting man section to 3</xsl:text>
+                </xsl:with-param>
               </xsl:call-template>
             </xsl:if>
           </xsl:if>
 </xsl:template>
 
 <!-- ==================================================================== -->
-
 <doc:template name="get.refentry.date" xmlns="">
   <refpurpose>Gets date metadata for a refentry</refpurpose>
-
   <refdescription>
     <para>The <literal>man(7)</literal> man page describes this as "the
     date of the last revision". If we cannot find a date in the source, we
     generate one.</para>
   </refdescription>
-
   <refparameter>
     <variablelist>
       <varlistentry>
       </varlistentry>
     </variablelist>
   </refparameter>
-
-  <refreturn><para>Returns a <sgmltag>date</sgmltag> node.</para></refreturn>
+  <refreturn>
+    <para>Returns a <sgmltag>date</sgmltag> node.</para>
+  </refreturn>
 </doc:template>
-
 <xsl:template name="get.refentry.date">
   <xsl:param name="refname"/>
   <xsl:param name="info"/>
         <xsl:call-template name="log.message">
           <xsl:with-param name="level">Note</xsl:with-param>
           <xsl:with-param name="source" select="$refname"/>
-          <xsl:with-param
-              name="message"
-              >meta date   : No date. Using generated date</xsl:with-param>
+          <xsl:with-param name="context-desc">meta date</xsl:with-param>
+          <xsl:with-param name="message">
+            <xsl:text>no date; using generated date</xsl:text>
+          </xsl:with-param>
+        </xsl:call-template>
+        <xsl:call-template name="log.message">
+          <xsl:with-param name="level">Note</xsl:with-param>
+          <xsl:with-param name="source" select="$refname"/>
+          <xsl:with-param name="context-desc">meta date</xsl:with-param>
+          <xsl:with-param name="message">
+            <xsl:text>see http://docbook.sf.net/el/date</xsl:text>
+          </xsl:with-param>
         </xsl:call-template>
       </xsl:if>
       <xsl:call-template name="datetime.format">
 </xsl:template>
 
 <!-- ==================================================================== -->
-
 <doc:template name="get.refentry.source" xmlns="">
   <refpurpose>Gets source metadata for a refentry</refpurpose>
-
   <refdescription>
     <para>The <literal>man(7)</literal> man page describes this as "the
     source of the command", and provides the following examples:
     probably will be no <replaceable>Version</replaceable>.
     </para>
   </refdescription>
-
   <refparameter>
     <variablelist>
       <varlistentry>
       </varlistentry>
     </variablelist>
   </refparameter>
-
-  <refreturn><para>Returns a <sgmltag>source</sgmltag> node.</para></refreturn>
+  <refreturn>
+    <para>Returns a <sgmltag>source</sgmltag> node.</para>
+  </refreturn>
 </doc:template>
-
 <xsl:template name="get.refentry.source">
   <xsl:param name="refname"/>
   <xsl:param name="info"/>
             <xsl:call-template name="log.message">
               <xsl:with-param name="level">Warn</xsl:with-param>
               <xsl:with-param name="source" select="$refname"/>
-              <xsl:with-param
-                  name="message"
-                  >meta source : No valid fallback. Leaving empty</xsl:with-param>
+              <xsl:with-param name="context-desc">meta source</xsl:with-param>
+              <xsl:with-param name="message">
+                <xsl:text>no valid fallback for source; leaving empty</xsl:text>
+              </xsl:with-param>
             </xsl:call-template>
           </xsl:if>
         </xsl:otherwise>
         <xsl:call-template name="log.message">
           <xsl:with-param name="level">Warn</xsl:with-param>
           <xsl:with-param name="source" select="$refname"/>
-          <xsl:with-param
-              name="message"
-              >meta source : No fallback specified; leaving empty.</xsl:with-param>
+          <xsl:with-param name="context-desc">meta source</xsl:with-param>
+          <xsl:with-param name="message">
+            <xsl:text>no source fallback specified; leaving empty</xsl:text>
+          </xsl:with-param>
         </xsl:call-template>
       </xsl:if>
     </xsl:otherwise>
 </xsl:template>
 
 <!-- ==================================================================== -->
-
 <doc:template name="get.refentry.source.name" xmlns="">
   <refpurpose>Gets source-name metadata for a refentry</refpurpose>
-
   <refdescription>
     <para>A "source name" is one part of a (potentially) two-part
     <replaceable>Name</replaceable>&#160;<replaceable>Version</replaceable>
     source field. For more details, see the documentation for the
     <function>get.refentry.source</function> template.</para>
   </refdescription>
-
   <refparameter>
     <variablelist>
       <varlistentry>
       </varlistentry>
     </variablelist>
   </refparameter>
-
-  <refreturn><para>Depending on what output method is used for the
+  <refreturn>
+    <para>Depending on what output method is used for the
   current stylesheet, either returns a text node or possibly an element
-  node, containing "source name" data.</para></refreturn>
+  node, containing "source name" data.</para>
+  </refreturn>
 </doc:template>
-
 <xsl:template name="get.refentry.source.name">
   <xsl:param name="refname"/>
   <xsl:param name="info"/>
                 <xsl:call-template name="log.message">
                   <xsl:with-param name="level">Note</xsl:with-param>
                   <xsl:with-param name="source" select="$refname"/>
-                  <xsl:with-param
-                      name="message"
-                      >meta source : No productname or alternative</xsl:with-param>
+                  <xsl:with-param name="context-desc">meta source</xsl:with-param>
+                  <xsl:with-param name="message">
+                    <xsl:text>no *info/productname or alternative</xsl:text>
+                  </xsl:with-param>
                 </xsl:call-template>
                 <xsl:call-template name="log.message">
                   <xsl:with-param name="level">Note</xsl:with-param>
                   <xsl:with-param name="source" select="$refname"/>
-                  <xsl:with-param
-                      name="message"
-                      >meta source : No refmiscinfo@class=source</xsl:with-param>
+                  <xsl:with-param name="context-desc">meta source</xsl:with-param>
+                  <xsl:with-param name="message">
+                    <xsl:text>see http://docbook.sf.net/el/productname</xsl:text>
+                  </xsl:with-param>
+                </xsl:call-template>
+                <xsl:call-template name="log.message">
+                  <xsl:with-param name="level">Note</xsl:with-param>
+                  <xsl:with-param name="source" select="$refname"/>
+                  <xsl:with-param name="context-desc">meta source</xsl:with-param>
+                  <xsl:with-param name="message">
+                    <xsl:text>no refentry/refmeta/refmiscinfo@class=source</xsl:text>
+                  </xsl:with-param>
+                </xsl:call-template>
+                <xsl:call-template name="log.message">
+                  <xsl:with-param name="level">Note</xsl:with-param>
+                  <xsl:with-param name="source" select="$refname"/>
+                  <xsl:with-param name="context-desc">meta source</xsl:with-param>
+                  <xsl:with-param name="message">
+                    <xsl:text>see http://docbook.sf.net/el/refmiscinfo</xsl:text>
+                  </xsl:with-param>
                 </xsl:call-template>
               </xsl:if>
             </xsl:otherwise>
 </xsl:template>
 
 <!-- ==================================================================== -->
-
 <doc:template name="get.refentry.version" xmlns="">
   <refpurpose>Gets version metadata for a refentry</refpurpose>
-
   <refdescription>
     <para>A "version" is one part of a (potentially) two-part
     <replaceable>Name</replaceable>&#160;<replaceable>Version</replaceable>
     source field. For more details, see the documentation for the
     <function>get.refentry.source</function> template.</para>
   </refdescription>
-
   <refparameter>
     <variablelist>
       <varlistentry>
       </varlistentry>
     </variablelist>
   </refparameter>
-
-  <refreturn><para>Depending on what output method is used for the
+  <refreturn>
+    <para>Depending on what output method is used for the
   current stylesheet, either returns a text node or possibly an element
-  node, containing "version" data.</para></refreturn>
+  node, containing "version" data.</para>
+  </refreturn>
 </doc:template>
-
 <xsl:template name="get.refentry.version">
   <xsl:param name="refname"/>
   <xsl:param name="info"/>
                 <xsl:call-template name="log.message">
                   <xsl:with-param name="level">Note</xsl:with-param>
                   <xsl:with-param name="source" select="$refname"/>
-                  <xsl:with-param
-                      name="message"
-                      >meta version: No productnumber or alternative</xsl:with-param>
+                  <xsl:with-param name="context-desc">meta version</xsl:with-param>
+                  <xsl:with-param name="message">
+                    <xsl:text>no *info/productnumber or alternative</xsl:text>
+                  </xsl:with-param>
                 </xsl:call-template>
                 <xsl:call-template name="log.message">
                   <xsl:with-param name="level">Note</xsl:with-param>
                   <xsl:with-param name="source" select="$refname"/>
-                  <xsl:with-param
-                      name="message"
-                      >meta version: No refmiscinfo@class=version</xsl:with-param>
+                  <xsl:with-param name="context-desc">meta version</xsl:with-param>
+                  <xsl:with-param name="message">
+                    <xsl:text>see http://docbook.sf.net/el/productnumber</xsl:text>
+                  </xsl:with-param>
+                </xsl:call-template>
+                <xsl:call-template name="log.message">
+                  <xsl:with-param name="level">Note</xsl:with-param>
+                  <xsl:with-param name="source" select="$refname"/>
+                  <xsl:with-param name="context-desc">meta version</xsl:with-param>
+                  <xsl:with-param name="message">
+                    <xsl:text>no refentry/refmeta/refmiscinfo@class=version</xsl:text>
+                  </xsl:with-param>
+                </xsl:call-template>
+                <xsl:call-template name="log.message">
+                  <xsl:with-param name="level">Note</xsl:with-param>
+                  <xsl:with-param name="source" select="$refname"/>
+                  <xsl:with-param name="context-desc">meta version</xsl:with-param>
+                  <xsl:with-param name="message">
+                    <xsl:text>see http://docbook.sf.net/el/refmiscinfo</xsl:text>
+                  </xsl:with-param>
                 </xsl:call-template>
               </xsl:if>
             </xsl:otherwise>
 </xsl:template>
 
 <!-- ==================================================================== -->
-
 <doc:template name="get.refentry.manual" xmlns="">
   <refpurpose>Gets source metadata for a refentry</refpurpose>
-
   <refdescription>
     <para>The <literal>man(7)</literal> man page describes this as "the
     title of the manual (e.g., <citetitle>Linux Programmer's
     </para>
 
   </refdescription>
-
   <refparameter>
     <variablelist>
       <varlistentry>
       </varlistentry>
     </variablelist>
   </refparameter>
-
-  <refreturn><para>Returns a <sgmltag>manual</sgmltag> node.</para></refreturn>
+  <refreturn>
+    <para>Returns a <sgmltag>manual</sgmltag> node.</para>
+  </refreturn>
 </doc:template>
 <xsl:template name="get.refentry.manual">
   <xsl:param name="refname"/>
                   <xsl:call-template name="log.message">
                     <xsl:with-param name="level">Note</xsl:with-param>
                     <xsl:with-param name="source" select="$refname"/>
-                    <xsl:with-param
-                        name="message"
-                        >meta manual : No ancestor with title</xsl:with-param>
+                    <xsl:with-param name="context-desc">meta manual</xsl:with-param>
+                    <xsl:with-param name="message">
+                      <xsl:text>no titled ancestor of refentry</xsl:text>
+                    </xsl:with-param>
+                  </xsl:call-template>
+                  <xsl:call-template name="log.message">
+                    <xsl:with-param name="level">Note</xsl:with-param>
+                    <xsl:with-param name="source" select="$refname"/>
+                    <xsl:with-param name="context-desc">meta manual</xsl:with-param>
+                    <xsl:with-param name="message">
+                      <xsl:text>no refentry/refmeta/refmiscinfo@class=manual</xsl:text>
+                    </xsl:with-param>
                   </xsl:call-template>
                   <xsl:call-template name="log.message">
                     <xsl:with-param name="level">Note</xsl:with-param>
                     <xsl:with-param name="source" select="$refname"/>
-                    <xsl:with-param
-                        name="message"
-                        >meta manual : No refmiscinfo@class=manual</xsl:with-param>
+                    <xsl:with-param name="context-desc">meta manual</xsl:with-param>
+                    <xsl:with-param name="message">
+                      <xsl:text>see http://docbook.sf.net/el/refmiscinfo</xsl:text>
+                    </xsl:with-param>
                   </xsl:call-template>
                 </xsl:if>
               </xsl:otherwise>
             <xsl:call-template name="log.message">
               <xsl:with-param name="level">Warn</xsl:with-param>
               <xsl:with-param name="source" select="$refname"/>
-              <xsl:with-param
-                  name="message"
-                  >meta manual : No valid fallback. Leaving empty</xsl:with-param>
+              <xsl:with-param name="context-desc">meta manual</xsl:with-param>
+              <xsl:with-param name="message">
+                <xsl:text>no valid fallback for manual; leaving empty</xsl:text>
+              </xsl:with-param>
             </xsl:call-template>
           </xsl:if>
         </xsl:otherwise>
         <xsl:call-template name="log.message">
           <xsl:with-param name="level">Warn</xsl:with-param>
           <xsl:with-param name="source" select="$refname"/>
-          <xsl:with-param
-              name="message"
-              >meta manual : No fallback specified; leaving empty.</xsl:with-param>
+          <xsl:with-param name="context-desc">meta manual</xsl:with-param>
+          <xsl:with-param name="message">
+            <xsl:text>no manual fallback specified; leaving empty</xsl:text>
+          </xsl:with-param>
         </xsl:call-template>
       </xsl:if>
     </xsl:otherwise>
 </xsl:template>
 
 <!-- ====================================================================== -->
-
 <doc:template name="get.refentry.metadata.prefs" xmlns="">
   <refpurpose>Gets user preferences for refentry metadata gathering</refpurpose>
-
   <refdescription>
     <para>The DocBook XSL stylesheets include several user-configurable
     global stylesheet parameters for controlling <sgmltag>refentry</sgmltag>
     metadata gathering. Those parameters are not read directly by the
-    other <sgmltag>refentry</sgmltag> metadata-gathering functions. Instead, they
-    are read only by the <function>get.refentry.metadata.prefs</function>
-    function, which assembles them into a structure that is then passed to
-    the other <sgmltag>refentry</sgmltag> metadata-gathering functions.</para>
+    other <sgmltag>refentry</sgmltag> metadata-gathering
+    templates. Instead, they are read only by the
+    <function>get.refentry.metadata.prefs</function> template,
+    which assembles them into a structure that is then passed to
+    the other <sgmltag>refentry</sgmltag> metadata-gathering
+    templates.</para>
 
     <para>So the, <function>get.refentry.metadata.prefs</function>
-    function is the only interface to collecting stylesheet parameters for
+    template is the only interface to collecting stylesheet parameters for
     controlling <sgmltag>refentry</sgmltag> metadata gathering.</para>
   </refdescription>
-
   <refparameter>
-    <para>There are no local parameters for this function; however, it
+    <para>There are no local parameters for this template; however, it
     does rely on a number of global parameters.</para>
   </refparameter>
-
-  <refreturn><para>Returns a <sgmltag>manual</sgmltag> node.</para></refreturn>
+  <refreturn>
+    <para>Returns a <sgmltag>manual</sgmltag> node.</para>
+  </refreturn>
 </doc:template>
-
 <xsl:template name="get.refentry.metadata.prefs">
   <DatePrefs>
     <xsl:attribute name="profile">
 </xsl:template>
 
 <!-- ====================================================================== -->
-
 <doc:template name="set.refentry.metadata" xmlns="">
   <refpurpose>Sets content of a refentry metadata item</refpurpose>
-
   <refdescription>
-    <para>The <function>set.refentry.metadata</function> function is
+    <para>The <function>set.refentry.metadata</function> template is
     called each time a suitable source element is found for a certain
     metadata field.</para>
   </refdescription>
-
   <refparameter>
     <variablelist>
       <varlistentry>
         <term>context</term>
         <listitem>
           <para>A string describing the metadata context in which the
-          <function>set.refentry.metadata</function> function was
+          <function>set.refentry.metadata</function> template was
           called: either "date", "source", "version", or "manual".</para>
         </listitem>
       </varlistentry>
   <refreturn>
   <para>Returns formatted contents of a selected source element.</para></refreturn>
 </doc:template>
-
 <xsl:template name="set.refentry.metadata">
   <xsl:param name="refname"/>
   <xsl:param name="info"/>
       <xsl:call-template name="log.message">
         <xsl:with-param name="level">Note</xsl:with-param>
         <xsl:with-param name="source" select="$refname"/>
-        <xsl:with-param
-            name="message"
-            >meta <xsl:value-of
-            select="$context"/><xsl:call-template
-            name="copy-string">
-        <xsl:with-param name="string" select="'&#x20;'"/>
-        <xsl:with-param
-            name="count"
-            select="7 - string-length($context)"/>
-        </xsl:call-template>: No <xsl:value-of select="$preferred"
-        /></xsl:with-param>
+        <xsl:with-param name="context-desc" select="concat('meta ', $context)"/>
+        <xsl:with-param name="message" select="concat('No ', $preferred)"/>
       </xsl:call-template>
       <xsl:call-template name="log.message">
         <xsl:with-param name="level">Note</xsl:with-param>
         <xsl:with-param name="source" select="$refname"/>
-        <xsl:with-param
-            name="message"
-            >meta <xsl:value-of
-            select="$context"/><xsl:call-template
-            name="copy-string">
-        <xsl:with-param name="string" select="'&#x20;'"/>
-        <xsl:with-param
-            name="count"
-            select="7 - string-length($context)"/>
-        </xsl:call-template>: No refmiscinfo@class=<xsl:value-of
-        select="$context"/></xsl:with-param>
+        <xsl:with-param name="context-desc" select="concat('meta ', $context)"/>
+        <xsl:with-param name="message">
+          <xsl:text>no refentry/refmeta/refmiscinfo@class=</xsl:text>
+          <xsl:value-of select="$context"/>
+        </xsl:with-param>
       </xsl:call-template>
       <xsl:call-template name="log.message">
         <xsl:with-param name="level">Note</xsl:with-param>
         <xsl:with-param name="source" select="$refname"/>
-        <xsl:with-param
-            name="message"
-            >meta <xsl:value-of
-            select="$context"/><xsl:call-template
-            name="copy-string">
-        <xsl:with-param name="string" select="'&#x20;'"/>
-        <xsl:with-param
-            name="count"
-            select="7 - string-length($context)"/>
-        </xsl:call-template>: Using <xsl:value-of
-        select="local-name($contents)"/></xsl:with-param>
+        <xsl:with-param name="context-desc" select="concat('meta ', $context)"/>
+        <xsl:with-param name="message" select="concat('Using ', local-name($contents))"/>
       </xsl:call-template>
     </xsl:if>
   </xsl:if>