Initial release
[adaptation/ap_samsung/gst-plugins-s5pc2xx.git] / common / plugins.xsl
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   extension-element-prefixes="exsl"
7   version="1.0">
8 <xsl:output method="xml" indent="yes"
9             doctype-public ="-//OASIS//DTD DocBook XML V4.1.2//EN"
10             doctype-system = "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"/> 
11
12 <xsl:param name="module" />
13
14   <xsl:template match="element">
15     <xsl:element name="varlistentry">
16       <xsl:element name="term">
17         <xsl:element name="link">
18           <xsl:attribute name="linkend"><xsl:value-of select="$module" />-plugins-<xsl:value-of select="name"/></xsl:attribute>
19           <xsl:value-of select="name" />
20         </xsl:element>
21       </xsl:element>
22       <xsl:element name="listitem">
23         <xsl:element name="simpara"><xsl:value-of select="description" /></xsl:element>
24       </xsl:element>
25     </xsl:element>
26     <xsl:variable name="name"><xsl:copy-of select="name"/></xsl:variable>
27     <!-- here we write an element-(name)-details.xml file for the element -->
28     <exsl:document href="{concat ('xml/element-', $name, '-details.xml')}" method="xml" indent="yes">
29
30       <xsl:element name="refsect2">
31         <xsl:element name="title">Element Information</xsl:element>
32         <xsl:element name="variablelist">
33         
34           <!-- plugin name and link -->
35           <xsl:element name="varlistentry">
36             <xsl:element name="term">plugin</xsl:element>
37             <xsl:element name="listitem">
38               <xsl:element name="simpara">
39                 <xsl:element name="link">
40                   <xsl:attribute name="linkend">plugin-<xsl:value-of select="../../name"/></xsl:attribute>
41                   <xsl:value-of select="../../name" />
42                 </xsl:element>
43               </xsl:element>
44             </xsl:element>
45           </xsl:element>
46         
47           <xsl:element name="varlistentry">
48             <xsl:element name="term">author</xsl:element>
49             <xsl:element name="listitem">
50               <xsl:element name="simpara"><xsl:value-of select="author" /></xsl:element>
51             </xsl:element>
52           </xsl:element>
53         
54           <xsl:element name="varlistentry">
55             <xsl:element name="term">class</xsl:element>
56             <xsl:element name="listitem">
57               <xsl:element name="simpara"><xsl:value-of select="class" /></xsl:element>
58             </xsl:element>
59           </xsl:element>
60                       
61         </xsl:element> <!-- variablelist -->
62
63         <xsl:element name="title">Element Pads</xsl:element>
64         <!-- process all caps -->
65         <xsl:for-each select="pads/caps">
66           <xsl:element name="variablelist">
67             <xsl:element name="varlistentry">
68               <xsl:element name="term">name</xsl:element>
69               <xsl:element name="listitem">
70                 <xsl:element name="simpara"><xsl:value-of select="name" /></xsl:element>
71               </xsl:element>
72             </xsl:element>
73             
74             <xsl:element name="varlistentry">
75               <xsl:element name="term">direction</xsl:element>
76               <xsl:element name="listitem">
77                 <xsl:element name="simpara"><xsl:value-of select="direction" /></xsl:element>
78               </xsl:element>
79             </xsl:element>
80             
81             <xsl:element name="varlistentry">
82               <xsl:element name="term">presence</xsl:element>
83               <xsl:element name="listitem">
84                 <xsl:element name="simpara"><xsl:value-of select="presence" /></xsl:element>
85               </xsl:element>
86             </xsl:element>
87             
88             <xsl:element name="varlistentry">
89               <xsl:element name="term">details</xsl:element>
90               <xsl:element name="listitem">
91                 <xsl:element name="simpara"><xsl:value-of select="details" /></xsl:element>
92               </xsl:element>
93             </xsl:element>
94
95           </xsl:element> <!-- variablelist -->
96
97           <!--xsl:element name="programlisting"><xsl:value-of select="details" /></xsl:element-->
98
99         </xsl:for-each>
100       </xsl:element>
101
102     </exsl:document>
103   </xsl:template>
104
105   <xsl:template match="plugin">
106     <xsl:element name="refentry">
107       <xsl:attribute name="id"><xsl:value-of select="$module" />-plugins-plugin-<xsl:value-of select="name"/></xsl:attribute>
108
109       <xsl:element name="refmeta">
110         <xsl:element name="refentrytitle">
111           <xsl:value-of select="name"/>
112         </xsl:element>
113         <xsl:element name="manvolnum">3</xsl:element>
114         <xsl:element name="refmiscinfo">FIXME Library</xsl:element>
115       </xsl:element> <!-- refmeta -->
116
117       <xsl:element name="refnamediv">
118         <xsl:element name="refname">
119           <xsl:element name="anchor">
120             <xsl:attribute name="id">plugin-<xsl:value-of select="name"/></xsl:attribute>
121             <xsl:value-of select="name"/>
122           </xsl:element>
123         </xsl:element>
124   
125         <xsl:element name="refpurpose">
126           <xsl:value-of select="description"/>
127         </xsl:element>
128       </xsl:element>
129
130       <xsl:element name="refsect1">
131         <xsl:element name="title">Plugin Information</xsl:element>
132         <xsl:element name="variablelist">
133
134           <xsl:element name="varlistentry">
135             <xsl:element name="term">filename</xsl:element>
136             <xsl:element name="listitem">
137               <xsl:element name="simpara"><xsl:value-of select="basename" /></xsl:element>
138             </xsl:element>
139           </xsl:element>
140
141           <xsl:element name="varlistentry">
142             <xsl:element name="term">version</xsl:element>
143             <xsl:element name="listitem">
144               <xsl:element name="simpara"><xsl:value-of select="version" /></xsl:element>
145             </xsl:element>
146           </xsl:element>
147
148           <xsl:element name="varlistentry">
149             <xsl:element name="term">run-time license</xsl:element>
150             <xsl:element name="listitem">
151               <xsl:element name="simpara"><xsl:value-of select="license" /></xsl:element>
152             </xsl:element>
153           </xsl:element>
154
155           <xsl:element name="varlistentry">
156             <xsl:element name="term">package</xsl:element>
157             <xsl:element name="listitem">
158               <xsl:element name="simpara"><xsl:value-of select="package" /></xsl:element>
159             </xsl:element>
160           </xsl:element>
161
162           <xsl:element name="varlistentry">
163             <xsl:element name="term">origin</xsl:element>
164             <xsl:element name="listitem">
165               <xsl:element name="simpara">
166                 <!-- only show origin as link if it starts with http -->
167                 <xsl:choose>
168                   <xsl:when test="substring(@href, 1, 4) = 'http'">
169                     <xsl:element name="ulink">
170                       <xsl:attribute name="url"><xsl:value-of select="origin" /></xsl:attribute>
171                       <xsl:value-of select="origin" />
172                     </xsl:element>
173                   </xsl:when>
174                   <xsl:otherwise>
175                     <xsl:value-of select="origin" />
176                   </xsl:otherwise>
177                 </xsl:choose>
178               </xsl:element>
179             </xsl:element>
180           </xsl:element>
181
182         </xsl:element>
183       </xsl:element>
184
185       <xsl:element name="refsect1">
186         <xsl:element name="title">Elements</xsl:element>
187         <!-- process all elements -->
188         <xsl:element name="variablelist">
189           <xsl:apply-templates select="elements"/>
190         </xsl:element>
191       </xsl:element>
192
193     </xsl:element>
194
195   </xsl:template>
196
197   <!-- ignore -->
198   <xsl:template match="gst-plugin-paths" />
199
200 </xsl:stylesheet>