J'utilise la feuille de style suivante :

<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output method="xml" version="1.0" indent="no" encoding="utf-8" media-type="text/html" doctype-system="http://www.w3.org/TR/html4/strict.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" omit-xml-declaration="yes" />
	<xsl:include href="static.xsl" />
	<xsl:template match="/">
			<html xmlns="http://www.w3.org/1999/xhtml">
				<head>
					<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
					<title>e-t172 Maquette</title>
					<link rel="stylesheet" href="template/default/styles.css" />
				</head>
				<body xml:lang="fr">
					<h1>e-t172.net</h1>
					<ul class="nav">
						<li><a href="index.php?area=news">News</a></li>
						<li><a href="index.php?area=static&amp;content=me">Moi</a></li>
						<li><a href="index.php?area=static&amp;content=code">Méthode de programmation</a></li>
						<li><a href="index.php?area=static&amp;content=server">Mon serveur</a></li>
						<li><a href="index.php?area=static&amp;content=contact">Contact</a></li>
					</ul>
					<div class="projects">
						<h2>Projets en attente</h2>
						<ul>
							<li>Projet 1</li>
						</ul>
						<h2>Projets en cours</h2>
						<ul>
							<li>Projet 2</li>
						</ul>
						<h2>Projets terminés</h2>
						<ul>
							<li>Projet 3</li>
						</ul>
					</div>
					<xsl:apply-templates />
				</body>
			</html>
	</xsl:template>
</xsl:stylesheet>


Lorsque j'essaie de transformer un document XML (en PHP, avec la librairie libxslt) à l'aide de cette feuille de style j'obtiens le message suivant :

Warning: runtime error: element text in /home/e-t172/include/template.php on line 23

Warning: xsltDefaultProcessOneNode: text copy failed in /home/e-t172/include/template.php on line 23

Curieusement, si je modifie les dernières lignes en ça :

</body>
			</html>
	</xsl:template>
	<xsl:template match="login">
		<div>Login</div>
	</xsl:template>
</xsl:stylesheet>


Ca fonctionne... en fait il faut que je mette n'importe quoi, mais quelque chose pour que ça marche.

Un bug de libxslt ??
Hum... Que fait ton <xsl:apply-templates /> de la fin? A moins que tes autres templates ne soient définis dans la feuille de style que tu inclus...

Je me demande ce que cette instruction fait si elle ne trouve pas de template à appliquer Smiley hum .

Si le problème vient de libxslt je ne peux t'être d'aucun secours...
Gilles a écrit :
Hum... Que fait ton <xsl:apply-templates /> de la fin? A moins que tes autres templates ne soient définis dans la feuille de style que tu inclus...

Je me demande ce que cette instruction fait si elle ne trouve pas de template à appliquer Smiley hum .

Si le problème vient de libxslt je ne peux t'être d'aucun secours...


Oui il y a un template à appliquer, dans le fichier inclus.
Bonjour,

il y a une erreur dans la dtd. Tu donne le dtd html 4 strict mais ce n'est probablement pas ca qui bugge.

Pourrais tu nous donner le contenu de static.xsl ?