]> git.stg.codes - stg.git/blob - doc/xslt/params/refentry.source.name.profile.xml
Fixed BFStream work with large strings, allowed null put on last.
[stg.git] / doc / xslt / params / refentry.source.name.profile.xml
1 <refentry xmlns="http://docbook.org/ns/docbook"
2           xmlns:xlink="http://www.w3.org/1999/xlink"
3           xmlns:xi="http://www.w3.org/2001/XInclude"
4           xmlns:src="http://nwalsh.com/xmlns/litprog/fragment"
5           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
6           version="5.0" xml:id="refentry.source.name.profile">
7 <refmeta>
8 <refentrytitle>refentry.source.name.profile</refentrytitle>
9 <refmiscinfo class="other" otherclass="datatype">string</refmiscinfo>
10 </refmeta>
11 <refnamediv>
12 <refname>refentry.source.name.profile</refname>
13 <refpurpose>Specifies profile for refentry "source name" data</refpurpose>
14 </refnamediv>
15
16 <refsynopsisdiv>
17 <src:fragment xml:id="refentry.source.name.profile.frag">
18 <xsl:param name="refentry.source.name.profile">
19   (($info[//productname])[last()]/productname)[1]|
20   (($info[//corpname])[last()]/corpname)[1]|
21   (($info[//corpcredit])[last()]/corpcredit)[1]|
22   (($info[//corpauthor])[last()]/corpauthor)[1]|
23   (($info[//orgname])[last()]/orgname)[1]|
24   (($info[//publishername])[last()]/publishername)[1]
25 </xsl:param>
26 </src:fragment>
27 </refsynopsisdiv>
28
29 <refsection><info><title>Description</title></info>
30
31 <para>The value of <parameter>refentry.source.name.profile</parameter>
32 is a string representing an XPath expression. It is evaluated at
33 run-time and used only if
34 <parameter>refentry.source.name.profile.enabled</parameter> is
35 non-zero. Otherwise, the <tag>refentry</tag> metadata-gathering logic
36 "hard coded" into the stylesheets is used.</para>
37
38 <para>A "source name" is one part of a (potentially) two-part
39 <replaceable>Name</replaceable> <replaceable>Version</replaceable>
40 "source" field. In man pages, it is usually displayed in the left
41 footer of the page. It typically indicates the software system or
42 product that the item documented in the man page belongs to. The
43 <literal>man(7)</literal> man page describes it as "the source of
44 the command", and provides the following examples:
45 <itemizedlist>
46   <listitem>
47     <para>For binaries, use something like: GNU, NET-2, SLS
48     Distribution, MCC Distribution.</para>
49   </listitem>
50   <listitem>
51     <para>For system calls, use the version of the kernel that you
52     are currently looking at: Linux 0.99.11.</para>
53   </listitem>
54   <listitem>
55     <para>For library calls, use the source of the function: GNU, BSD
56     4.3, Linux DLL 4.4.1.</para>
57   </listitem>
58 </itemizedlist>
59 </para>
60
61 <para>In practice, there are many pages that simply have a Version
62 number in the "source" field. So, it looks like what we have is a
63 two-part field,
64 <replaceable>Name</replaceable> <replaceable>Version</replaceable>,
65 where:
66 <variablelist>
67   <varlistentry>
68     <term>Name</term>
69     <listitem>
70       <para>product name (e.g., BSD) or org. name (e.g., GNU)</para>
71     </listitem>
72   </varlistentry>
73   <varlistentry>
74     <term>Version</term>
75     <listitem>
76       <para>version number</para>
77     </listitem>
78   </varlistentry>
79 </variablelist>
80 Each part is optional. If the <replaceable>Name</replaceable> is a
81 product name, then the <replaceable>Version</replaceable> is probably
82 the version of the product. Or there may be no
83 <replaceable>Name</replaceable>, in which case, if there is a
84 <replaceable>Version</replaceable>, it is probably the version
85 of the item itself, not the product it is part of. Or, if the
86 <replaceable>Name</replaceable> is an organization name, then there
87 probably will be no <replaceable>Version</replaceable>.</para>
88 </refsection>
89 </refentry>