Aller au contenu

Sujets conseillés

Posté

bonjour all,

j'avoue avoir un peu de mal avec le traitement de fichier XML, XSLT ...

Bref, j'ai un fichier XML :

<?xml version="1.0" encoding="UTF-8"?>
<distrib>
<info>
<nom>changelog</nom>
<url>/changelog/</url>
</info>
<info>
<nom>download</nom>
<url>/download/</url>
</info>
<info>
<nom>commander</nom>
<url>http://ikarios.com/form#knoppix</url>
</info>
</distrib>

voici le fichier XSL :

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="info">
=> <a href=""><xsl:value-of select="nom"/></a><br />
</xsl:template>
</xsl:stylesheet>

le code PHP dont je me sers pour traiter les deux :

		<p>
<?php

$xml_entry = xslt_create();
$xml_out = xslt_process($xml_entry, XMLS.'/version.xml', XMLS.'/version.xsl');
xslt_free($xml_entry);

echo $xml_out;
?>
</p>

Mon premier soucis est qu'il me restitue la déclaration d'encodage xml ( <?xml version="1.0" encoding="UTF-8"?> ), juste avant le retour du flux xml ; résultat ma page xhtml est en erreur (cf la page de dev )

Deuxième point, je n'arrive pas à intégrer le champ url dans le traitement xsl. Je ne vois vraiment pas comment faire.

Merci par avance à ceux qui m'aideront. :P

Posté

Pour ton <a>, essaie plutot une synthaxe comme celle-ci :

<a><xsl:attribute name="href"><xsl:value-of
select="nom"/></xsl:attribute>cliquez ici, juste pour
voir</a>

Posté
Pour ton <a>, essaie plutot une synthaxe comme celle-ci :

...

En fait, j'y suis arrivé avec cette syntaxe XSLT :

<xsl:template match="info">
=> <a href="{url}" title="{nom}"><xsl:value-of select="nom"/></a><br />
</xsl:template>

:smartass:

Maintenant, ma question est : si mon code XML est celui-ci :

<info xlink:href="/changelog/">changelog</info>

meme l'écriture que tu me donnes ne fonctionne pas puisque retourne une erreur Sablotron.

comment je puis faire pour implémenter l'écriture XSLT afin d'avoir une restitution correcte de l'élément a ?!

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...