IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

Transformation XSLT via un exe


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Par défaut Transformation XSLT via un exe
    Bonjour, bonjour,

    Je dois faire en sorte que ma transformation XSLT puisse s'effectuer de manière très très simple pour que la secrétaire de la société le fasse.
    Pour le moment, je faisais la manipulation XML > XSL > HTML grâce à mon ordinateur où j'avais installé les classes java Xalan. J'ai vu qu'il existe des méthodes PHP, mais la société ne souhaite pas mettre en place d'Apache (ou utiliser leur site internet) pour faire les manipulations.
    Je dois donc m'orienter vers un petit exécutable (ou archive) qu'on place dans un dossier et qui s'exécute facilement.

    J'ai trouvé une petite solution : "msxsl.exe" et un petit fichier .bat.
    Le résultat HTML me semble propre, mais j'ai tous les scripts et CSS liés à la page écrit en chinois (voir sur la page : http://osmuk.m.free.fr/xml/toto.html / or les scripts sont bien en français : http://osmuk.m.free.fr/xml/js/javascript.js ).

    Avez-vous une idée pour résoudre ce problème ?
    Ou un autre logiciel pouvant faire ces transformations simplement (surtout que pour le moment, j'écris en dur dans le fichier .bat le nom des fichiers et qu'il serait préférable d'avoir des listes pour choisir les fichiers du dossier courant) ?

    Merci par avance,

    Matthi0uw

  2. #2
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    J'ai vu qu'il existe des méthodes PHP, mais la société ne souhaite pas mettre en place d'Apache (ou utiliser leur site internet) pour faire les manipulations.
    Il n'y a pas un couplage obligatoire entre PHP et Apache (serveur web, je suppose). On peut tout à fait en servir php comme une application desktop d'une façon d'une ligne de commande. Donc, ce n'est pas un bon raisonnement pour rejéter php.

    J'ai trouvé une petite solution : "msxsl.exe" et un petit fichier .bat.
    Le résultat HTML me semble propre, mais j'ai tous les scripts et CSS liés à la page écrit en chinois... or les scripts sont bien en français...).
    msxsl.exe s'en servit le prolog xml pour déterminer l'encodage. Sous la condition que l'encodage des fichiers soit fidèlement reflecté dans le prolog xml, msxsl exécute assez proprement xml et xsl, et résulte un document encodé en utf-8. Si vous voulez un autre encodage du document sortant, ça pose en effet quelque problème qu'on doit traiter comme supplémentaire. Mais, un encodage utf-8 devrait largement suffisant pour la plupart des cas d'application web, non?

    ...et qu'il serait préférable d'avoir des listes pour choisir les fichiers du dossier courant...
    Avec des ressources délibrement limitées pour une personne non-sophistiquée, vous pouvez à cet égard utilser un script simple vbs pour le faire, ou un script hta. Mais, ça mène la question très éloignée de xml/xslt propre. En tout cas, c'est trop générale comme question.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Par défaut
    Désolé du retard...
    Mais, un encodage utf-8 devrait largement suffisant pour la plupart des cas d'application web, non?
    Exactement.
    Je précise dans mon fichier .xsl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    Mais j'ai toujours la ligne suivante qui est rajouté dans mon fichier html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-16">
    Avec des ressources délibrement limitées pour une personne non-sophistiquée, vous pouvez à cet égard utilser un script simple vbs pour le faire, ou un script hta. Mais, ça mène la question très éloignée de xml/xslt propre. En tout cas, c'est trop générale comme question.
    On peut tout à fait en servir php comme une application desktop d'une façon d'une ligne de commande.
    Je me trompe peut-être, mais en vérifiant sur une autre machine si PHP était installé (php -v en ligne de commande), je n'ai pas de résultat. Je suppose donc qu'il faut installer quelque chose pour que cela fonctionne. La solution d'un fichier .bat et msxsl.exe ne me requiert juste de dézipper une archive.

    J'effectue les créations de fichier html en passant par un .bat qui exécute msxsl.exe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    msxsl catalog_data_20130507094935.xml format_rubrique.xsl -o toto.html 
    pause
    Est-il possible d'utiliser toujours une commande de ce type en utilisant le VBS ?

  4. #4
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    Je précise dans mon fichier .xsl :
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    Mais j'ai toujours la ligne suivante qui est rajouté dans mon fichier html :
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-16">
    Pour faire sortir le meta dans html page, il suffit (avec un moteur xslt w3c compliant) de faire:
    [1] paraître la section head (<head></head> sans pour autant avoir meta @http-equiv dedans, il va se construire automatiquement) de par un template approprié, et
    [2] specifier le xsl:output avec l'attribut encoding désiré comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:output method="html" encoding="utf-8" />
    Je me trompe peut-être, mais en vérifiant sur une autre machine si PHP était installé (php -v en ligne de commande), je n'ai pas de résultat. Je suppose donc qu'il faut installer quelque chose pour que cela fonctionne.
    Ca va de soi. Php n'est pas natif de windows.

    Est-il possible d'utiliser toujours une commande de ce type en utilisant le VBS ?
    Bien entendu, et beaucoup plus si vous voulez. Tous les arsenals ou presque de msxml2 seraient disponible.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Par défaut
    Citation Envoyé par tsuji Voir le message
    [2] specifier le xsl:output avec l'attribut encoding désiré comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:output method="html" encoding="utf-8" />
    Je ne faisait pas comme ça... Et ça marche super bien comme ceci !
    Merci.

    J'ai réalisé un petit programme en VB qui se lance sur n'importe quel machine. Un petit formulaire pour choisir le fichier XML d'entrée et le nom du fichier de sortie, on valide : le fichier est créé.

    Merci pour tes réponses,
    Bonne continuation

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. transformation xslt
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 28/06/2005, 16h46
  2. xhtml-->xml transformation xslt
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 15/06/2005, 15h23
  3. xhtml->xml transformation xslt
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 14/06/2005, 11h17
  4. transformation xml via xslt
    Par ronnie dans le forum XSL/XSLT/XPATH
    Réponses: 17
    Dernier message: 10/05/2005, 10h58
  5. [XSLT] Récupération de la transformation Xslt
    Par Pignoufy dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 06/04/2005, 15h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo