source: trunk/form_html.xsl @ 48

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

improvements of headers, add property svn:keywords, typo

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