source: trunk/form_html.xsl @ 49

Last change on this file since 49 was 49, checked in by pinsard, 16 years ago

improvements of .xsl files headers

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