salut
j'ai plusieur fichier xml que je voudrai utiliser pour construire une page xhtml via une feuille de style
en combien d'etape ce passe la transformation
une seule, une a chaque fichier xml ??

avec un seul fichier je vois,
mais je ne sais pas trop coment m'y prendre!

merci
Modifié par jeff (09 Feb 2006 - 12:09)
Administrateur
Bonjour,

en l'absence de toute ponctuation (à part une virgule), je ne suis pas sûr d'avoir compris ton message.
Tu cherches à partir de plusieurs fichiers XML source à créer un seul fichier XHTML, c'est ça?
Bonjour,

Il existe une fonction XPath, document(), qui prend comme argument le chemin vers un fichier dont tu peux récupérer le contenu. Concrètement, tu appliques ta transformation à un fichier XML "maître", et tu incorpores au besoin des données provenant de fichiers "esclaves, comme sur cet exemple d'utilisation de la fonction XPath document().
pardon pour la ponctuation

mais c'est bien ca Felipe

note : les trasformation sont faites via php
Modifié par jeff (07 Feb 2006 - 16:19)
a écrit :
fonction XPath document().

necessite que les documents soient enregistrées or je n'est a ma diposition soit des chaines soient des objets Smiley confus
Bonjour,

Alors passe tes chaînes et tes objets en paramètres à ta transformation XSL. Smiley cligne
j'ai pris une autre voie,
j'ai enlevé les prologues xml des fichiers,puis je les conctenent et ensuite je vais les passer a XSLT.

mais j'ai un probleme de
données incompréhensibles après l'élément de document


voici la partie ou ff me dit que ca va pas
</root><article><h2>
c'est au niveau du a de artcicle
quelle sont les choses à verifier pour eviter ce genre de désagrement

merci
bon en fait il faillait juste metre le tout dans une balise.

peut on m'en dire un peut plus sur le passage de parametre à une feuille xsl
,des tutos et meme si vous avez un exemple avec l'extention xsl de php5
je suis preneur

merci
Je te propose un exemple sous forme de 2 extraits de code complémentaires.
1/ le php :
1/ le php 
<?php
...
//$xml_file contient l'url d'un fichier XML, $xsl_file contient l'url d'un fichier XSL, 
$DomXmlFile = DOMDocument::load($xml_file);
$DomXslTrans = DOMDocument::load($xsl_file);
//paramètres de transformation
$PARAM['toto']="un gentil garçon";
$PARAM['titi']="un petit oiseau";
//création du processeur xslt
$proc = new XSLTProcessor;
//le processeur xslt dispose de la transformation xslt			
$proc->importStyleSheet($DomXslTrans);
//fournit les paramètres au processeur xslt	
foreach ($PARAM as $param => $value) {$proc->setParameter("", $param, $value);}
// le résultat de la transformation XSLT envoyé au client
print $proc->transformToXML($DomXmlFile);	
?>
2/ le XSLT :
<?xml version='1.0' encoding='ISO-8859-1'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="ISO-8859-1" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />
<!--paramètre externes-->
<xsl:param name="toto"/> 
<xsl:param name="titi" />
...
</xsl:stylesheet>

Modifié par Xavier (08 Feb 2006 - 14:32)
merci pour l'exemple
par contre j'ai due convertir les double quote en &quot;

mais je n'arrive pas a recuperer ma variable
<xsl:param name="article0"/>
<xsl:param name="article1"/>
<xsl:template match="/">
	<html xmlns="http://www.w3.org/1999/xhtml" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
		<head>
			<meta name="keywords" contents="{//keyword}" />
			<meta name="autor" contents="{//firstname},{//lastname}" />
			<title>
				<xsl:value-of select="//title"/>
				<xsl:text></xsl:text>
			</title>
		</head>
		<body>
		<p>ici on trouve le body</p>
		<xsl:value-of select="$article0">
			<xsl:text></xsl:text>
		</xsl:value-of>
		</body>
	</html>
</xsl:template>
</xsl:stylesheet>


un problreme de porté??
sachant que dans cette variable j'ai une chaine comme ceci
<article><title>essai</title></article>


est-ce que je peut apporté une transformation à <article>??


j'ai repris ma methode du debut car celle-ci est trop contraignante
merci a tous
Modifié par jeff (09 Feb 2006 - 12:08)
a écrit :
sachant que dans cette variable j'ai une chaine comme ceci

<article><title>essai</title></article>



est-ce que je peut apporté une transformation à <article>??
Il est possible d'effectuer des opérations sur cette variable à l'identique de ce qu'il est possible de faire avec une chaîne de caractères (string).
a écrit :
je n'arrive pas a recuperer ma variable
Le code que tu proposes comporte des irrégularités qui doivent gener ta perception. En particulier il faut savoir que <xsl:value-of select="..." /> doit rester un élément vide. Ainsi tu dois écrire simplement :
<xsl:value-of select="$article0" />