Fonctionnement du générateur XML
Le générateur XML s'appuie sur un fichier XML physique ou sur des données XML en mémoire qui peuvent être automatiquement créées à l'aide d'un composant externe, les données XML en entrée reposant sur le fichier de définition de structure XML XMLBuilderDiagram dans les deux cas. Pour un modèle de diagramme basé sur le générateur XML, les noms des classes d'entités schématiques associées à ce modèle de diagramme doivent correspondre aux valeurs spécifiées pour les éléments <FeatureClassName> associés à chaque type NodeFeature, LinkFeature, NodeOnLinkFeature et SubLinkFeature présents dans les données XML en entrée.
Procédure de génération du générateur XML
Lorsque vous générez un diagramme en fonction du générateur XML, le générateur renseigne les classes d'entités schématiques, c'est-à-dire qu'il crée les entités schématiques attendues dans le diagramme comme suit :
- Pour chaque élément NodeFeature, LinkFeature, NodeOnLinkFeature et SubLinkFeature présents dans les données XML en entrée, il vérifie qu'une classe d'entités schématiques dont le nom correspond à la valeur indiquée pour sa balise <FeatureClassName> existe pour le modèle de diagramme.
Si une telle classe d'entités schématiques est présente pour le modèle de diagramme, il crée l'entité schématique associée à l'élément XML en mémoire, importe les valeurs de toutes les balises XML en entrée dans les attributs schématiques attendus et initialise la topologie et la géométrie.
- Si des règles schématiques sont spécifiées pour le modèle de diagramme associés, elles sont exécutées sur toutes les entités schématiques intégrées en mémoire.
- Si un algorithme de mise en page schématique par défaut est configuré pour le modèle de diagramme, l'algorithme est exécuté et la géométrie de toutes les entités schématiques en mémoire est mise à jour en conséquence.
- Toutes les entités schématiques en mémoire depuis le début du processus de génération sont enregistrées dans les classes d'entités schématiques du jeu de données schématiques.
- Toutes les entités schématiques créées sont interrogées à partir des classes d'entités schématiques, et le diagramme est affiché.
Ensuite, à tout moment et tout au long de son existence (c'est-à-dire jusqu'à ce qu'il soit supprimé du jeu de données schématiques, le diagramme peut être
- rouvert ;
- mis à jour, mis en page et enregistré ;
- mis à jour à partir d'une version actualisée des données XML en entrée de sorte que les modifications soient répercutées sur le diagramme.
Les modèles de diagrammes basés sur le générateur XML peuvent également permettre de générer des diagrammes mixtes qui contiennent des entités schématiques provenant de données XML et des entités schématiques issues de requêtes personnalisées qui s'appuient sur n'importe quel type de base de données. Dans ce cas, le processus de génération compte des étapes intermédiaires :
- Les classes d'entités schématiques avec des requêtes personnalisées configurées devant être lancées pendant la création du diagramme (c'est-à-dire des requêtes associées au mode d'évaluation avec interrogation lors de la génération ou de la mise à jour) sont traitées avant d'exécuter les règles.
- Les classes d'entités schématiques avec des requêtes personnalisées configurées devant être lancées pendant la création du diagramme (c'est-à-dire des requêtes associées au mode d'évaluation avec interrogation au début de la modification) sont traitées après l'exécution des règles.
- Lors de la configuration des propriétés du générateur XML, vous pouvez activer un mode d'exécution spécifique appelé Création automatique de la classe d'entités schématiques. Lorsque ce mode est activé, le générateur XML est capable de gérer les éléments NodeFeature, LinkFeature, NodeOnLinkFeature et SubLinkFeature présents dans les données XML en entrée même si, au moment de la génération, il n'existe aucune entité schématique dont le nom correspond à la valeur spécifiée pour son élément <FeatureClassName> associé dans les données XML en entrée. Dans ce mode, le générateur crée automatiquement les classes d'entités schématiques manquantes pour le modèle de diagramme avant de les renseigner.
- Vous pouvez également configurer une correspondance entre les noms des classes d'entités schématiques associées au modèle de diagramme et les noms qui se trouvent dans les données XML en entrée lorsqu'ils ne correspondent pas exactement.
Pour en savoir plus sur l'appariement des classes d'entités schématiques
Correspondance entre les balises XML et les champs de la classe d'entités schématiques
Les tableaux ci-dessous montrent dans quel champ de la classe d'entités schématiques chaque balise possible présente dans les données XML en entrée est migrée au cours du processus. Les noms de balise et de champ affichés en gras représentent des informations obligatoires dans les données XML en entrée :
-
Informations présentes pour tout type XFeature
Correspondance entre les balises XML et les champs de la classe d'entités schématiques pour tout type XFeatureBalise dans les données XML en entrée
Champ(s) affecté(s) dans la classe d'entités schématiques
<ExternalUniqueID>
SCHEMATICTID
<DatasourceName>
DATASOURCEID
<UCID>
UCID
<UOID>
UOID
<USID>
USID
<RelatedContainerID>
RELATIONOBJECTID et RELATIONCLASSID
-
Informations spécifiques présentes pour l'élément NodeFeature
Correspondance entre les balises XML et les champs de classe d'entités schématiques pour tout type NodeFeatureBalise dans les données XML en entrée
Champ(s) affecté(s) dans la classe d'entités schématiques
<InitialX>
INITIALX
<InitialY>
INITIALY
-
Informations spécifiques présentes pour l'élément LinkFeature
Correspondance entre les balises XML et les champs de la classe d'entités schématiques pour tout type LinkFeatureBalise dans les données XML en entrée
Champ(s) affecté(s) dans la classe d'entités schématiques
<FromNode>
FROMTID
<ToNode>
TOTID
<Vertices>
SHAPE
-
Informations spécifiques présentes pour l'élément NodeOnLinkFeature
Correspondance entre les balises XML et les champs de la classe d'entités schématiques pour tout type NodeOnLinkFeatureBalise dans les données XML en entrée
Champ(s) affecté(s) dans la classe d'entités schématiques
<InitialPosition>
INITIALPOSITION
<ReferenceLink>
REFERENCELINK
-
Informations spécifiques présentes pour l'élément SubLinkFeature
Correspondance entre les balises XML et les champs de la classe d'entités schématiques pour tout type SubLinkFeatureBalise dans les données XML en entrée
Champ(s) affecté(s) dans la classe d'entités schématiques
<FromNode>
FROMTID
<ToNode>
TOTID
<ReferenceLink>
REFERENCELINK
- Données dans la balise <PropertySetProperty>
En ce qui concerne les données de la balise <PropertySetProperty>, soit (1) un champ dont le nom correspond à la valeur <Key> dans les données XML en entrée existe déjà dans la classe d'entités schématiques et la valeur <Value> associée est stockée dans ce champ, soit (2) la valeur <Value> est stockée dans une propriété Ensemble de propriétés <Key> créée dans le champ PROPERTYSET au cours du processus.
pour en savoir plus sur la signification exacte de ces balises XML