Bonjour,
j'ai un fichier preferences.xml (parsé côté client par la feuille de style preferences.xsl), dans celui-ci j'ai entre-autres, un noeud "menu[@name='User']" où figurent une liste de nom de sites choisis par l'utilisateur:
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
 
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="preferences.xsl" type="text/xsl"?>
<preferences>
	<menu name="User">
		<item>Deezer</item>
		<item>LastFM</item>
		<item>Seeqpod</item>
	</menu>
	<menu name="Autres">
		<item>ex1</item>
		<item>ex2</item>
		<item>ex3</item>
	</menu>
</preferences>
Tous les choix possibles sont stockés dans un fichier annexe Sites.xml:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="UTF-8"?>
<list>
	<site>Deezer</site>
	<site>Imeen</site>
	<site>LastFM</site>
	<site>MOG</site>
	<site>Music IP</site>
	<site>Pandora</site>
	<site>Radioblogclub</site>
	<site>Seeqpod</site>
	<site>SocialFM</site>
</list>
La sélection se fait par l'intermediaire de case à cocher: (prerences.xsl)
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
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:template match="/">
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Sites</title>
</head>
 
<body>
<xsl:for-each select="document('Sites.xml')/list/site">
	<xsl:element name="input">
		<xsl:attribute name="type">checkbox</xsl:attribute>
		<xsl:call-template name="checksite" />
	</xsl:element>
	<xsl:value-of select="." />
	<xsl:element name="br" />
</xsl:for-each>
</body>
</html>
 
</xsl:template>
<xsl:template name="checksite">
	<xsl:variable name="site" select="." />
	<xsl:variable name="checking" select="false" />
	<xsl:for-each select="//preferences/menu[@name='User']/item">
		<xsl:if test=".=$site">
			<xsl:variable name="checking" select="true" />
		</xsl:if>
	</xsl:for-each>
	<xsl:choose>
		<xsl:when test="$checking='true'">
			<xsl:attribute name="checked">checked</xsl:attribute>
			<xsl:attribute name="title">Available - click to set Unavailable</xsl:attribute>
		</xsl:when>
		<xsl:otherwise>
			<xsl:attribute name="title">Unavailable - click to set Available</xsl:attribute>
		</xsl:otherwise>
	</xsl:choose>
</xsl:template>
</xsl:stylesheet>
le template 'checksite' sert à déterminer les choix par défaut à afficher en pré-cochant la case... aucune case ne sort cochée... savez-vous pourquoi?

Merci