[XSD.exe] Probleme de batch (je deviens fou...)

Résolu
cs_ip2x Messages postés 63 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 27 janvier 2009 - 20 févr. 2007 à 15:45
cs_ip2x Messages postés 63 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 27 janvier 2009 - 22 févr. 2007 à 16:32
Hello ! Voila j'essaie d'executer xsd.exe du SDK VS par ce batch :

@echo off
cd F:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\
xsd "F:\Documents and Settings\Notebook\Mes documents\Projet NewsML\togo.xml" /outputdir:F:\Documents and Settings\Notebook\Mes documents\Projet NewsML\

Mais probléme : ça ne marche pas du tout...

Y'aurait-il un probleme dans ce batch ?

10 réponses

cs_ip2x Messages postés 63 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 27 janvier 2009
22 févr. 2007 à 16:32
J'ai finalement reussi a generer du C# a partir d'un xsd en copiant le dit fichier xsd dans le dossier de xsd.exe. Cela permet de ne passer que le nom du fichier a convertir (sans le chemin) en parmetres.

Mais malheureusement le fichier xsd a convertir (specs NewsML) semble etre trop complexe pour xsd.exe... J'irai donc à la mano.
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
20 févr. 2007 à 15:57
je pense qu'il manque des " un peu partout...

@echo off
cd "F:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin"
xsd "F:\Documents and Settings\Notebook\Mes documents\Projet NewsML\togo.xml" /outputdir:"F:\Documents and Settings\Notebook\Mes documents\Projet NewsML"

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
cs_ip2x Messages postés 63 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 27 janvier 2009
20 févr. 2007 à 16:20
Trés bien merci ! Je retente le coup.
0
cs_ip2x Messages postés 63 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 27 janvier 2009
20 févr. 2007 à 16:26
Voici le nouveau batch :

@echo off
cd "F:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin"
xsd "F:\Documents and Settings\Notebook\Mes documents\Projet NewsML\togo.xml" /outputdir:"F:\Documents and Settings\Notebook\Mes documents\Projet NewsML"

Et malheureusement même probléme...aucun fichier xsd généré
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
20 févr. 2007 à 16:29
bon... retire le @echo off... comme ça tu auras un message d'erreur ;)

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
cs_ip2x Messages postés 63 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 27 janvier 2009
20 févr. 2007 à 17:04
Trés bien, le batch s'execute sans probléme. Youpi !

Voici le resultat

F:\Documents and Settings\Notebook\Mes documents\Visual Studio 2005\Projects\NewsML\NewsML\bin\Debug>cd "F:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin"

F:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin>xsd "F:\Documents and Settings\Notebook\Mes documents\Projet NewsML\togo.xml" /outputdir:"F:\Documents and Settings\Notebook\Mes documents\Projet NewsML"
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 2.0.50727.42]
Copyright (C) Microsoft Corporation. All rights reserved.

If you would like more help, please type "xsd /?".
 : le fichier togo.xsd n'a pu être créé.

J'en conclus qu'xsd "patine" lors de la génération de schema xsd à partir de mon document...Qu'en pensez-vous ?
0
cs_ip2x Messages postés 63 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 27 janvier 2009
20 févr. 2007 à 17:38
Bon j'ai rééssayé avec un autre document XML, le probléme semble venir de mon code :

        /// <summary>
        /// Genere le fichier de commandes a executer pour la creation d'un fichier XSD. 
        /// </summary>
        public string generateBatFile()
        {
            if (File.Exists(Application.StartupPath + "\\genererXSD.bat")) File.Delete(Application.StartupPath + "\\genererXSD.bat");
            FileTools writeIt = new FileTools();

            //Creation des commandes pour la generation du schema XML (fichier XSD)
            string batFile;// = "@echo off\r\n";

            batFile = "cd " + """ + this._cheminXsdProcess.Remove(this._cheminXsdProcess.LastIndexOf("xsd.exe")) + ""\r\n";

            batFile += "xsd " + """ + this._fichierAConvertir + """ + " /outputdir:" + """ + this._mRepertoireDestination + """;

            
            writeIt.Ecrire(Application.StartupPath + "\\genererXSD.bat", batFile);
            
            
            if (File.Exists(Application.StartupPath + "\\genererXSD.bat"))
            {
                string output = this.BatchExec(Application.StartupPath + "\\genererXSD.bat");
                return output;
            }
            else return "Erreur interne.";

        }

        /// <summary>
        /// Lance l'execution d'un batch
        /// </summary>
        /// Chemin du fichier batch à executer

        /// <returns>Etat de l'execution du batch</returns>
        public string BatchExec(string BatchFilePath)
        {
            System.Diagnostics.ProcessStartInfo psi = new ProcessStartInfo(BatchFilePath);
            psi.RedirectStandardOutput = true;
            psi.UseShellExecute = false;

            System.Diagnostics.Process XsdGenerate;
            XsdGenerate = Process.Start(psi);

            System.IO.StreamReader Output = XsdGenerate.StandardOutput;
            XsdGenerate.WaitForExit();
            
            string output = Output.ReadToEnd();

            if (File.Exists(this._nomFichierAConvertir.Replace("xml", "xsd")))
                return "Fichier créé avec succés";
            else return output + " : le fichier " + this._nomFichierAConvertir.Replace("xml", "xsd") + " n'a pu être créé.";
         }
0
cs_ip2x Messages postés 63 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 27 janvier 2009
21 févr. 2007 à 15:50
Quelqu'un aurait-il une idée de la raison pour laquelle je n'arrive pas à obtenir de schema xml

I'm deep into the shit...
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
21 févr. 2007 à 15:56
A quoi ressemble la classe qui ne fonctionne pas ?

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
cs_ip2x Messages postés 63 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 27 janvier 2009
21 févr. 2007 à 18:26
et bien ce sont les seules fonctions que j'utilise et qui permmettent de creer le XSD...et le fichier bat généré est celui que j'ai precedemment posté...

J'avoue avoir du mal a cibler le probleme...
0
Rejoignez-nous