source: trunk/form_html.xsl

Last change on this file was 323, checked in by pinsard, 11 years ago

fix for XSL documentations

  • Property svn:keywords set to Id
File size: 5.6 KB
Line 
1<?xml version='1.0' encoding='ISO-8859-1'?>
2<xsl:stylesheet
3xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4xmlns:html="http://www.w3.org/1999/xhtml"
5version="1.0">
6
7<!--rst
8
9.. _form_html.xsl:
10
11=============
12form_html.xsl
13=============
14
15DESCRIPTION
16===========
17
18transformation des elements de formulaires docbook en html
19
20EVOLUTIONS
21==========
22
23$Id$
24
25- fplod 2008-04-28T15:29:15Z aedon.locean-ipsl.upmc.fr (Darwin)
26
27  * dbk5 in
28
29- fplod 2007-04-27T15:08:17Z aedon.locean-ipsl.upmc.fr (Darwin)
30
31  * inclusion php d'après http://www.cygwin.com/ml/docbook-apps/2005-q1/msg00484.html
32    je laisse les xsl:processing-instruction qui devraient pouvoir marcher mais je ne sais pas pourquoi xsltproc
33    ne veut rien mettre dans le contenu de l'attribut value d'un input ... cf méchant sed dans makefile
34
35- fplod 2007-04-20T13:39:00Z aedon.locean-ipsl.upmc.fr (Darwin)
36
37  * création
38
39-->
40
41<xsl:template match="html:form">
42 <xsl:text>&#xA;</xsl:text>
43 <xsl:element name="form">
44  <xsl:if test="@action">
45   <xsl:attribute name="action"><xsl:value-of select="@action"/>
46<!--?subject=[nemo survey 2007 cf form_db.xsl -->
47<xsl:processing-instruction name="php">
48<xsl:text>
49/*
50 Définit le fuseau horaire par défaut à utiliser. Disponible depuis PHP
51 5.1
52date_default_timezone_set('UTC'); ++
53*/
54error_reporting(E_ALL);
55
56DATE_ISO8601_mod = 'Y-m-d\TH:i:s\Z'; /* +Z - fraction seconde */
57
58echo gmdate($DATE_ISO8601_mod);
59</xsl:text>
60</xsl:processing-instruction>
61   </xsl:attribute>
62  </xsl:if>
63  <xsl:if test="@method">
64   <xsl:attribute name="method"><xsl:value-of select="@method"/></xsl:attribute>
65  </xsl:if>
66  <xsl:if test="@enctype">
67   <xsl:attribute name="enctype"><xsl:value-of select="@enctype"/></xsl:attribute>
68  </xsl:if>
69  <xsl:apply-templates/>
70 </xsl:element>
71</xsl:template>
72
73<xsl:template match="html:fieldset">
74 <xsl:text>&#xA;</xsl:text>
75 <xsl:element name="fieldset">
76  <xsl:attribute name="id"><xsl:value-of select="@xml:id"/></xsl:attribute>
77  <xsl:apply-templates/>
78 </xsl:element>
79</xsl:template>
80
81<xsl:template match="html:label">
82 <xsl:text>&#xA;</xsl:text>
83 <xsl:element name="label">
84  <xsl:apply-templates/>
85 </xsl:element>
86</xsl:template>
87
88<xsl:template match="html:legend">
89 <legend><xsl:apply-templates/></legend>
90</xsl:template>
91
92<xsl:template match="html:input">
93 <xsl:text>&#xA;</xsl:text>
94 <xsl:element name="input">
95  <xsl:if test="@name">
96   <xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute>
97  </xsl:if>
98  <xsl:if test="@type">
99   <xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute>
100  </xsl:if>
101  <xsl:if test="@tabindex">
102   <xsl:attribute name="tabindex"><xsl:value-of select="@tabindex"/></xsl:attribute>
103  </xsl:if>
104  <xsl:if test="@value">
105   <xsl:attribute name="value">
106    <xsl:value-of select="@value"/>
107   </xsl:attribute>
108  </xsl:if>
109  <xsl:if test="not(@value)">
110   <xsl:choose>
111     <xsl:when test="@name='timestamp'">
112      <xsl:attribute name="value">
113<xsl:processing-instruction name="php">
114<xsl:text>
115/*
116 Définit le fuseau horaire par défaut à utiliser. Disponible depuis PHP
117 5.1
118date_default_timezone_set('UTC'); ++
119*/
120error_reporting(E_ALL);
121
122DATE_ISO8601_mod = 'Y-m-d\TH:i:s\Z'; /* +Z - fraction seconde */
123
124echo date($DATE_ISO8601_mod);
125</xsl:text>
126</xsl:processing-instruction>
127      </xsl:attribute>
128     </xsl:when>
129     <xsl:when test="@name='server'">
130       <xsl:attribute name="value">
131<xsl:processing-instruction name="php">
132<xsl:text>
133echo $_SERVER['HTTP_USER_AGENT'];
134</xsl:text>
135</xsl:processing-instruction>
136      </xsl:attribute>
137     </xsl:when>
138     <xsl:when test="@name='phpversion'">
139       <xsl:attribute name="value">
140<xsl:processing-instruction name="php">
141<xsl:text>
142echo phpversion();
143</xsl:text>
144</xsl:processing-instruction>
145      </xsl:attribute>
146     </xsl:when>
147     <xsl:otherwise>
148     <xsl:message terminate="yes">
149      eee : input <xsl:value-of select="@name"/> without @value
150     </xsl:message>
151    </xsl:otherwise>
152   </xsl:choose>
153  </xsl:if>
154  <xsl:if test="@checked">
155   <xsl:attribute name="checked"><xsl:value-of select="@checked"/></xsl:attribute>
156  </xsl:if>
157  <xsl:if test="@readonly">
158   <xsl:attribute name="readonly"><xsl:value-of select="@readonly"/></xsl:attribute>
159  </xsl:if>
160  <xsl:apply-templates/>
161 </xsl:element>
162</xsl:template>
163
164<xsl:template match="html:textarea">
165 <xsl:text>&#xA;</xsl:text>
166 <xsl:element name="textarea">
167  <xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute>
168  <xsl:attribute name="cols"><xsl:value-of select="@cols"/></xsl:attribute>
169  <xsl:attribute name="rows"><xsl:value-of select="@rows"/></xsl:attribute>
170  <xsl:apply-templates/>
171 </xsl:element>
172</xsl:template>
173<xsl:template match="html:form/html:select">
174 <xsl:text>&#xA;</xsl:text>
175 <xsl:element name="select">
176  <xsl:if test="@name">
177   <xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute>
178  </xsl:if>
179  <xsl:if test="@xml:id">
180   <xsl:attribute name="id"><xsl:value-of select="@xml:id"/></xsl:attribute>
181  </xsl:if>
182  <xsl:if test="@multiple">
183   <xsl:attribute name="multiple"><xsl:value-of select="@multiple"/></xsl:attribute>
184  </xsl:if>
185  <xsl:if test="@onChange">
186   <xsl:attribute name="onChange"><xsl:value-of select="@onChange"/></xsl:attribute>
187  </xsl:if>
188  <xsl:apply-templates/>
189 </xsl:element>
190</xsl:template>
191
192<xsl:template match="html:option">
193 <xsl:text>&#xA;</xsl:text>
194 <xsl:element name="option">
195  <xsl:if test="@value">
196   <xsl:attribute name="value"><xsl:value-of select="@value"/></xsl:attribute>
197  </xsl:if>
198  <xsl:if test="@SELECTED">
199   <xsl:attribute name="SELECTED"><xsl:value-of select="@SELECTED"/></xsl:attribute>
200  </xsl:if>
201  <xsl:apply-templates/>
202 </xsl:element>
203</xsl:template>
204
205</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.