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

C++Builder Discussion :

Contribution : Code pour une feuille de style Xlslt sur un fichier xml


Sujet :

C++Builder

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 36
    Points : 28
    Points
    28
    Par défaut Contribution : Code pour une feuille de style Xlslt sur un fichier xml
    bonjour

    j'ai un programme qui génère des fichiers xml ; une feuille de style a été mise en place pour faire une sortie du xml en fichier html
    dans l'entete du fichier xml y'a bien sur le llien avec le fichier xsl.. il faut cliquer sur le fichier xml pour faire apparaitre bien sur l'affichage en format html. maintenant il faut que le programme génère le fichier xml et le fichier html.
    j'ai mis en place le code suivant;
    CoInitialize(NULL);
    IXMLDOMDocument2Ptr DOMDocxml;
    IXMLDOMDocument2Ptr DOMDocxsl;
    IXSLTemplatePtr templateXsl;
    IXSLProcessorPtr processorptr;

    //Create a DOMDocument object.
    DOMDocxml = CoFreeThreadedDOMDocument40::Create();

    if(DOMDocxml.IsBound())
    {
    DOMDocxml->async = (TOLEBOOL)false;

    TOLEBOOL test = DOMDocxml->load(TVariantInParam(WideString("MyXml.XML").Detach(), true));
    if((bool)test == true)
    {
    //Create a DOMDocument object.
    DOMDocxsl = CoFreeThreadedDOMDocument40::Create();

    //define the DOM document content.
    if(DOMDocxsl.IsBound())
    {
    DOMDocxsl->async = (TOLEBOOL)false;
    //smartpointerDOMDocxsd->validateOnParse = (TOLEBOOL)false;

    TOLEBOOL test = DOMDocxsl->load(TVariantInParam(WideString("MyXls.xsl").Detach(), true));
    if((bool)test == true)
    {
    templateXsl = CoXSLTemplate40::Create();

    if (templateXsl.IsBound() == true)
    {
    templateXsl->stylesheet = DOMDocxsl;
    templateXsl->createProcessor((IXSLProcessorPtr*)&processorptr);
    if (processorptr.IsBound () == true)
    {
    processorptr->set_input(TVariantInParam( (IUnknown*)DOMDocxml));

    TOLEBOOL toto = processorptr->transform ();
    if ((bool)toto == true)
    {
    TVariant toto = processorptr->get_output ();
    AnsiString str = toto;
    AnsiString htmlFile = "toto.html";

    TStringList* p = new TStringList();
    p->Add(str);
    p->SaveToFile ("myHtml.html");

    }
    }
    }
    }
    }

    }
    }
    CoUninitialize();
    voila si ca intéresse quelqu'un

  2. #2
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 36
    Points : 28
    Points
    28
    Par défaut
    pour la fin, je ne suis pas tres fier d'etre passé par un stringlist... y'a peut etre mieux....

Discussions similaires

  1. Attribut 'media' pour une feuille de style
    Par stc074 dans le forum JSF
    Réponses: 2
    Dernier message: 22/07/2013, 18h00
  2. Réponses: 0
    Dernier message: 28/01/2013, 10h11
  3. code des couleurs pour les feuilles de styles
    Par Auteur dans le forum Téléchargez
    Réponses: 0
    Dernier message: 09/07/2011, 21h14
  4. Associer une feuille de style externe à un code svg généré
    Par Bownobo dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 07/09/2009, 13h21
  5. Réponses: 3
    Dernier message: 06/09/2007, 14h31

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