source: trunk/form_html.xsl @ 2

Last change on this file since 2 was 2, checked in by smasson, 17 years ago

initial import

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