Bonjour,
J'ai un petit soucis. J'effectue des transformations xslt mais je pense avoir de gros problème avec les espaces de nom.
Je génère du xml grâce à php (mise en forme de résultat par exemple) et je passe ce xml à une feuille de style xsl, jusque là que du classique. Le problème est que, même si le code de la page générée est correct, ce dernier ne prend plus l'indentation en compte à partir d'une certaine hauteur (quand il faut faire un apply-templates) et des balise xmlns vide apparaissent dans mon code. De plus, si j'arrive à atteindre "login" (test kikoo) je n'atteind pas le paramètre "niveau"
voici mon XML
Voici le code de ma page xsl (en developpement donc pas nickel)
Et le code source généré
J'ai encore beaucoup de mal à structurer mon code donc si quelqu'un à une solution à mon problème.
Merci d'avance
Modifié par lanfisis (10 Nov 2006 - 12:29)
J'ai un petit soucis. J'effectue des transformations xslt mais je pense avoir de gros problème avec les espaces de nom.
Je génère du xml grâce à php (mise en forme de résultat par exemple) et je passe ce xml à une feuille de style xsl, jusque là que du classique. Le problème est que, même si le code de la page générée est correct, ce dernier ne prend plus l'indentation en compte à partir d'une certaine hauteur (quand il faut faire un apply-templates) et des balise xmlns vide apparaissent dans mon code. De plus, si j'arrive à atteindre "login" (test kikoo) je n'atteind pas le paramètre "niveau"
voici mon XML
<login niveau="1">kikoo</login>
Voici le code de ma page xsl (en developpement donc pas nickel)
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes" encoding="UTF-8" method="xml" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Partie privée</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content="Calmon - Buros"/>
<link href="css/css.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="script/dragAndDrop.js"></script>
</head>
<body>
<div id="conteneur">
<xsl:call-template name="top"/>
<xsl:call-template name="menu"/>
<xsl:apply-templates select="login"/>
<div style="text-align: center; margin-top: 20px;">
<img src="img/intro.jpg" alt="intro"/>
</div>
<div id="footer">
<div style="margin-top: 20px">Calmon - Buros : travail réalisé en Licence Pro Web à <a href="http://www.insset.u-picardie.fr/">l'INSSET </a></div>
</div>
</div>
</body>
</html>
</xsl:template>
<xsl:template name="top">
<div id="header"></div>
</xsl:template>
<xsl:template name="log" match="login">
<xsl:value-of select="."/>
<xsl:if test="login/@niveau = 0">
<div id="connection">
<form method="post" action="index.php">
<label>Identifiant : <input class="connect" type="text" name="log" /></label>
<label>Mot de passe : <input class="connect" type="password" name="pass" /></label>
<input class="Bconnect" type="submit" value="ok" />
</form>
</div>
</xsl:if>
<xsl:if test="login/@niveau = 1">
<div id="connection">
salut timoté
</div>
</xsl:if>
</xsl:template>
<xsl:template name="menu">
<div id="bando">
<a class="menu" href="#">News</a>
<a class="menu" href="#">Groupe</a>
<a class="menu" href="#">Label</a>
<a class="menu" href="#">Genre</a>
<a class="menu" href="#">Support</a>
</div>
</xsl:template>
</xsl:stylesheet>
Et le code source généré
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Partie privée</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content="Calmon - Buros" />
<link href="css/css.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="script/dragAndDrop.js"></script>
</head>
<body>
<div id="conteneur"><div xmlns="" id="header"></div><div xmlns="" id="bando"><a class="menu" href="#">News</a><a class="menu" href="#">Groupe</a><a class="menu" href="#">Label</a><a class="menu" href="#">Genre</a><a class="menu" href="#">Support</a></div>kikoo<div style="text-align: center; margin-top: 20px;"><img src="img/intro.jpg" alt="intro" /></div><div id="footer"><div style="margin-top: 20px">Calmon - Buros : travail réalisé en Licence Pro Web à <a href="http://www.insset.u-picardie.fr/">l'INSSET </a></div></div></div>
</body>
</html>
J'ai encore beaucoup de mal à structurer mon code donc si quelqu'un à une solution à mon problème.
Merci d'avance
Modifié par lanfisis (10 Nov 2006 - 12:29)