Bonjour à tous,
J'ai chercher sur le net pour trouver le moyen de créer un XPATH en fonction de paramètre mais je n'ai rien trouvé de convaincant.
En gros j'essais d'avoir un formulaire dynamique.
Mais expérimente quelques petits soucis quand je veux remplir les champs dans le formulaire de retour en cas de mauvaise saisie.
Mon problème principale c'est que je crée une variable $responseURL à partir d'une concaténation de bout d'XPATH et j'aimerais tester si cet XPATH existe et si oui quel est sa valeur.
Mais apparemment XLS n'interprete pas cette variable en me renvois toujours la valeur du text du XPATH (ex: /RESPONSE/URL/nom) et pas la valeur qui se trouve à cette adresse. (Y a-t-il une fonction de convertion de String vers Node ?)
Voici le morceau de code qui me pose problème:
XSL
XML
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 ... <!-- TEXTBOX --> <xsl:when test="$mediaCurr/INFO/MEDIATYPE='TextBox'"> <xsl:variable name="responseField" select="$mediaCurr/DESCRIPTIONS/DESCRIPTION/URL" /> <xsl:variable name="responseURL" select="concat('/RESPONSE/URL/',$responseField)"/> <!-- probleme: variable initialisée comme string --><tr> <td width="120"> <xsl:value-of select="$mediaCurr/DESCRIPTIONS/DESCRIPTION/HEADER"/> </td> <td align="left"> <input type="text" size="30" maxlength="256" name="{$responseField}"> <xsl:if test="$responseURL and $responseURL=''"> <xsl:attribute name="style">background-color: #8d94c9;color: #FFFFFF;</xsl:attribute> </xsl:if> <xsl:attribute name="value"> <xsl:choose> <xsl:when test="$responseURL = ''"> <xsl:value-of select="''" /> </xsl:when> <xsl:otherwise> <xsl:value-of select="$responseURL" /> </xsl:otherwise> </xsl:choose> --> </xsl:attribute> </input> </td> </tr> </xsl:when> ...
Désolé, si je n'ai pas été assez clair, c'est mon premier post.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 <RESPONSE> <URL> <nom>Olivier</nom> <societe>Ma société</societe> <tel>0266......</tel> </URL> ... <MEDIA depth="4" ID="67"> <INFO> <ID>67</ID> <ACTIVITY>1</ACTIVITY> <ISLOCKED>0</ISLOCKED> <CREATORID>1990</CREATORID> <OWNERID>1990</OWNERID> <GROUPID>0</GROUPID> <MODIFIERID>1976</MODIFIERID> <CREATIONDATE>2006-11-21 16:39:40</CREATIONDATE> <MODIFICATIONDATE>2006-12-05 19:24:50</MODIFICATIONDATE> <MEDIATYPEID>14</MEDIATYPEID> <MEDIATYPE>TextBox</MEDIATYPE> <DENOMINATION>Nom</DENOMINATION> <PAGETOCALL /> <TEMPLATE /> <TIMEIN>0000-00-00 00:00:00</TIMEIN> <TIMEOUT>9999-12-31 23:59:59</TIMEOUT> <EVENTSTART>0000-00-00 00:00:00</EVENTSTART> <EVENTEND>9999-12-31 23:59:59</EVENTEND> <AUTHORID>0</AUTHORID> <PUBLISHED>1</PUBLISHED> <CHECKED>0</CHECKED> <MISC /> </INFO> <DESCRIPTIONS> <DESCRIPTION ID="6965"> <ID>6965</ID> <LANGUAGEID>fre</LANGUAGEID> <STATUS>published</STATUS> <CREATORID>0</CREATORID> <MODIFIERID>1976</MODIFIERID> <URL>nom</URL> <HEADER> <CSS> <p>Nom</p> </CSS> </HEADER> <TITLE>Nom</TITLE> <CUSTOM /> <BODY /> <SUMMARY /> <SIGNATURE /> <BIBLIO /> <COPYRIGHT /> </DESCRIPTION> </DESCRIPTIONS> <CATEGORIES /> <DEPINFO /> <COMMENT /> </MEDIA> ... </RESPONSE>
Si vous pouvez m'aider, sutout n'hésitez pas à me poser des questions sur ce qui n'est pas clair.
Merci d'avance...
Partager