1 <?xml version='1.0'?> <!--*- mode: xml -*-->
4 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
5 xmlns:exsl="http://exslt.org/common"
6 xmlns:str="http://exslt.org/strings"
7 extension-element-prefixes="exsl str"
9 <xsl:output method="xml" indent="yes"
10 doctype-public ="-//OASIS//DTD DocBook XML V4.1.2//EN"
11 doctype-system = "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"/>
13 <xsl:param name="module" />
15 <xsl:template match="element">
16 <xsl:element name="varlistentry">
17 <xsl:element name="term">
18 <xsl:element name="link">
19 <xsl:attribute name="linkend"><xsl:value-of select="$module" />-plugins-<xsl:value-of select="name"/></xsl:attribute>
20 <xsl:value-of select="name" />
23 <xsl:element name="listitem">
24 <xsl:element name="simpara"><xsl:value-of select="description" /></xsl:element>
27 <xsl:variable name="name"><xsl:copy-of select="name"/></xsl:variable>
28 <!-- here we write an element-(name)-details.xml file for the element -->
29 <exsl:document href="{concat ('xml/element-', $name, '-details.xml')}" method="xml" indent="yes">
31 <xsl:element name="refsect2">
32 <xsl:element name="title">Element Information</xsl:element>
33 <xsl:element name="variablelist">
35 <!-- plugin name and link -->
36 <xsl:element name="varlistentry">
37 <xsl:element name="term">plugin</xsl:element>
38 <xsl:element name="listitem">
39 <xsl:element name="simpara">
40 <xsl:element name="link">
41 <xsl:attribute name="linkend">plugin-<xsl:value-of select="../../name"/></xsl:attribute>
42 <xsl:value-of select="../../name" />
48 <xsl:element name="varlistentry">
49 <xsl:element name="term">author</xsl:element>
50 <xsl:element name="listitem">
51 <xsl:element name="simpara"><xsl:value-of select="author" /></xsl:element>
55 <xsl:element name="varlistentry">
56 <xsl:element name="term">class</xsl:element>
57 <xsl:element name="listitem">
58 <xsl:element name="simpara"><xsl:value-of select="details" /></xsl:element>
62 </xsl:element> <!-- variablelist -->
64 <xsl:element name="title">Element Pads</xsl:element>
65 <!-- process all caps -->
66 <xsl:for-each select="pads/caps">
67 <xsl:element name="variablelist">
68 <xsl:element name="varlistentry">
69 <xsl:element name="term">name</xsl:element>
70 <xsl:element name="listitem">
71 <xsl:element name="simpara"><xsl:value-of select="name" /></xsl:element>
75 <xsl:element name="varlistentry">
76 <xsl:element name="term">direction</xsl:element>
77 <xsl:element name="listitem">
78 <xsl:element name="simpara"><xsl:value-of select="direction" /></xsl:element>
82 <xsl:element name="varlistentry">
83 <xsl:element name="term">presence</xsl:element>
84 <xsl:element name="listitem">
85 <xsl:element name="simpara"><xsl:value-of select="presence" /></xsl:element>
89 <xsl:for-each select='str:tokenize(details, ";")'>
90 <xsl:element name="varlistentry">
91 <xsl:element name="term">
92 <xsl:if test="position()=1">details</xsl:if>
94 <xsl:element name="listitem">
95 <xsl:element name="simpara"><xsl:value-of select='.'/></xsl:element>
100 </xsl:element> <!-- variablelist -->
102 <!--xsl:element name="programlisting"><xsl:value-of select="details" /></xsl:element-->
110 <xsl:template match="plugin">
111 <xsl:element name="refentry">
112 <xsl:attribute name="id"><xsl:value-of select="$module" />-plugins-plugin-<xsl:value-of select="name"/></xsl:attribute>
114 <xsl:element name="refmeta">
115 <xsl:element name="refentrytitle">
116 <xsl:value-of select="name"/>
118 <xsl:element name="manvolnum">3</xsl:element>
119 <xsl:element name="refmiscinfo">FIXME Library</xsl:element>
120 </xsl:element> <!-- refmeta -->
122 <xsl:element name="refnamediv">
123 <xsl:element name="refname">
124 <xsl:element name="anchor">
125 <xsl:attribute name="id">plugin-<xsl:value-of select="name"/></xsl:attribute>
126 <xsl:value-of select="name"/>
130 <xsl:element name="refpurpose">
131 <xsl:value-of select="description"/>
135 <xsl:element name="refsect1">
136 <xsl:element name="title">Plugin Information</xsl:element>
137 <xsl:element name="variablelist">
139 <xsl:element name="varlistentry">
140 <xsl:element name="term">filename</xsl:element>
141 <xsl:element name="listitem">
142 <xsl:element name="simpara"><xsl:value-of select="basename" /></xsl:element>
146 <xsl:element name="varlistentry">
147 <xsl:element name="term">version</xsl:element>
148 <xsl:element name="listitem">
149 <xsl:element name="simpara"><xsl:value-of select="version" /></xsl:element>
153 <xsl:element name="varlistentry">
154 <xsl:element name="term">run-time license</xsl:element>
155 <xsl:element name="listitem">
156 <xsl:element name="simpara"><xsl:value-of select="license" /></xsl:element>
160 <xsl:element name="varlistentry">
161 <xsl:element name="term">package</xsl:element>
162 <xsl:element name="listitem">
163 <xsl:element name="simpara"><xsl:value-of select="package" /></xsl:element>
167 <xsl:element name="varlistentry">
168 <xsl:element name="term">origin</xsl:element>
169 <xsl:element name="listitem">
170 <xsl:element name="simpara">
171 <!-- only show origin as link if it starts with http -->
173 <xsl:when test="substring(@href, 1, 4) = 'http'">
174 <xsl:element name="ulink">
175 <xsl:attribute name="url"><xsl:value-of select="origin" /></xsl:attribute>
176 <xsl:value-of select="origin" />
180 <xsl:value-of select="origin" />
190 <xsl:element name="refsect1">
191 <xsl:element name="title">Elements</xsl:element>
192 <!-- process all elements -->
193 <xsl:element name="variablelist">
194 <xsl:apply-templates select="elements"/>
203 <xsl:template match="gst-plugin-paths" />