1<?xml version='1.0'?> <!--*- mode: xml -*--> 2 3<xsl:stylesheet 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" 8 version="1.0"> 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"/> 12 13<xsl:param name="module" /> 14 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" /> 21 </xsl:element> 22 </xsl:element> 23 <xsl:element name="listitem"> 24 <xsl:element name="simpara"><xsl:value-of select="description" /></xsl:element> 25 </xsl:element> 26 </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"> 30 31 <xsl:element name="refsynopsisdiv"> 32 <xsl:element name="refsect2"> 33 <xsl:element name="title">Element Information</xsl:element> 34 <xsl:element name="variablelist"> 35 36 <!-- plugin name and link --> 37 <xsl:element name="varlistentry"> 38 <xsl:element name="term">plugin</xsl:element> 39 <xsl:element name="listitem"> 40 <xsl:element name="simpara"> 41 <xsl:element name="link"> 42 <xsl:attribute name="linkend">plugin-<xsl:value-of select="../../name"/></xsl:attribute> 43 <xsl:value-of select="../../name" /> 44 </xsl:element> 45 </xsl:element> 46 </xsl:element> 47 </xsl:element> 48 49 <xsl:element name="varlistentry"> 50 <xsl:element name="term">author</xsl:element> 51 <xsl:element name="listitem"> 52 <xsl:element name="simpara"><xsl:value-of select="author" /></xsl:element> 53 </xsl:element> 54 </xsl:element> 55 56 <xsl:element name="varlistentry"> 57 <xsl:element name="term">class</xsl:element> 58 <xsl:element name="listitem"> 59 <xsl:element name="simpara"><xsl:value-of select="class" /></xsl:element> 60 </xsl:element> 61 </xsl:element> 62 63 </xsl:element> <!-- variablelist --> 64 </xsl:element> <!-- refsect2 --> 65 66 <xsl:element name="refsect2"> 67 <xsl:element name="title">Element Pads</xsl:element> 68 <!-- process all caps --> 69 <xsl:for-each select="pads/caps"> 70 <xsl:element name="variablelist"> 71 <xsl:element name="varlistentry"> 72 <xsl:element name="term">name</xsl:element> 73 <xsl:element name="listitem"> 74 <xsl:element name="simpara"><xsl:value-of select="name" /></xsl:element> 75 </xsl:element> 76 </xsl:element> 77 78 <xsl:element name="varlistentry"> 79 <xsl:element name="term">direction</xsl:element> 80 <xsl:element name="listitem"> 81 <xsl:element name="simpara"><xsl:value-of select="direction" /></xsl:element> 82 </xsl:element> 83 </xsl:element> 84 85 <xsl:element name="varlistentry"> 86 <xsl:element name="term">presence</xsl:element> 87 <xsl:element name="listitem"> 88 <xsl:element name="simpara"><xsl:value-of select="presence" /></xsl:element> 89 </xsl:element> 90 </xsl:element> 91 92 <xsl:for-each select='str:tokenize(details, ";")'> 93 <xsl:element name="varlistentry"> 94 <xsl:element name="term"> 95 <xsl:if test="position()=1">details</xsl:if> 96 </xsl:element> 97 <xsl:element name="listitem"> 98 <xsl:element name="simpara"><xsl:value-of select='.'/></xsl:element> 99 </xsl:element> 100 </xsl:element> 101 </xsl:for-each> 102 103 </xsl:element> <!-- variablelist --> 104 105 <!--xsl:element name="programlisting"><xsl:value-of select="details" /></xsl:element--> 106 107 </xsl:for-each> 108 </xsl:element> <!-- refsect2 --> 109 </xsl:element> <!-- refsynopsisdiv --> 110 111 </exsl:document> 112 </xsl:template> 113 114 <xsl:template match="tracer"> 115 <xsl:element name="varlistentry"> 116 <xsl:element name="term"> 117 <xsl:element name="link"> 118 <xsl:attribute name="linkend"><xsl:value-of select="$module" />-plugins-<xsl:value-of select="name"/>tracer</xsl:attribute> 119 <xsl:value-of select="name" /> 120 </xsl:element> 121 </xsl:element> 122 <!--<xsl:element name="listitem"> 123 <xsl:element name="simpara"><xsl:value-of select="description" /></xsl:element> 124 </xsl:element>--> 125 </xsl:element> 126 <xsl:variable name="name"><xsl:copy-of select="name"/></xsl:variable> 127 <exsl:document href="{concat ('xml/tracer-', $name, '-details.xml')}" method="xml" indent="yes"> 128 129 <xsl:element name="refsynopsisdiv"> 130 <xsl:element name="refsect2"> 131 <xsl:element name="title">Tracer Information</xsl:element> 132 <xsl:element name="variablelist"> 133 134 <!-- plugin name and link --> 135 <xsl:element name="varlistentry"> 136 <xsl:element name="term">plugin</xsl:element> 137 <xsl:element name="listitem"> 138 <xsl:element name="simpara"> 139 <xsl:element name="link"> 140 <xsl:attribute name="linkend">plugin-<xsl:value-of select="../../name"/></xsl:attribute> 141 <xsl:value-of select="../../name" /> 142 </xsl:element> 143 </xsl:element> 144 </xsl:element> 145 </xsl:element> 146 </xsl:element> <!-- variablelist --> 147 </xsl:element> <!-- refsect2 --> 148 </xsl:element> <!-- refsynopsisdiv --> 149 150 </exsl:document> 151 </xsl:template> 152 153 <xsl:template match="plugin"> 154 <xsl:element name="refentry"> 155 <xsl:attribute name="id"><xsl:value-of select="$module" />-plugins-plugin-<xsl:value-of select="name"/></xsl:attribute> 156 157 <xsl:element name="refmeta"> 158 <xsl:element name="refentrytitle"> 159 <xsl:value-of select="name"/> 160 </xsl:element> 161 <xsl:element name="manvolnum">3</xsl:element> 162 <xsl:element name="refmiscinfo">FIXME Library</xsl:element> 163 </xsl:element> <!-- refmeta --> 164 165 <xsl:element name="refnamediv"> 166 <xsl:element name="refname"> 167 <xsl:value-of select="name"/> 168 </xsl:element> 169 170 <xsl:element name="refpurpose"> 171 <xsl:element name="anchor"> 172 <xsl:attribute name="id">plugin-<xsl:value-of select="name"/></xsl:attribute> 173 </xsl:element> 174 <xsl:value-of select="description"/> 175 </xsl:element> 176 </xsl:element> 177 178 <xsl:element name="refsect1"> 179 <xsl:element name="title">Plugin Information</xsl:element> 180 <xsl:element name="variablelist"> 181 182 <xsl:element name="varlistentry"> 183 <xsl:element name="term">filename</xsl:element> 184 <xsl:element name="listitem"> 185 <xsl:element name="simpara"><xsl:value-of select="basename" /></xsl:element> 186 </xsl:element> 187 </xsl:element> 188 189 <xsl:element name="varlistentry"> 190 <xsl:element name="term">version</xsl:element> 191 <xsl:element name="listitem"> 192 <xsl:element name="simpara"><xsl:value-of select="version" /></xsl:element> 193 </xsl:element> 194 </xsl:element> 195 196 <xsl:element name="varlistentry"> 197 <xsl:element name="term">run-time license</xsl:element> 198 <xsl:element name="listitem"> 199 <xsl:element name="simpara"><xsl:value-of select="license" /></xsl:element> 200 </xsl:element> 201 </xsl:element> 202 203 <xsl:element name="varlistentry"> 204 <xsl:element name="term">package</xsl:element> 205 <xsl:element name="listitem"> 206 <xsl:element name="simpara"><xsl:value-of select="package" /></xsl:element> 207 </xsl:element> 208 </xsl:element> 209 210 <xsl:element name="varlistentry"> 211 <xsl:element name="term">origin</xsl:element> 212 <xsl:element name="listitem"> 213 <xsl:element name="simpara"> 214 <!-- only show origin as link if it starts with http --> 215 <xsl:choose> 216 <xsl:when test="substring(@href, 1, 4) = 'http'"> 217 <xsl:element name="ulink"> 218 <xsl:attribute name="url"><xsl:value-of select="origin" /></xsl:attribute> 219 <xsl:value-of select="origin" /> 220 </xsl:element> 221 </xsl:when> 222 <xsl:otherwise> 223 <xsl:value-of select="origin" /> 224 </xsl:otherwise> 225 </xsl:choose> 226 </xsl:element> 227 </xsl:element> 228 </xsl:element> 229 230 </xsl:element> 231 </xsl:element> 232 233 <xsl:element name="refsect1"> 234 <xsl:element name="title">Elements</xsl:element> 235 <!-- process all elements --> 236 <xsl:element name="variablelist"> 237 <xsl:apply-templates select="elements"/> 238 </xsl:element> 239 </xsl:element> 240 241 </xsl:element> 242 243 </xsl:template> 244 245 <!-- ignore --> 246 <xsl:template match="gst-plugin-paths" /> 247 248</xsl:stylesheet> 249