Hello,

Je suis entrain de créer une feuille XSL, voici tout d'abord le code XML (pour des raison professionnel/confidentialité, je mets que le début du code), ce code xml, m'est retourné par le serveur directement donc je peux pas le modifier:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="HQ_EUC IT Solutions backup.xsl"?>
	<Report xmlns="Tickets_x0020_Detailed_x0020_List" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="Tickets_x0020_Detailed_x0020_List  http://webapps5.nestle.com/ReportServer?%2fKPI-INC%2fTickets+Detailed+List&amp;XAXIS=PRIORITY&amp;YAXIS=RESOLUTION+GROUPS&amp;SCOPE=%25&amp;EXPERTISE=%25&amp;TIMEPERIOD=%25&amp;STREAM=%25&amp;TEAM=HQ_IT+EUC+SOLUTIONS&amp;ASSIGNEDNIMBU=%25&amp;ORIGINNIMBU=%25&amp;IMPACTEDMARKETREGION=%25&amp;SERVICE=%25&amp;IMPACTEDBU=%25&amp;COMPONENT=%25&amp;STATUS=%25&amp;PRIORITY=%25&amp;REASSIGNMENTS=%25&amp;MYTICKETVIEW=GROUP+LEAD&amp;MYTICKETEMAIL=%25&amp;ASSIGNEDGSOLAYERORGVALUE=%25&amp;ASSIGNEDGSOZONEMARKETVALUE=%25&amp;ORIGINGSOLAYERORGVALUE=%25&amp;ORIGINGSOZONEMARKETVALUE=%25&amp;IMPACTEDASSETTYPE=%25&amp;CRITICALUSER=%25&amp;XTICKETTYPE=%25&amp;XVALUE=%25&amp;YVALUE1=%25&amp;YVALUE2=%25&amp;RELATEDTO=%25&amp;SORTCOLUMN=IMRMNumber&amp;rs%3aCommand=Render&amp;rs%3aFormat=xml&amp;rc%3aSchema=True"  Name="Tickets Detailed List">
		<Bread_Crumbs XYValues_InHeader="&gt; All - All" />
		<Report_List Error_Message="There are no Tickets matching the selected filters">
			<NumberPRGN_Collection>
				<NumberPRGN IMRMNUMBER_Val="IM8447927" ...>...


et voici mon code XSL :

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
		
	 <xsl:template match="/">
		  <HTML>
			<head>
				  <style type="text/css">
						th
						{
							background-color: #dce4f0;
							color: #191970 ;
							border:1px solid #191970;
						}
						
						table
						{
							border:1px solid #191970;
						}
						
						td
						{
							border:1px solid #191970;
						}
				  </style>

			</head>
			<body>
			  <table width="100%" cellpadding="5" cellspacing="0">
				<tr>
					<th>Numéro de ticket</th>
					<th>Assigné à</th>
					<th>Titre</th>
					<th>SLO</th>
				</tr>
					<xsl:apply-templates select="Report/Report_List/NumberPRGN_Collection/NumberPRGN"/>
			  </table>
			</body>
		 </HTML>  
	 </xsl:template>

<xsl:template match="Report/Report_List/NumberPRGN_Collection/NumberPRGN">
	<tr>
		<td>
		   <a>
				<xsl:attribute name="href">
					<xsl:value-of select="concat('www.test.ch)"/>
					<xsl:value-of select="@IMRMNUMBER_Val"/>
				</xsl:attribute> 
				<xsl:value-of select="@IMRMNUMBER_Val"/> 
		   </a>
		</td>
	</tr>
</xsl:template>
</xsl:stylesheet>


Mon problème vient apparemment du Namespace de mon code XML, parce que si je modifie la tag Report, en retirant tout ce qui ce trouve derrière <Report>, mon xsl fonctionne... mais si je laisse <Report ...> ça ne marche plus...

J'ai fais des recherche sur le web pour le xsl xml namespace, mais je n'ai pas trouvé grand chose, ou je n'ai pas réussi à comprendre/trouver la solution...

Je n'arrive pas à trouver l'élément manquant dans mon XSL pour qu'il soit compatible avec le XML...

Un grand Merci d'avance pour votre aide...

bonne journée,

Sims'
Je rencontre actuellement le même problème que toi mais malheureusement je n'ai pas vraiment trouvé la solution à part copier le fichier xml dans un fichier temporaire ou j'ai retiré le namespace gênant. Mais on ne peut pas dire que cette solution soit propre mais bon ...

Si je trouve une solution convenable je t'en ferrais part.
Hello,

Merci pour ta réponse, j'ai essayé de modifié le fichier xml avec du code javascript, mais sans trop de succès, je crois avoir résussi à effacer les attributs génant mais ça ne marche pas plus... et comme je ne connais pas javascript, je ne sais pas exactement qu'est-ce qu'il bloque encore...

Par contre, temporairement j'ai trouvé une autre solution, où j'utilise le javascript pour parcourrir mon arbre XML et renvoyé du code HTML, et là pas de soucis... Mais je préférrais utiliser du XSL...
Salut,

J'ai une bonne nouvelle Smiley biggrin , j'ai trouvé la solution au problème permettant d'utiliser un fichier xsl sans avoir besoin de faire des bidouilles en JS ou autre.

Je te donne ce lien http://xmlfr.org/documentations/faq/010105-0003

Je pense que tu n'auras pas de mal à comprendre mais si c'est le cas tu peux toujours me demander de l'aide !
Hello,

MERCI beacoup pour ton aide, j'ai bien compris le principe de base que tous les namespaces doivent être connu par le XSL, pas de problème...

Mais dans mon cas, je ne sais pas exactement comment mettre cela en pratique...

J'ai ajouté le xmlns dans mon namespace XSL

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pile="Tickets_x0020_Detailed_x0020_List">



et ensuite j'ai fait le match

			  <xsl:template match="pile:Report/pile:Report_List/pile:NumberPRGN_Collection/pile:NumberPRGN">
					<p>test</p>
			  </xsl:template>



et mon test ne s'affiche pas...

il y a p-e un élément qui m'échappe un peu, quel est ou quelles sont les namespaces utilisé dans mon XML? xmlns ça en est 1, et xmlns:xsi un 2ème?

Et si on regarde le schéma XML, on voit qu'il est pas préfixé...

Avant de poster sur le forum, j'ai également essayé de reprendre tous les élèments du tag report et de les mettre dans mon xsl mais rien non plus...
Modifié par Simspon (12 Dec 2007 - 14:59)
Je ne vois pas vraiment comment je pourrais t'aider cependant je te propose d'essayer :

1 - d'ajouter le lien xsi dans le stylesheet (on sait jamais)
2 - de vérifier l'appel de ton template il faut faut que tu fasses :
<xsl:apply-templates select="pile:Report/pile:Report_List/pile:NumberPRGN_Collection/pile:NumberPRGN" />

sauf si tu veux que ton template soit appelé directement dans ce cas là :
<xsl:template match="/pile:Report/pile:Report_List/pile:NumberPRGN_Collection/pile:NumberPRGN" >.....</xsl:template>

Modifié par bapfuror (13 Dec 2007 - 11:01)