Bonjour,
J'ai un problème je pense tout con... Je n'arrive pas utiliser xsl:include
J'ai un fichier xsl qui doit afficher les noms et prénoms de professeurs dans une colonne, et ce grâce à l'uid du prof, en passant par le serveur LDAP
Si je fais dans le même fichier xsl l'affichage et la recherche, ça fonctionne, mais j'aimerais pouvoir centraliser le template faisant la recherche sur le LDAP afin de l'utiliser avec plusieurs autres xsl.
Voici mon code:
xsl d'affichage:
xsl LDAP:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cdmservices="http://www.calendra.com/namespaces/services"> <xsl:include href="ldap.xsl"/> ... <xsl:call-template name="search_LDAP_fullName"> <xsl:with-param name="cn" select="."/> </xsl:call-template>
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 <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cdmservices="http://www.calendra.com/namespaces/services"> <xsl:output method="xml" encoding="ISO-8859-1" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" indent="yes" /> <xsl:template name="search_LDAP_fullName"> <xsl:param name="cn" /><!-- identifiant LDAP de la personne --> <!-- requête vers LDAP --> <xsl:variable name="toLDAP"> http://calendra/WS/servlet/urlrouter?cdm_ident_userid=&cdm_ident_password=&cdm_service_name=WS:GDL_WebServices&cdm_return_mode=TEXT/XML&cdm_function_name=userRequest&cdm_parameters=%3Croot%3E%3Cquery%3E(%7C(cn= <xsl:value-of select="$cn" /> ))%3C%2Fquery%3E%3C%2Froot%3E </xsl:variable> <!-- affiche le nom complet --> <xsl:for-each select="document($toLDAP)/cdmservices:RESULT/cdmservices:entries/cdmservices:entry/cdmservices:attributes"> <xsl:value-of select="cdmservices:attribute[@name='fullName']" /> </xsl:for-each> </xsl:template> </xsl:stylesheet>
Partager