Altova XMLSpy 2025 Enterprise Edition

Générateur de Code

Accueil Préc Haut Suivant

XMLSpy contient un générateur de code built-in qui génère des fichiers de classe Java, C++ ou C# depuis les Schémas XML. Le code généré consiste en des bibliothèques de schema wrapper qui vous permettent de créer des applications de logiciel qui traitent des données XML. Les bibliothèques schema wrapper vous permettent de travailler avec les données XML par le biais des programmes, utilisant les types générés du schéma. Vous utiliseriez généralement le générateur de code comme suit. D’abord, modélisez votre Schéma XML dans l’éditeur de schéma graphique XMLSpy (Aperçu de schéma). Ensuite, générez le code dans votre langage de code préféré (Java, C++ ou C#). Si vous changez le modèle de contenu du schéma, exécutez une nouvelle fois le générateur de code.

 

Le code généré prend en charge les opérations suivantes :

 

Lire des fichiers XML dans une représentation en mémoire Document Object Model (DOM)

Écrire des fichiers XML depuis une représentation DOM à nouveau dans un fichier de système

Convertir des strings dans des arborescences XML DOM et vice-versa.

 

La table ci-dessous résume l’information de prise en charge.

 

Langue cible

C++

C#

Java

Environnements de développement

Microsoft Visual Studio 2013, 2015, 2017, 2019, 2022

Microsoft Visual Studio 2013, 2015, 2017, 2019, 2022

 

Frameworks cible :

 

.NET Framework

.NET Core 3.1

NET 5.0

NET 6.0

NET 8.0

Java SE JDK 8, 11, 17, 21 (y compris OpenJDK)

Eclipse 4.4 ou plus

Apache Ant (fichier build.xml)

XML DOM implementations

MSXML 6.0

Apache Xerces 3

System.Xml

JAXP

 

Information spécifique au langage

L’information spécifique au langage est fournie dans les sous-sections ci-dessous.

 

C++

Vous pouvez configurer si vous souhaitez que la sortie générée C++ doit utiliser MSXML 6.0 ou Apache Xerces 3. XMLSpy génère des fichiers complets de projet (.vcproj) et de solution (.sln) pour toutes les versions prises en charge de Visual Studio (voir table ci-dessous). Le code généré prend en charge MFC on option.

 

Notez les exigences préalables suivantes :

 

Pour compiler le code C++ généré, Windows SDK doit être installé sur votre ordinateur.

Afin de pouvoir utiliser Xerces 3 pour C++, vous devrez l'installer et le construire utilisant la les instructions sous Apache Xerces page. Veuillez vous assurer d'ajouter la variable d'environnement XERCES3 qui pointe vers le répertoire dans lequel Xerces a été installé (par ex., C:\xerces-c-3.2.2). De même, la variable d'environnement PATH doit contenir le chemin dans lequel les binaires Xerces se trouvent ex.,%XERCES3%\bin).

Lorsque vous construisez le code C++ pour Visual Studio et utilisez une bibliothèque Xerces précompilée pour Visual C++, vous devrez modifier le paramètre compilateur dans tous les projets de la solution. Suivez les étape ci-dessous :

 

a)Choisir tous les projets dans le Solution Explorer.

b)Cliquez sur Properties dans le menu Projet.

c)Cliquer sur Configuration Properties | C/C++ | Language.

d)Dans la liste des configurations, choisir All Configurations.

e)Modifier Treat wchar_t as Built-in Type en No (/Zc:wchar_t-)

 

C#

Le code C# généré peut être utilisé depuis tout langage de programmation compatible avec .NET, comme VB.NET, Managed C++ ou J#. Les fichiers de projet peuvent être générés pour toutes les versions prises en charge de Visual Studio (voir table ci-dessus).

 

Java

La sortie Java générée est écrite en conformité avec l'API Java de standard industriel pour XML Processing (JAXP) et comprend un fichier build Ant et des fichiers de projet pour les versions prises en charge de Java et Eclipse (voir table ci-dessus).

 

Résoudre les exceptions "Mémoire insuffisante" pendant la compilation Java

Schémas complexes Peuvent produire une grande quantité de code, qui peut entraîner une exception java.lang.OutofMemory pendant la compilation en utilisant Ant. Pour corriger cela :

 

Ajouter la variable d’environnement ANT_OPTS, qui définit des options Ant spécifiques comme la mémoire à attribuer à l’ordinateur, et configurer sa valeur telle qu’indiqué ci-dessous.

cg_ANT_OPTS

Pour vous assurer que le compileur et le code généré soient exécutés dans le même processus qu’Ant, changer l’attribut fork, dans build.xml, sur false.

 

Vous devrez éventuellement personnaliser les valeurs selon la quantité de mémoire disponible dans votre appareil et la taille du projet sur lequel vous travaillez. Pour plus de détails, voir votre documentation Java VM.

 

Lorsque vous exécutez la commande ant jar, vous recevrez éventuellement un message d’erreur de type "[...] archive contains more than 65535 entities". Afin d’éviter cela, il est recommandé d’utiliser Ant 1.9 ou plus, et dans le fichier build.xml, d’ajouter zip64mode="as-needed" dans l’élément <jar>.

 

 

Sortie générée

Le dossier de désigné pour le code généré contient toutes les bibliothèques et les fichiers requis pour manipuler des fichiers XML par le biais d’un programme, concrètement :

 

Bibliothèques Standard Altova

Bibliothèques Schema Wrapper

Une application de test vide avec un échantillon de code de source. Le squelette d’application de test est une application que l’on peut compiler qui appelle une méthodeExample() vide. Vous pouvez ajouter votre code de texte dans cette méthode pour un test rapide et simple de votre bibliothèque récemment générée.

 

Modèles de générateur de code

Le code généré est créé via un modèle qui est écrit dans un langage de modèle appelé SPL SPL (Spy Programming Language). Vous pouvez personnaliser le modèle utilisé pour code-generation. Par exemple, vous pouvez utiliser SPL pour mapper les types de données intégrées dans les datatypes primitifs d’un langage de programmation et créer vos propres modèles pour automatiser la génération de tout autre format virtuel, par exemple, des EJB, fichiers WSDL, scripts SQL, ASP et code WML.

 

Exemples

Pour des exemples illustrant les capacités de génération de code, voir Exemple : Book Library et Example: Purchase Order.

 

© 2018-2024 Altova GmbH