comment on exécute un script XQuery ?? - XML/XSL - Programmation
Marsh Posté le 13-10-2004 à 15:02:18
Voila un petit exemple que j'ai teste avec le serveur Apache contenu dans EasyPhp.
J'utilise aussi l'interpreteur XQuery Galax.
J'espere que ceci pourra vous aider
1. Saisir le document xml et l'enregistrer sous le nom compil.xml
2. Saisir la requete Xquery et l'enregistrer sous le nom compil.xq
3. Saisir le script PHP et l'enregistrer sous le nom compil.php
4. Lancer EasyPhp et demarrer le serveur Apache
5. Creer un alias pour le repertoire contenant les fichiers ci-dessus (ex. alias "toto" pour le repertoire "c:\toto" )
6. Appeler le navigateur et saisir l'URL : http://127.0.0.1/toto/compil.php
Document XML : fichier compil.xml
<?xml version="1.0"?>
<compilation>
<mp3><titre>Foule sentimentale</titre><artiste>Alain Souchon</artiste></mp3>
<mp3><titre>Solaar pleure</titre> <artiste>MC Solaar</artiste></mp3>
<mp3><titre>Le baiser</titre> <artiste>Alain Souchon</artiste></mp3>
<mp3><titre>Pourtant</titre><artiste>Vanessa Paradis</artiste></mp3>
<mp3><titre>Chambre avec vue</titre> <artiste>Henri Salvador</artiste> </mp3>
</compilation>
Requete XQuery qui donne tous les titres de l'artiste d'Alain Souchon : fichier compil.xq
<aSouchon>
{doc("compil.xml" )//compilation/mp3[artiste="Alain Souchon"]}
</aSouchon>
Document PHP : fichier compil.php
<? chdir('/toto');
exec(escapeshellcmd("C:\Galax\bin\Galax compil.xq > result.xml" ));
header("location:result.xml" );
?>
Resultat
<aSouchon>
<mp3><titre>Foule sentimentale</titre><artiste>Alain Souchon</artiste></mp3>
<mp3><titre>Le baiser</titre> <artiste>Alain Souchon</artiste></mp3>
</aSouchon>
Marsh Posté le 18-05-2005 à 08:09:55
Jai essayé votre message mais je reçois
l'erreur suivant :
La page XML ne peut pas être affichée
Impossible d'afficher l'entrée XML en utilisant la feuille de style . Corrigez l'erreur, puis cliquez sur le bouton Actualiser ou réessayez ultérieurement.
--------------------------------------------------------------------------------
Le document XML doit contenir un élément de niveau supérieur. Erreur de traitement de la ressource http://127.0.0.1/result....
comment vous avez installez Galax avec PHP, car d'aprés ce que j'ai lis, Galax exige le Perl
merci d'avance
Marsh Posté le 10-10-2004 à 18:35:51
XML, OK ! la syntaxe XQuery, elle est expliquee partout. Ce que je n'arrive pas a trouver c'est COMMENT on exécute ces commandes XQuery, notamment sur un serveur Web ?
Un peu comme si on savait ecrire du C mais qu'on ne savait pas qu'il faut le compiler, ni surtout COMMENT le compiler.
Alors, peut-etre question tres tres bete, mais merci d'y repondre car je m'arrache les cheveux a force de pas trouver cette information !
(entendu parler de Galax et java/saxon, mais comment ca marche et surtout comment on fait pour faire fonctionner ca sur un serveur HTTP genre Apache ?)
Merci d'avance
Leo