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

  FORUM HardWare.fr
  Programmation
  XML/XSL

  XSLT en PHP ? + Comment intégrer apache + cocoon ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

XSLT en PHP ? + Comment intégrer apache + cocoon ?

n°751642
moxfulder
PSN : MoxFulder_
Posté le 03-06-2004 à 23:05:47  profilanswer
 

Salut à tous !
 
Je suis en train d'apprendre le xml-xsl en classe, on a un cours super intéressant. On travaille pour le moment en local avec un cocoon qui tourne sur nos machines windows, avec xml-xsl-sitemap, ça roxx c'est géant. Bon je débute donc je pousse pas du tout les transformations mais je vois déjà bien la puissance de la bête !  
La question que je me pose c'est : Comment faire des transformations xslt sans cocoon ? Mon hébergeur ne propose bien évidemment pas cocoon mais par contre php. Existe t'il qqch de pas mal en php pour faire les transformations xslt ? Si oui, vous connaissez un bon tutorial ?
 
Ma 2ème question est comment intégrer apache et cocoon ? En effet, je me rends pas tellement compte comment faire tourner les 2 en mêmes temps sur une machine (en l'occurence une machine linux locale, tourant sous fedora core 2). C'est juste pour essayer mais je ne sais pas trop comment m'y prendre. Existe t'il un module apache qui permet de rediriger certaines url sur cocoon pour les transformations ? Comment dois-je m'y prendre pour faire fonctionner apache et cocoon pour ne pas avoir d'interference entre les deux ? Est-ce que qqn peut bien m'expliquer ? Serait-il possible d'intéger mysql à cocoon pour se passer totalement d'apache ? Je n'ai pas besoin d'un serveur super robuste c'est juste pour un petit site genre homepage de demonstration  sur un ordi local. Est-ce que se serait plus facile que d'utiliser un éventuel composant php qui remplacerait cocoon ?  
 
Merci de vos réponses et n'hésitez pas à me demander des compléments d'informations, mais je vous avise d'avance que je suis débutant mais motivé !

mood
Publicité
Posté le 03-06-2004 à 23:05:47  profilanswer
 

n°751651
ucl-madcow
LE Totophe du Net.
Posté le 03-06-2004 à 23:16:15  profilanswer
 

Pour les transformations sans cocoon, je pense que tu peux le faire en php directement. Maitenant je ne sais pas du tout comment. Sans doute qu'il existe des classes php toutes faites qui te permettent de le faire. Sinon, tu peux créer un parseur toi meme en php ;)
 
Sinon, pour intégrer cocoon à apache, regardes sur le site de Apache, il y a de la doc là dessus.. J'ai pas eu le temps de vraiment zieuter, mais je crois qu'Apache fait une sorte de proxy entre Cocoon et les requettes, de sorte qu'il soit totalement intégré.
Pour le reste, je ne sais pas encore vraiment. Dès que j'en sais plus, je viendrai le poster, à moins que cela soit toi qui nous devance tous et dans ce cas, postes tes commentaires ici... :)

n°756325
guiz
Posté le 08-06-2004 à 13:24:02  profilanswer
 

Pour ce qui est des transformation avec PHP 4 ça doit être possible, et avec PHP 5 le traitement des fichiers XML devrait être beaucoup plus poussé mais je n'ai testé ni PHP4 ni PHP5 pour les transfo XSLT donc je ne m'avancerai pas.
 
Pour ce qui est de l'intégration de cocoon dans apache je comprend pas trop ce que tu veux faire. Cocoon est un servlet java qui nécessite donc un moteur de servlets pour fonctionner comme Apache TomCat par exemple. Ensuite tu peux utiliser en plus de ça Apache HTTPD (le serveur web) pour rediriger tes requêtes grâce à ApacheModProxy http://wiki.cocoondev.org/Wiki.jsp?page=ApacheModProxy mais ça non plus j'ai jamais utilisé.  
 
Si tu veux simplement faire tourner Cocoon sur ta machine, tu compiles cocoon et tu le lances avec "cocoon.sh servlet". Il sera autonome et tu pourra t'adresser à lui sur le port 8888 si mes souvenirs sont bons car Cocoon est livré en standard avec une version light de Jetty qui est un moteur de servlets.
 
Voioàl je sais pas si j'ai répondu à tes questions. Demande moi si j'ai pas été clair.

n°756519
Mara's dad
Yes I can !
Posté le 08-06-2004 à 14:31:36  profilanswer
 

Avec PHP, tu peux faire des transformations avec Sablotron :
http://www.php.net/manual/fr/ref.xslt.php
 
Exemple tiré d'un projet :
- message() est une fonction de notre projet, n'en tiens pas compte. Je l'ai laissé dans le code pour qu'il soit plus lisible.  

Code :
  1. <?php
  2. //                                                       Transformation XSLT                                                             //
  3. /* x_trans() transforme un object DOM_XML ou une chaîne XML et un fichier xslt et retourne le résultat sous forme de chaîne ou FALSE
  4. En Entrée :
  5. $xml : String ou Objet DOM_XML
  6. $xsl : nom du fichier xsl
  7. En sortie :
  8. $res : Résultat de la transformation ou false si il y a eu un problème.
  9. */
  10. function x_trans( $xml, $xsl )
  11. {
  12. // En fonction du type de $xml :
  13. switch( gettype( $xml ) )
  14. {
  15.  case "object":
  16.   if( get_class( $xml ) == "domdocument" )
  17.   {
  18.    $xml_data = $xml->dump_mem();
  19.    break;
  20.   }
  21.   else
  22.   {
  23.    message( "ERR_CLASS_DATA_XML", array( 'class' => get_class( $xml ) ) );
  24.    return false;
  25.   }
  26.  case "string":
  27.   $xml_data = $xml;
  28.   break;
  29.  default:
  30.   message( "ERR_TYPE_DATA_XML", array( 'type' => gettype( $xml ) ) );
  31.   return false;
  32. }
  33. // Chargement d'un objet DOM avec le fichier xsl
  34. if( ! file_exists( $xsl ) )
  35. {
  36.  message( "ERR_FILEXML", array( 'file' => $xsl ) );
  37.  return false;
  38. }
  39. $xsl_doc = domxml_open_mem( join( '', file( $xsl ) ) );
  40. $xsl_root = $xsl_doc->document_element();
  41. // Création d'un analyseur XSLT
  42. $xh = xslt_create();
  43. // Tableau des arguments
  44. $args = array( 'xml' => $xml_data, 'xsl' => $xsl_doc->dump_mem() );
  45. // Appel du process XSTL
  46. $res = @xslt_process( $xh, "arg:xml", "arg:xsl", NULL, $args );
  47. if( trim( $res ) == "" )
  48. {
  49.  $res = false;
  50.  message( "ERR_XSLT", $args );
  51. }
  52. // Libération de l'analyseur.
  53. xslt_free( $xh );
  54. return $res;
  55. }
  56. ?>


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°853315
methos1435
Posté le 18-09-2004 à 20:15:23  profilanswer
 

en un mot pour la transformation XSL depuis php : domXML :) ya tout ce qui faut et c'est très puissant

n°853318
Process St​eps
Posté le 18-09-2004 à 20:27:40  profilanswer
 

c de la merde domXML
 
perso pour le XSLT en PHP, un bon vieux system et xsltproc rulez :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  XSLT en PHP ? + Comment intégrer apache + cocoon ?

 

Sujets relatifs
Programme perl ou php sur un port précis[PHP] php irc
[PHP] Article Admin : MONTER et DESCENDRE ?[PHP] alors la je comprend pas
Probleme EasyPHP 1.7+ Apache[php] erreur dans le code
Récupérer l'URL en PHP ?[PHP] Affichage des variables formatées ?
[PHP] authentification et redirectiondate PHP
Plus de sujets relatifs à : XSLT en PHP ? + Comment intégrer apache + cocoon ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR