Les bases pour inclure un fichier xml dans du xhtml/ + php now :) [xml] - XML/XSL - Programmation
Marsh Posté le 24-11-2003 à 15:53:01
je crois que j'ai trouvé une piste ...
http://forum.hardware.fr/forum2.ph [...] 121&cat=10
Marsh Posté le 24-11-2003 à 15:59:07
bon, a première vue il faut que je crée un fichier xsl...
mais après?, pour l'inclure dans mon fichier xhtml dans un div... c'est possible?
Quelle solution?
Marsh Posté le 24-11-2003 à 16:34:33
ReplyMarsh Posté le 24-11-2003 à 16:56:09
Génère ton fichier XHTML via PHP (parsing XSL côté serveur).
Marsh Posté le 24-11-2003 à 17:20:42
fastclemmy a écrit : Génère ton fichier XHTML via PHP (parsing XSL côté serveur). |
tu pourrais m'en dire plus???
un petit exemple
donc en faite la chose ce présenterais comme ca:
index.php avec include"links.php" -> ce links.php génére un xsl d'après le xml...
je suis pas sûre d'avoir bien compris le truc là...
Marsh Posté le 24-11-2003 à 17:34:37
Ton fichier links.php doit recevoir des arguments (ici un exemple avec parsing via domXML) :
Code :
|
Dans ton fichier xsl tu peux les récupérer en déclarant au début :
Code :
|
Ensuite dans ton fichier XSL tu peux les exploiter avec $cat exemple :
Code :
|
HTH
Marsh Posté le 24-11-2003 à 17:46:35
ReplyMarsh Posté le 24-11-2003 à 19:55:32
ptite question:
on est obligé de lui donner des paramètres?
si je veux afficher tout mon xml y'en a pas besoin. non?
il me dit qu'il trouve pas mes fichiers... (index.xml et xsl)
ca peut venir d'ou? (a part du nom de fichier parce que ca je sais que je l'ai écrit juste )
Marsh Posté le 24-11-2003 à 20:15:36
a vrai dire ca fait tout planter mon site
links.xsl
<?echo '<?xml version="1.0" encoding="ISO-8859-1" ?>';?> |
links.php
<? |
ca doit être la première ligne du links xsl qui fait tout cafouiller
je renome le fichier en linksxsl.php??
je change cette ligne?
si je mets dans mon site partout des balises <?php ?> au lieu de <? ?> ca va changer qqch??
...
ps:y'a surement d'autres choses louches..
Marsh Posté le 24-11-2003 à 20:33:01
ca fait quoi le xml ?
Marsh Posté le 25-11-2003 à 09:46:22
pour mon links.php j'ai essayé ce code:
<? |
là l'erreure est clairement sur la 1ère ligne de mon links.xml mais ca fait plus tout planter
il doit y avoir ca qui fait foirer (le echo c'était pour essayer mais ca à pas l'aire très concluant sur un fichier.xml... je peux changer le suffixe du fichier sans prob?? fichierxml.php par exemple...)
<? echo '<?xml version="1.0" encoding="ISO8859-1" ?>'; |
et ca:
<?xml version="1.0" encoding="ISO-8859-1" ?> |
Marsh Posté le 25-11-2003 à 09:54:46
Warning: Sablotron error on line 1: XML parser error 5: unclosed token in /home/.sites/23/site165/web/e-portfolio/2/links.php on line 23
Sorry, sample.xml could not be transformed by sample.xsl into and the error code is 2 the $result variable the reason is that XML parser error 5: unclosed token1
Marsh Posté le 25-11-2003 à 09:56:36
Forcément... Le code que je t'ai filé c'est pour parser avec DomXML, pas Sablotron...
La bonne syntaxe :
Code :
|
(tiré de http://www.neokraft.net/docs/xslt/chap4.html)
Marsh Posté le 25-11-2003 à 09:59:40
chocoboy reviens !!
Marsh Posté le 25-11-2003 à 10:06:15
par contre ca change pas trop le prob d'erreure..
Warning: Sablotron error on line 1: XML parser error 5: unclosed token in /home/.sites/23/site165/web/e-portfolio/2/links.php on line 49
ligne 49 du links.php
$res = xslt_process($xh, 'links.xml', 'links.xsl',NULL,array(),$array_params); |
Marsh Posté le 25-11-2003 à 10:10:34
fastclemmy > je vais déjà regarder ton lien, il m'a l'air pas trop mal
Marsh Posté le 25-11-2003 à 10:32:06
bon, j'ai essayé avec leur exemple et ca m'a tout l'aire de fonctionner...
l'erreure provient donc certainement de links.xsl
je vais essayer de transformer petit à petit leur exemple pour arriver à ce que je voudrais...
Marsh Posté le 25-11-2003 à 11:16:59
je capte pas pourquoi ca marche pas...
mon .xsl
<?xml version="1.0" encoding="ISO-8859-1" ?> |
et ca me donne ca dans la source de ma page...
<h1></h1> |
Marsh Posté le 25-11-2003 à 11:18:34
mouarf c'est bon
je crois que je commence à comprendre....
Marsh Posté le 25-11-2003 à 11:24:04
bon, en faite je commence à mettre mon texte en forme. le seul hic c'est que j'ai le texte mis en forme+ tout le texte pas mis en forme qui s'affiche...
( http://www.numerisound.com/e-portfolio/2/ section lien)
Marsh Posté le 25-11-2003 à 11:37:44
pour info...
..
</xsl:for-each>
<xsl:apply-templates/>
</xsl:template>
...
c'était ca qui reprennait tout le texte
Marsh Posté le 25-11-2003 à 19:25:29
DarkLord a écrit : chocoboy reviens !! |
Cocoon 2 bien sur !
ahhhh, quoi ? c'était pas ca la question ?
Marsh Posté le 25-11-2003 à 19:44:23
un exemple fait avec cocoon 2 :
le cv en HTML : http://81.57.39.164:8080/cocoon/co [...] model.html
le XML correspondant :
http://81.57.39.164:8080/cocoon/co [...] _model.xml
le XSL effectuant la transformation XML->HTML :
http://81.57.39.164:8080/cocoon/co [...] agiccv.xsl
le XSL effectuant la transformation XML(magiccv)->XML(docbook) :
http://81.57.39.164:8080/cocoon/co [...] ocbook.xsl
le XSL:FO généré depuis le XML(docbook) après application des XSL xml2pdf :
http://81.57.39.164:8080/cocoon/co [...] v_model.fo
le PDF généré :
http://81.57.39.164:8080/cocoon/co [...] _model.pdf
... voila un exemple assez sympa et pas trop compliqué en full XML/XSL pour générer un petit CV vers des sorties multiples ...
j'espère que ca te donnera envie de creuser !
Marsh Posté le 25-11-2003 à 21:40:08
merci pour tout ca...
en + j'ai vu un topic sur cocoon 2 et j'avais pas vraiment compris à quoi ca servai
+je découvre xml + je trouve ca intéressant
[hs mais pas tant que ca]
En faite je me demandais quand utiliser xml et quand utilisé une base mysql.
j'aurais aimé avoir votre avis là dessu
[/hs]
Marsh Posté le 27-11-2003 à 10:56:59
hmm, une petite question encore...
si j'ai un xml du genre:
<news>
<ne id=2>
</ne>
<ne id=1>
</ne>
</news>
c'est possible de récupèrer l'id de la dernière news via php??
pour faire afficher 3news j'aurais:
$début = 363;
$fin = 360;
ca peut fontionner ?
une autre technique??
Marsh Posté le 27-11-2003 à 13:28:10
bon, je crois que pour finir (sauf si quelqu'un a une réponses au question ci-dessu) je vais faire comme ca:
<news>
</news>
<archives>
</archives>
mais bon, là j'ai pas vraiment l'impression d'utiliser au max xsl/xml/php...
Marsh Posté le 24-11-2003 à 15:39:53
Hello tout le monde.
Hmm, je commence sérieusement à m'interresser au xml aujourd'hui. Alors je me suis dit que je pourrais commencé par faire ma page de liens...
le fichier xml devrait ressembler à ca...
<? echo '<?xml version="1.0" encoding="ISO8859-1" ?>';
echo '<?xml-stylesheet type="text/css" href="cd_catalog.css"?>';?>
<links>
<element rubrique="3D">
<lien1>
<adresse url="http://www.3dvf.com">3dvf.com</adresse>
<description>Site de news,...</description>
</lien1>
</element>
<element rubrique="Autres">
<lien1>
<adresse url="http://www.google.ch">google.ch</adresse>
<description>Le meilleur moteur de recherche</description>
</lien1>
<lien2>
<adresse url="http://www.lesjoyeuxdrilles.com/">Les Joyeux Drilles.com</adresse>
<description>Site d'humour</description>
</lien2>
</element>
</links>
maintenant le prob c'est pour l'inclure dans mon site...
avant c'était un bête <?include "links.php"?> au milieu de mon fichier xhtml...
comment s'y prendre pour que de se fichier xml il en ressorte qqch du genre:
<h2>3D</h2>
<a href="http://3dvf.com">3dvf.com</a>
<p>Site de news,...</p>
J'ai pas mal chercher, mais je me perd trop et j'ai pas trouvé de bons tutoriaux...
Des liens, tutoriaux???
Merci d'avances
Message édité par dd_005 le 27-11-2003 à 11:03:04
---------------
http://blog.numerisound.com