Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4964 connectés 

 


Dernière réponse
Sujet : [PHP - XML] Une question chaude...
Profil supprimé

alien_nan a écrit a écrit :

es tu sur que la methode que j'ai donné est compilée sur le client ? La reference au fichier xsl est bien sur le serveur, pas sur le client...  




 
Ouaip c clair la transformation est faite par le client avec cette méthode... Essaye d'afficher une page comme ca avec Netscape ou IE 4 tu va voir :lol:


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion

alien_nan a écrit a écrit :

es tu sur que la methode que j'ai donné est compilée sur le client ? La reference au fichier xsl est bien sur le serveur, pas sur le client...  




 
Ouaip c clair la transformation est faite par le client avec cette méthode... Essaye d'afficher une page comme ca avec Netscape ou IE 4 tu va voir :lol:

alien_nan autant pour moi, c compilé sur le client ...je viens de verifier ...
alien_nan es tu sur que la methode que j'ai donné est compilée sur le client ? La reference au fichier xsl est bien sur le serveur, pas sur le client...

alien_nan a écrit a écrit :

Je ne sais pas si ca t'aideras, mais bon....
 
dans ton fichier XML, tu peux lui dire quel fichier xsl il utilise pour l'affichage grace à
<?xml-stylesheet type="text/xsl" href="d:\test.xsl" ?>
 
de cette facon, quand tu ouvres ton xml, le parsing est fait "directement", et tu as le resultat directement dans ton navigateur  




 
Merci bien, mais je veux parser sur le serveur pour que le client ne recoive que du HTML et n'ai donc pas la charge de la transformation... ;)

alien_nan Je ne sais pas si ca t'aideras, mais bon....
 
dans ton fichier XML, tu peux lui dire quel fichier xsl il utilise pour l'affichage grace à
<?xml-stylesheet type="text/xsl" href="d:\test.xsl" ?>
 
de cette facon, quand tu ouvres ton xml, le parsing est fait "directement", et tu as le resultat directement dans ton navigateur

Mara's dad a écrit a écrit :

IL EST EN JAVA !
 
Donc il éxiste pour toute plateforme capable de faire tourner du JAVA (Java2 V > 1.2)
 
Exemple :
FOP -xml glossary.xml -xsl glossary.xsl -pdf glossary.pdf
Avec en entrée :
http://www.surleau.org/fop/glossary.xml
http://www.surleau.org/fop/glossary.xsl
Et donc en sortie :
http://www.surleau.org/fop/glossary.pdf
 
Trop fort non ?  




 
Impressionnant !
J'en ai pas l'utilité pour l'instant donc je le met de coté.
 
D'ailleurs je n'ai toujours pas trouvé la réponse a mon post mais grace a Sablotron mon CV est enfin en ligne en PHP (+ qu'un script ASP a virer pour ejecter ce putain de IIS :D ) !!!
http://bp2k.dyndns.org/CV/cv.php

Mara's dad IL EST EN JAVA !
 
Donc il éxiste pour toute plateforme capable de faire tourner du JAVA (Java2 V > 1.2)
 
Exemple :
FOP -xml glossary.xml -xsl glossary.xsl -pdf glossary.pdf
Avec en entrée :
http://www.surleau.org/fop/glossary.xml
http://www.surleau.org/fop/glossary.xsl
Et donc en sortie :
http://www.surleau.org/fop/glossary.pdf
 
Trop fort non ?

Mara's dad a écrit a écrit :

Ben, FOP c'est un processeur XSLT un peu particulier !
 
T'as essayé ?  




 
Non pas encore. Il existe sous Win ?
et xsl-fo je connais pas trop en fait...
Mais y va falloir s'y mettre...

Mara's dad Ben, FOP c'est un processeur XSLT un peu particulier !
 
T'as essayé ?
donc le PDF c'est du texte ?
ou alors j'ai rien capté paske le processeur XSLT il te sort du texte ca c clair !
Mara's dad Ben depuis, j'ai testé FOP, c'est entre-autre fait pour sortir du PDF !
 
http://xml.apache.org/fop/index.html
 
C'est en java, il faut donc une JRE ou un JDK pour faire tourner les exemples.

Mara's dad a écrit a écrit :

 
 
Aie !
 
Je suis sur un projet pour lequel on a l'intention d'utiliser Sablotron pour transformer du XML en HTML via du XSLT (Normal)
 
Je n'y connais rien pour le moment en XML/XSLT, aussi j'aimerai que tu me dise pourquoi Sablotron est si nul ?
 
Je cherche aussi une autre solution car nous voulons aussi pouvoir sortir du PDF, à partir d'XML, et je me vois mal faire le boulot avec PDFLib !
 
Aurrais-tu quelque pistes ?
 
Me propres recherches m'ont orienté vers APACHE(XALAN/FOP).
Mais je ne sais pas trop si çà va pas être une grosse usine à GAZ à interfacer avec PHP !  




 
Bon je n'avais pas encore testé Sablotron. J'étais tombé sur une mailing list dans laquelle il y avait un nombre de posts de dingues sur Sablotron (plutot négatif)
J'ai testé depuis, avec Apche sous Win, et pour ce que j'en ai fait ca fonctionne très bien.
Maintenant reste a voir si il est conforme aux specs du W3C...
 
Un truc: tu veux sortir du PDF, mais c'est pas du compilé de PDF ? Paske le XML avec un processeur XSL ca te sort du texte et c'est tout !

Mara's dad

viiz a écrit a écrit :

 
Merci pour ton site, mais je ne compte pas utiliser sablotron... Il est encore plus buggé que le MSXML de krosoft$ :D  




 
Aie !
 
Je suis sur un projet pour lequel on a l'intention d'utiliser Sablotron pour transformer du XML en HTML via du XSLT (Normal)
 
Je n'y connais rien pour le moment en XML/XSLT, aussi j'aimerai que tu me dise pourquoi Sablotron est si nul ?
 
Je cherche aussi une autre solution car nous voulons aussi pouvoir sortir du PDF, à partir d'XML, et je me vois mal faire le boulot avec PDFLib !
 
Aurrais-tu quelque pistes ?
 
Me propres recherches m'ont orienté vers APACHE(XALAN/FOP).
Mais je ne sais pas trop si çà va pas être une grosse usine à GAZ à interfacer avec PHP !

DLR a écrit a écrit :

 
 
dans ce cas la y'a ptete juste a creer un objet en PhP qui supporte Obj->write ca devrait passer  




 
Ouaip ca m'a l'air bien...
Mais je n'ai strictement aucune idée de comment faire en php :(

youdontcare a écrit a écrit :

tu ne pourras utiliser les objets COM que sous windows. par contre, il y a des extensions xml / xsl en php : http://www.php.net/manual/en/ref.xslt.php  




 
Ah ouais ca c clair ! :lol:  
Merci je savais deja, mais je suis sous Win !
Il arrive a charger correctement les objets COM mais pas a employer la méthode de transformation.
 
Merci pour ton site, mais je ne compte pas utiliser sablotron... Il est encore plus buggé que le MSXML de krosoft$ :D

youdontcare tu ne pourras utiliser les objets COM que sous windows. par contre, il y a des extensions xml / xsl en php : http://www.php.net/manual/en/ref.xslt.php
DLR

viiz a écrit a écrit :

En fait il faudrait que je puisse mettre en php en deuxieme parametre de transformNodeToObject un objet du meme type que "Response" en asp...
Y a t-il un équivalent de Response en php ?  




 
dans ce cas la y'a ptete juste a creer un objet en PhP qui supporte Obj->write ca devrait passer

En fait il faudrait que je puisse mettre en php en deuxieme parametre de transformNodeToObject un objet du meme type que "Response" en asp...
Y a t-il un équivalent de Response en php ?
Bon je me suis repenché sur le probleme...
Voila un script php qui me semblait correct.
Mais il n'aime pas beaucoup la ligne en gras :(  
 
<?php
$Source = new COM("Microsoft.XMLDOM" ) or Die("MSXML not found" );
$Source->async = false;
$Source->load("cv.xml" );
 
$Buf = new COM("Microsoft.XMLDOM" ) or Die("MSXML not found" );
 
$Style = new COM("Microsoft.XMLDOM" ) or Die("MSXML not found" );
$Style->async = false;
$Style->load("cv.xsl" );
echo $Source->transformNodeToObject($Style, $Buf);
?>  
 
En fait le probleme est que je n'arrive pas a convertir correctement la ligne asp suivante:
 source.transformNodeToObject(style, Response);  
Dans cette ligne de code le résultat est mis dans "response", qui est une variable de session en asp... En php cette variable n'existe pas(ou dumoins je ne la connais pas) et donc j'essaye d'afficher le HTML avec un echo.
Mais ca foire:
 
Warning: Invoke() failed: Erreur non spécifiée in d:\site\cv\cv.php3 on line 13
 
Une idée les balezes du php ?? :hello:
Merci JWhy :hello:  
Je vais me tenter la dessus, ca  a pas l'air évident mais bon, ce devrait le faire !
JWhy il y a aussi cet article: http://www.phpbuilder.net/columns/alain20001003.php3
JWhy http://www.php.net/manual/en/class.com.php
 
RTFM!!!  
 
 
j/k ;)

 

[jfdsdjhfuetppo]--Message édité par JWhy--[/jfdsdjhfuetppo]

JWhy a écrit a écrit :

je crois avoir vu recemment que tu pouvais loader des objets COM+ en PHP, non ? ca te permettrait de faire la meme chose que ton exemple ASP (si ton serveur est sous windows, of course!)
je vais essayer de te retrouver le lien qui parlait de ca...  




 
Ca serait bien kool de ta part, perso je n'ai trouvé ce genre de truc nulle part. Mais ca me conviendrais parfaitement...(je suis sous win)

JWhy je crois avoir vu recemment que tu pouvais loader des objets COM+ en PHP, non ? ca te permettrait de faire la meme chose que ton exemple ASP (si ton serveur est sous windows, of course!)
je vais essayer de te retrouver le lien qui parlait de ca...
bô alors on sèche les mans ?
Bon les novices retounent sous Dreamweaver, les autres restent... ;)  
 
Je dispose d'un fichier XML et d'un XSL. J'aimerais que lorsque je tape une page php, celle ci effectue le brassage en php pour me fournir un fichier HTML en sortie.
Pour exemple, le code asp suivant fonctionne sous IIS :
 
<%@ LANGUAGE = JScript %>
      <%
        var sourceFile = Server.MapPath("books.xml" );
        var styleFile = Server.MapPath("books.xsl" );
 
        var source = Server.CreateObject("Microsoft.XMLDOM" );
        source.async = false;
        source.load(sourceFile);
 
        var style = Server.CreateObject("Microsoft.XMLDOM" );
        style.async = false;
        style.load(styleFile);
 
        source.transformNodeToObject(style, Response);
      %>
 
Mais il faudrait que php possede son propre module de transformation XSLT, ou qu'il soit possible de charger un activeX (en l'occurence celui du DOM) pour faire la même chose qu'en ASP et qu'il y ait réponse a ma question... :hello:

 

[jfdsdjhfuetppo]--Message édité par viiz--[/jfdsdjhfuetppo]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)