Share via


Création de règles de validation personnalisées pour Visio Premium 2010 (traduction automatique)

Important

Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Résumé :  Découvrez comment utiliser la fonctionnalité de validation de diagramme de Microsoft Visio Premium 2010 pour détecter des erreurs dans vos diagrammes. Visio Premium 2010 offre une validation intégrée pour un certain nombre de modèles ou vous pouvez développer vos règles de validation complexes dans le cadre d’une solution personnalisée.

Dernière modification : jeudi 7 avril 2011

S’applique à : Office 2010 | SharePoint Server 2010 | Visio 2010 | Visio Premium 2010

Dans cet article
Vue d'ensemble de la validation de schéma
Terminologie de validation de schéma : Ensembles de règles, les règles et les problèmes
Valider un diagramme à l'aide de l'interface utilisateur
Importation d'une règle définit à l'aide de l'interface utilisateur
Utilisation de la fenêtre de problèmes à l'aide de l'interface utilisateur
Suppression des informations de validation de schéma à l'aide de l'interface utilisateur
À l'aide de la validation de schéma dans une solution personnalisée
Vue d'ensemble de la validation de schéma API
À l'aide de l'API pour manipuler la fenêtre de problèmes
À l'aide de l'API pour valider un diagramme
Comment Visio 2010 gère les problèmes de validation
Définition de filtre et les expressions de test
Filtre et des exemples d'expressions de test
Filtre et de tester les performances des expressions
Validation de schéma XML
Conclusion
ressources supplémentaires

**S'applique à:**Microsoft Visio Premium 2010
Publié : juin 2010
fournies par : Stéphanie Cor, Microsoft Corporation  

Contenu

  • Vue d'ensemble de la validation de schéma

  • Terminologie de validation de schéma : Ensembles de règles, les règles et les problèmes

  • Valider un diagramme à l'aide de l'interface utilisateur

  • Importation d'une règle définit à l'aide de l'interface utilisateur

  • Utilisation de la fenêtre de problèmes à l'aide de l'interface utilisateur

  • Suppression des informations de validation de schéma à l'aide de l'interface utilisateur

  • À l'aide de la validation de schéma dans une solution personnalisée

  • Vue d'ensemble de la validation de schéma API

  • À l'aide de l'API pour manipuler la fenêtre de problèmes

  • À l'aide de l'API pour valider un diagramme

  • Comment Visio 2010 gère les problèmes de validation

  • Définition de filtre et les expressions de test

  • Validation de schéma XML

  • Conclusion

  • ressources supplémentaires

Vue d'ensemble de la validation de schéma

Microsoft Visio Premium 2010 offre un nouveau moyen permettant aux utilisateurs de vérifier leurs diagrammes pour détecter les erreurs courantes et pour les sociétés pour vous assurer que les employés suivez certaines normes de création de diagrammes. À l'aide de la nouvelle fonctionnalité de validation de schéma, vous pouvez avoir Visio pour vérifier les propriétés d'un diagramme et d'afficher les problèmes de création de diagrammes. En interagissant avec les problèmes affichés, vous pouvez facilement réviser et corriger des problèmes avec votre diagramme.

Notes

La fonctionnalité de validation de schéma est disponible uniquement dans Visio Premium 2010.

En fournissant un moyen de vérifier automatiquement un diagramme, Visio réduit le temps passé manuellement la révision de diagrammes pour les erreurs. Par exemple, Visio peut détecter les problèmes, tels que les formes qui ne sont pas étiquetées ou des connecteurs qui ne sont pas collées à d'autres formes. Visio permet également aux entreprises d'appliquer une notation standard, telles que la Notation de modélisation des processus professionnels (BPMN) (éventuellement en anglais), au sein de leur organisation afin de garantir que les diagrammes sont dessinés de manière cohérente. À l'aide de la fonctionnalité de validation de schéma, vous pouvez vérifier l'exactitude d'un diagramme par rapport aux règles d'entreprise de n'importe quelle organisation.

Visio Premium 2010 fournit la prise en charge de la validation de schéma pour les diagrammes de diagramme de flux simple, Cross-Functional Flowchart, Six Sigma, flux de travail de Microsoft SharePoint et de BPMN. À l'aide de l'interface utilisateur (IU) de Visio, vous pouvez valider facilement ces types de diagramme par rapport aux règles de validation fournis. Visio fournit également une API de validation de schéma étendues que vous pouvez utiliser pour implémenter la prise en charge de la validation de schéma pour n'importe quel type de diagramme. Cette prise en charge permet aux entreprises de développer des règles de validation personnalisées et des fonctionnalités à leurs propres besoins.

Terminologie de validation de schéma : Ensembles de règles, les règles et les problèmes

Une règle de validation ou simplement une règle, représente une condition qui doit répondre à un diagramme. Chaque règle comporte une logique métier sous-jacente qui détermine si cette condition est remplie. Un problème est un cas dans un diagramme dans lequel la règle n'a pas été satisfaite. En fonction de votre diagramme, vous pouvez trouver plusieurs problèmes qui sont associés à la même règle. Par exemple, si la règle nécessite que toutes les formes être étiquetées, la fonctionnalité de validation du diagramme affiche un problème pour chaque forme qui ne possède aucun nom.

Ensembles de règles sont des groupements logiques de règles, telles que les ensembles de règles BPMN et diagramme de flux. Pour voir quels ensembles de règles sont disponibles dans votre diagramme en cours, sous l'onglet Processus, cliquez sur la flèche située en regard de la Vérifier le diagramme et puis cliquez sur Règles à vérifier, comme illustré figure 1. Les ensembles de règles qui ont une coche à côté d'elles sont actives, seules les règles d'ensembles de règles actives sont évalués au cours de validation de schéma. En cliquant sur un ensemble de règles basculer entre actifs et inactifs.

La figure 1. Ensembles de règles dans un diagramme

Jeux de règles dans un diagramme

Les diagrammes de base du diagramme de flux, Cross-Functional Flowchart, Six Sigma, flux de travail de Microsoft SharePoint et de BPMN créés dans Visio 2010 déjà contenant un ensemble de règles approprié, puis tapez des règles correspondantes, le schéma particulier.

Valider un diagramme à l'aide de l'interface utilisateur

Vous pouvez accéder à la fonctionnalité de validation de schéma à partir de l'onglet Processus dans Visio Premium 2010. Lorsque vous travaillez sur un diagramme qui a une règle d'active, cliquez sur Vérifier le diagramme, comme illustré figure 2, pour voir si le diagramme en contient tous les problèmes.

La figure 2. Onglet processus

Onglet Processus

Visio va soit çi qu'il n'y a pas de problèmes dans le diagramme ou répertorier les problèmes mentionnés dans la fenêtre de Problèmes. La figure 3 montre un diagramme du diagramme de flux simple dans lequel un connecteur n'est pas attaché à la forme suivante dans le diagramme de flux. Lorsque vous cliquez sur Vérifier le diagramme, Visio affiche deux problèmes associés au diagramme. Vous pouvez cliquer sur un problème dans la fenêtre de Problèmes pour accéder à la page ou de la forme associée à ce problème.

La figure 3. Fenêtre des problèmes de validation

Fenêtre Problèmes de validation

Une fois que vous corrigez les problèmes répertoriés, vous pouvez cliquer sur Vérifier le diagramme pour le confirmer qu'il n'existe plus aucun problème associé au diagramme.

Parfois vous trouverez peut-être un problème ne s'applique pas à une forme donnée dans votre diagramme. Dans ce cas, vous pouvez ignorer le problème et Visio va l'affiche pas dans la fenêtre de Problèmes. Si une règle ne s'applique pas à l'ensemble du diagramme, vous pouvez aussi ignorer la règle pour qu'aucun problème n'est associé à la règle ne s'affichent. Comme illustré figure 4, cela en un clic droit sur un problème dans la fenêtre de Problèmes et en sélectionnant l'option appropriée.

La figure 4. En ignorant un problème de validation

Ignorer un problème de validation

Lorsqu'un ensemble de règles est évalué pendant la validation de schéma, les règles ignorées sont toujours vérifiées et problèmes associés à ces règles sont toujours détectés. Par défaut, toutefois, compte des problèmes associé à et non pris en compte des règles ne sont pas visibles dans la fenêtre de Problèmes. À l'aide du menu, illustré figure 4, vous pouvez choisir Afficher les problèmes ignorés ou cesse d'ignorer une règle ou un problème. Vous pouvez également utiliser ce menu pour réorganiser les problèmes dans la fenêtre de Problèmes afin que les problèmes sont triés par la règle, catégorie ou page.

Importation d'une règle définit à l'aide de l'interface utilisateur

À l'aide de l'IU de Visio, vous pouvez importer l'ensemble de règles de diagramme de flux dans n'importe quel diagramme et transférer toute règle définie à partir d'un diagramme à l'autre. La possibilité d'importer d'ensembles de règles dans un diagramme est particulièrement utile lorsque vous travaillez avec les diagrammes créés en utilisant les versions précédentes de Visio dans la mesure où, par défaut, ces diagrammes n'ont pas les règles de validation. Si vous créez un diagramme dans Visio 2010 du diagramme de flux simple, Cross-Functional Flowchart, Six Sigma, flux de travail de Microsoft SharePoint ou BPMN modèle, vous déjà avez appropriés ensemble dans votre diagramme de règles et n'avez pas besoin de les importer d'ensembles de règles.

Pour importer le jeu dans n'importe quel diagramme de flux de règles de diagramme de flux, ouvrez le diagramme dans Visio Premium 2010. Puis, sous l'onglet Processus, cliquez sur la flèche située en regard de la Vérifier le diagramme, cliquez sur Importer les règles de et puis cliquez sur Diagramme de flux un ensemble de règles, comme illustré figure 5. L'ensemble de règles de diagramme de flux est toujours listé comme un ensemble de règles qui peut être importé dans votre diagramme.

La figure 5. Importation de règles dans un diagramme

Importation de règles dans un diagramme

Pour importer des ensembles de règles à partir d'un autre schéma, tout d'abord Assurez-vous que ce diagramme est ouvert dans Visio. Puis, sous l'onglet Processus, cliquez sur la flèche située en regard de la Vérifier le diagramme, cliquez sur Importer les règles de d'et puis sélectionnez le nom du diagramme ouvert qui contient les ensembles de règles à importer.

Utilisation de la fenêtre de problèmes à l'aide de l'interface utilisateur

Si vous enregistrez un diagramme qui a des problèmes, ces problèmes sont enregistrés avec votre diagramme et sont disponibles lorsque vous rouvrez le diagramme. Problèmes de validation restent également dans le diagramme si vous fermez la fenêtre de Problèmes. Cela permet de résoudre des problèmes avec votre diagramme au fil du temps, sans avoir à réexécuter la validation de schéma.

Comme illustré figure 6, il existe une case à cocher sous l'onglet Processus qui contrôle la visibilité de la fenêtre de Problèmes. Cela peut être utile, par exemple, si vous souhaitez fermer la fenêtre de Problèmes lors de l'affichage du diagramme à d'autres personnes et puis ouvrez à nouveau plus tard pour résoudre tout problème restant dans votre diagramme.

La figure 6. Case à cocher pour contrôler la visibilité de la fenêtre de problèmes

Activer la case à cocher pour afficher la fenêtre Problèmes

Suppression des informations de validation de schéma à l'aide de l'interface utilisateur

Dans la mesure où les problèmes sont enregistrés dans votre diagramme, quiconque ouvre le diagramme peut afficher les problèmes en cliquant sur l'onglet Processus, puis cliquez sur la case à cocher de Problèmes Windows. La fenêtre de Problèmes à résoudre les problèmes enregistrées. Vous pouvez supprimer des problèmes enregistrées à partir de votre diagramme avec d'autres informations personnelles à l'aide de la procédure ci-dessous.

Pour supprimer les problèmes enregistrées et d'autres informations personnelles de votre diagramme

  1. Cliquez sur l’onglet Fichier.

  2. Cliquez sur Informations et puis cliquez sur Remove Personal Information.

  3. Sous l'onglet Informations personnelles, sélectionnez supprimer ces éléments à partir du document.

Les ensembles de règles et les règles sont également stockés dans le cadre de votre diagramme. Vous pouvez supprimer des ensembles de règles inactif d'un diagramme pour réduire la taille du fichier avant de partager. Cela empêche également d'autres utilisateurs à l'aide de ces ensembles de règles pour valider votre diagramme. Vous devez supprimer des ensembles de règles qu'à partir d'un document final, dans la mesure où cette suppression est définitive.

Avant de supprimer une règle définie à partir de votre diagramme, vous devez la marquer comme étant inactive.

Pour marquer une règle définie comme inactifs

  1. Sous l'onglet Processus, cliquez sur la flèche située en regard de la Vérifier le diagramme.

  2. Cliquez sur Règles à vérifier.

  3. Si l'ensemble de règles comporte une coche, cliquez sur la règle pour la rendre inactive.

Une fois que l'ensemble de règles que vous voulez supprimer est inactive, vous pouvez les supprimer comme suit.

Pour supprimer un ensemble de règles

  1. Cliquez sur l’onglet Fichier.

  2. Cliquez sur Informations et puis cliquez sur Réduire la taille du fichier.

  3. Sélectionnez Supprimer les ensembles de règles de validation inactif.

À l'aide de la validation de schéma dans une solution personnalisée

Bien que Visio 2010 fournit la prise en charge de la validation de schéma pour certains types de diagrammes, il n'y a de nombreuses opportunités pour créer des règles de validation personnalisées. Par exemple, vous pouvez créer des règles pour vérifier qu'un réseau de tâches inclut des composants obligatoires ou qu'un diagramme de processus est conforme aux stratégies d'entreprise. Un grand nombre de diagrammes Visio ont une structure inhérente à leur et certaines manières d'assembler des formes sur la page simplement n'apportez pas de sens. Fournisseurs de solutions peuvent à présent optimiser leurs offres en prenant en charge la possibilité de vérifier qu'un diagramme créé à l'aide de leur solution est correct.

La possibilité de vérifier l'exactitude d'un diagramme et de générer des problèmes aux utilisateurs finaux est également cruciale pour les solutions qui ont besoin d'une certaine structure de schéma pour travailler. Par exemple, Visio utilise la validation pour les diagrammes de flux de travail de Microsoft SharePoint pour vous assurer que les workflows SharePoint sont structurées correctement avant de les exporter. En tant que développeur, vous pouvez utiliser la validation de schéma pour prendre en charge de la vérification de schéma pour les types de diagrammes et les problèmes qui vous intéressent.

Options de création de règles personnalisées

Il existe deux approches que vous pouvez utiliser pour la création de règles de validation personnalisées. Avant de commencer la création de règles, vous devez décider si vous allez stocker vos règles de validation et leur logique de validation associé à un modèle Visio personnalisée ou d'écrire votre logique de validation dans le cadre du code de la solution. Cette section décrit chaque option de façon plus détaillée.

Lorsque les règles de validation et leur logique de validation associés sont stockés dans un modèle Visio, ces règles sont automatiquement disponibles pour les utilisateurs Visio Premium 2010 qui la créent ou modifier un diagramme basé sur ce modèle. Lorsqu'un utilisateur clique sur Vérifier le diagramme sous l'onglet Processus, Visio utilise la logique de validation permettent de déterminer si le diagramme a des problèmes. Dans Visio 2010, cette technique est utilisée pour le diagramme de flux simple, diagramme de flux fonctionnel croisé, Six Sigma et modèles de la notation de modélisation des processus professionnels.

Lors de la logique de validation est écrit dans le code solution, la logique est déployée dans le cadre d'une solution. Pour que cette approche, Visio signale la solution lors de la validation est déclenchée et la solution utilise sa propre logique pour déterminer la liste des problèmes. Visio s'affiche, dans la fenêtre de Problèmes, les problèmes de validation est ajouté à votre solution et les utilisateurs finaux travailler avec vos problèmes de la même manière que s'il s'agissait problèmes créés par la logique de validation stockée dans un modèle. En tant que le fournisseur de solutions, vous pouvez écrire du code aussi complexe que nécessaire pour déterminer s'il existe des problèmes dans un diagramme. Vous êtes également chargé de l'ajout et suppression de la validation des problèmes relatifs à vos règles. Dans Visio 2010, cette technique est utilisée pour le modèle de flux de travail de Microsoft SharePoint.

Chaque approche est conçu pour fournir une fonctionnalité particulière, il est judicieux d'évaluer les options en fonction du comportement que vous souhaitez offrir. Le tableau 1 fournit une liste des différences clés entre les deux approches.

Le tableau 1. Approches permettant de créer des règles de validation personnalisées

Approche

Facteurs de différenciation

Stocker vos règles de validation et leur logique de validation dans un modèle Visio

  • Les règles sont stockées dans un modèle Visio. Visio Premium 2010 utilisateurs peuvent utiliser vos règles pour valider un diagramme créé à partir de ce modèle. Ces utilisateurs peuvent également transférer votre règle définie dans un autre diagramme à l'aide de la méthode décrite dans la section Importation d'une règle définit à l'aide de l'interface utilisateur.

  • Aucune macro complémentaire de Visio, module complémentaire ou macro n'est nécessaire pour la validation de schéma.

  • La complexité des règles est limitée par la logique d'expression de validation pris en charge.

Écrire du code personnalisé pour exprimer votre logique de validation

  • Un utilisateur doit avoir votre complément, module complémentaire ou du code VBA pour exécuter la validation de schéma de vos règles.

  • Règles très complexes peuvent être exprimées dans le code.

Vue d'ensemble de la validation de schéma API

La figure 7 illustre les objets de clé, les méthodes et les propriétés pour la validation de schéma.

La figure 7. Objets, méthodes et propriétés de validation de schéma de la clé

Objets et membres de validation de diagramme clé

Vous pouvez trouver l'ensemble complet des objets, méthodes et propriétés de validation de schéma dans le Visio 2010 Automation Reference.

Jeux de règles, règles et problèmes ont des objets API correspondants, à savoir ValidationRuleSet, ValidationRule et ValidationIssue. Les sections suivantes décrivent les principales propriétés de chacun de ces objets.

Objet ValidationRuleSet

Chaque ensemble de règles est une propriété unique NameU, ce qui est définie lors de l'ensemble de règles est créé et qu'il représente son nom universel. La règle Description de Name et définissez la propriété valeurs sont affichées dans l'interface utilisateur. La valeur Nom s'affiche lorsqu'un utilisateur clique sur la flèche à côté de la Vérifier le diagramme, sous l'onglet Processus, puis sur Règles à vérifier. Name a la valeur par défaut, la même valeur que NameU. La valeur Description s'affiche comme une info-bulle lorsqu'un utilisateur clique sur la flèche en regard de Vérifier le diagramme sur l'onglet Processus, clique sur des Règles à vérifier, puis déplace la souris sur un ensemble de règles. Vous devez spécifier une valeur Description pour chaque ensemble de règles.

La figure 8. Info-bulle qui contient la règle définie la description

Info-bulle contenant la description d’un jeu de règles

Les autres propriétés ValidationRuleSet ont des valeurs initiales par défaut ; vous devez les modifier uniquement si vous voulez un comportement différent. Le tableau 2 montre les principales propriétés de l'objet ValidationRuleSet.

Le tableau 2. Propriétés de la clé ValidationRuleSet

propriété

Description

Description

Spécifie la description de l'ensemble de règles et apparaît dans l'interface utilisateur en tant qu'une info-bulle.

Enabled

Détermine si l'ensemble de règles est actif ou inactif. Seules les règles appartenant aux ensembles de règles actives sont vérifiées lors du déclenchement de la validation de schéma. Par défaut, les ensembles de règles sont activés, ou actif.

Vous pouvez modifier cette propriété dans l'interface utilisateur comme suit :

  1. Sous l'onglet Processus, dans le groupe de Validation de schéma, cliquez sur la flèche située en regard de la Vérifier le diagramme et pointez sur Règles à vérifier.

  2. Cliquez sur le nom d'un jeu de règles pour basculer l'état activé pour cet ensemble de règles.

Name

Spécifie le nom de l'ensemble de règles qui s'affiche dans l'interface utilisateur. Par défaut, il s'agit de la même valeur que NameU.

NameU

Spécifie le nom universel de l'ensemble de règles.

Rules

Spécifie la collection de règles dans l'ensemble de règles. Les règles associées à une règle définie à l'aide de cette collection est accessible.

RuleSetFlags

Détermine si l'ensemble de règles s'affiche dans l'interface utilisateur. Par défaut, les ensembles de règles sont visibles dans l'interface utilisateur.

Objet ValideSi (ValidationRule)

Chaque règle a une propriété unique NameU, qui est définie lorsqu'un nouvel ensemble de règles est créé et qu'il représente son nom universel. Vous devez également spécifier une valeur de Description pour chaque règle et de Category parce que ces valeurs de propriété sont affichés dans la fenêtre de Problèmes. La valeur Category doit informer l'utilisateur sur le type de problème et peut être utilisée pour identifier l'ensemble de règles qui a déclenché le problème. La valeur Description doit être suffisamment explicite pour expliquer le problème identifié par la règle, afin qu'un utilisateur sait comment faire pour résoudre le problème.

Si vous décidez de stocker une logique de validation dans un modèle Visio, les propriétés de TestExpressionFilterExpression, TargetType et sont fondamentales pour détecter des problèmes lors de la validation. Si vous décidez d'écrire la logique de validation dans le code solution, ne définissez pas ces valeurs de propriété. Les propriétés de TestExpressionFilterExpression, TargetType et sont décrites plus en détail dans la section Définition de filtre et les expressions de test.

Le tableau 3 montre les principales propriétés de l'objet ValidationRule.

Le tableau 3. Propriétés ValidationRule (ValideSi) de clé

propriété

Description

Category

Représente le texte affiché dans la colonne de Catégorie de la fenêtre de Problèmes.

Description

Spécifie la description de la règle qui s'affiche dans la fenêtre de Problèmes.

FilterExpression

Spécifie l'expression logique qui détermine si la règle de validation doit être appliquée à un objet cible.

Ignored

Détermine si la règle de validation est actuellement pas pris en compte. Par défaut, les règles ne sont pas ignorés.

Vous pouvez utiliser l'interface utilisateur pour modifier cette propriété, comme suit :

  • Dans la fenêtre de Problèmes, avec le bouton droit à un problème lié à la règle et puis cliquez sur Ignorer la règle ou Arrêter d’ignorer la règle.

  • Sous l'onglet Processus, dans le groupe de Validation de schéma, cliquez sur la flèche située en regard de l'option Ignorer ce problème, puis sur Ignorer la règle ou Arrêter d’ignorer la règle.

NameU

Spécifie le nom universel de la règle.

RuleSet

Cette propriété renvoie l'ensemble de règles qui contient la règle.

TargetType

Détermine le type de cible de la règle. Une règle peut cibler les documents, pages ou des formes.

TestExpression

Spécifie l'expression logique qui détermine si l'objet cible satisfait la règle.

Objet ValidationIssue

Chaque problème a une propriété d'associé Rule qui spécifie la description et la catégorie qui s'affiche dans la fenêtre de Problèmes. Lorsqu'un utilisateur clique sur un problème dans la fenêtre de Problèmes, Visio navigue vers la page du problème (si le problème cible d'une forme ou page) et sélectionne la cible de la forme (si le problème cible d'une forme). Les propriétés de TargetShapeTargetPage, TargetPageID et sont utilisées déterminent la page à afficher et de la forme pour la sélectionner.

Le tableau 4 montre les principales propriétés de l'objet ValidationIssue.

Le tableau 4. Propriétés de la clé ValidationIssue

propriété

Description

Ignored

Détermine si le problème est actuellement pas pris en compte. Par défaut, les problèmes ne sont pas ignorés.

Vous pouvez utiliser l'interface utilisateur pour modifier cette propriété, comme suit :

  • Dans la fenêtre de Problèmes, avec le bouton droit à un problème lié à la règle et puis cliquez sur Ignorer ce problème ou Arrêter d’ignorer ce problème.

  • Sous l'onglet Processus, dans le groupe de Validation de schéma, cliquez sur la flèche située en regard de l'option Ignorer ce problème et puis cliquez sur Ignorer ce problème ou Arrêter d’ignorer ce problème.

Rule

Spécifie la règle ayant généré le problème.

TargetPage

Spécifie la page qui est associée le problème.

TargetPageID

Spécifie l'ID de la page qui est associée le problème.

TargetShape

Spécifie la forme à laquelle est associée à ce problème.

Méthodes de validation de schéma pour l'ajout de règles et ensembles de règles

Si vous créez vos propres règles de validation, vous devez ajouter ces règles à un fichier Visio. L'API de Visio fournit un moyen facile pour ajouter des ensembles de règles et les règles et définir les propriétés qui leur sont associées. En règle générale, ces méthodes sont exécutées une fois pour remplir un modèle ou le diagramme avec des règles de validation. En fait, vous pouvez préremplir les règles dans un modèle et puis déployer le modèle pour les utilisateurs sans aucun code solution. Si vous déployez le code de la solution, vous pouvez également décider remplir le document en cours de l'utilisateur avec vos règles lors de l'utilisateur veut tout d'abord utiliser ces règles et d'exécuter la validation.

Pour chacun de ces méthodes de validation de schéma, le tableau 5 affiche une brève description de la méthode, avec une explication des paramètres de la méthode.

Le tableau 5. Méthodes de validation pour ajouter des ensembles de règles et les règles du diagramme

méthodes

Description de la méthode

Paramètre

Description du paramètre

ValidationRuleSets.Add (NameU)

Ajoute un nouvel objet vide ValidationRuleSet à la collection ValidationRuleSets du document.

NameU

Le nom universel pour affecter à la nouvelle règle de validation définies.

ValidationRules.Add (NameU)

Ajoute un nouvel objet vide ValidationRule à la collection ValidationRules du document.

NameU

Le nom universel pour affecter à la nouvelle règle de validation.

Visual Basic pour applications (VBA) suivant ajoute un ensemble de règles et une règle qui cible une forme au document actif.

Set vsoDocument = Visio.ActiveDocument

' Add a validation rule set to the document.
Set vsoValidationRuleSet = vsoDocument.Validation.RuleSets.Add("Connectivity")
vsoValidationRuleSet.Description = "Verify that shapes are correctly connected in the document."
vsoValidationRuleSet.Enabled = True
vsoValidationRuleSet.RuleSetFlags = Visio.VisRuleSetFlags.visRuleSetDefault
 
' Add a validation rule to the document.
Set vsoValidationRule = vsoValidationRuleSet.Rules.Add("Unglued2DShape")
vsoValidationRule.Category = "Shapes"
vsoValidationRule.Description = "This 2-dimensional shape is not connected to any other shape."
vsoValidationRule.Ignored = False
vsoValidationRule.TargetType = Visio.VisRuleTargets.visRuleTargetShape
 
' The validation function Is1D() returns a Boolean value indicating whether the shape is
'1D (True) or 2D (False).
vsoValidationRule.FilterExpression = "NOT(Is1D())"
 
' The validation function GLUEDSHAPES returns a set of shapes glued to the shape.
' It takes as input one parameter indicating the direction of the glue.
' The direction values are equivalent to members of VisGluedShapesFlags:
' 0 = visGluedShapesAll1D and 3 = visGluedShapesAll2D
' The validation function AGGCOUNT takes a set of shapes as its input, and returns
' the number of shapes in the set.
vsoValidationRule.TestExpression = "AGGCOUNT(GLUEDSHAPES(0)) + AGGCOUNT(GLUEDSHAPES(3)) > 0"

Méthodes de validation de schéma pour la gestion des problèmes

Lorsque vous définissez la TargetType et FilterExpressionTestExpression des propriétés d'une règle, Visio gère les problèmes associés à la règle pour vous. Pour les règles de validation très complexe, il est plus facile omettre ces propriétés et écrire la logique de validation dans le code solution. Pour que cette approche, votre solution doit écouter l'événement RuleSetValidated associé à votre ensemble de règles et utiliser sa propre logique pour déterminer la liste des problèmes liés à votre ensemble de règles. La complexité des règles que vous pouvez créer à l'aide de cette méthode est limitée que par votre capacité à développer du code permettant de détecter les problèmes correspondants.

Il existe deux principales méthodes de gestion des problèmes. Le tableau 6 présente une brève description de chaque méthode, avec une explication des paramètres de la méthode.

Le tableau 6. Méthodes de gestion des problèmes

méthodes

Description de la méthode

Paramètre

Description du paramètre

ValidationRule.AddIssue ([TargetPage], [TargetShape])

Crée un nouveau problème de validation qui est basé sur la règle de validation et l'ajoute au document.

Si vous ne transmettez pas une valeur pour le paramètre facultatif TargetShape, la cible de problème de validation est la page. Si vous ne transmettez pas les valeurs pour un des paramètres facultatifs, la cible de problème de validation est le document.

  • TargetPage (Facultatif)

  • TargetShape (Facultatif)

  • La page qui rencontre le problème ou a la forme avec le problème.

  • La forme qui présente le problème.

ValidationIssue.Delete ()

Supprime l'objet ValidationIssue du document.

Une fois que vous détectez l'événement RuleSetValidated pour votre ensemble de règles, supprimez les problèmes liés à votre ensemble de règles, réévaluer votre logique de validation et ensuite ajouter les problèmes, selon vos besoins. Le code VBA suivant itère sur les problèmes de validation du document actif et, pour chaque problème vsoIssue, le code vérifie si ce problème appartient au jeu de règles vsoValidationRuleSet. Les problèmes qui appartiennent à cet ensemble de règles sont supprimées. Le code suppose que vsoValidationRuleSet est un objet valide Visio.ValidationRuleSet.

Set vsoDocument = Visio.ActiveDocument 
Set vsoIssues = vsoDocument.Validation.Issues
issueTotal = vsoIssues.Count
issueNumber = 1

' Walk through the validation issues.
 For curIssue = 1 To issueTotal
      Set vsoIssue = vsoDocument.Validation.Issues(issueNumber)
      
     ' Delete the issues that belong to the vsoValidationRuleSet rule set.
     If vsoIssue.Rule.RuleSet Is vsoValidationRuleSet Then
         vsoIssue.Delete
     Else
        issueNumber = issueNumber + 1
     End If
     
 Next curIssue

Le code VBA suivant ajoute un problème, forme vsoShape sur la page vsoPage, à la règle existante vsoValidationRule de ciblage. Il part du principe que vsoValidationRule est un objet valide Visio.ValidationRule, vsoShape est un objet valide Visio.Shape et vsoPage est un objet valide Visio.Page.

' Add a custom issue to the vsoValidationRule validation rule and associate it with
' shape vsoShape on page vsoPage. 
Set vsoValidationIssue=vsoValidationRule.AddIssue(vsoPage, vsoShape)

Lors de la validation est déclenchée, Visio stocke la propriété ValidationIssue.Ignored pour tous les problèmes existants. À la fin de la validation, Visio rétablit cette propriété pour les problèmes qui existait lors de la validation a été déclenchée, y compris ceux qui ont été supprimé et réinséré dans le cadre du processus de validation. Visio utilise un problème d'associés à forme, page et la règle pour déterminer si le problème existait avant la validation, car son ID peut avoir changé. Cela signifie que les problèmes que vous supprimez et réinsérez dans la portée de gestion de l'événement RuleSetValidated conservent leurs valeurs ValidationIssue.Ignored précédentes.

À l'aide de l'API pour manipuler la fenêtre de problèmes

Dans le cadre de la validation de schéma, Visio ouvre la fenêtre de Problèmes s'il y a des problèmes dans le document. Ouvrir la fenêtre des Problèmes après les événements RuleSetValidated et ajouter de Visio et de code personnalisé s'affichent dans la fenêtre de Problèmes. Si vous voulez diriger les utilisateurs vers la fenêtre de Problèmes à d'autres moments, vous pouvez ouvrir et fermer la fenêtre de Problèmes à l'aide de l'API.

Le code VBA suivant vérifie s'il existe des problèmes de validation du document actif. S'il existe des problèmes de validation, il ouvre la fenêtre de Problèmes. Dans le cas contraire, il ferme la fenêtre de Problèmes.

Set vsoDocument = Visio.ActiveDocument
Set vsoWindow = vsoDocument.Application.ActiveWindow

' Display the Issues window if there is at least one validation issue.
    If vsoDocument.Validation.Issues.Count = 0 Then
        vsoWindow.Windows.ItemFromID(Visio.VisWinTypes.visWinIDValidationIssues).Visible = False
    Else
        vsoWindow.Windows.ItemFromID(Visio.VisWinTypes.visWinIDValidationIssues).Visible = True
    End If

Le code VBA suivant détermine le problème vsoValidationIssue qui est sélectionné dans la fenêtre de Problèmes. Notez qu'il est possible de sélectionner plusieurs problèmes. Dans ce cas, Visio renvoie le problème qui a le focus clavier ou, si aucun problème n'a le focus clavier, la première sélectionné de problème.

Set vsoIssuesWindow = Application.ActiveWindow.Windows.ItemFromID(Visio.VisWinTypes.visWinIDValidationIssues)
    
' Find the selected issue if the Issues window is visible.
    If vsoIssuesWindow.Visible Then
       Set vsoValidationIssue = vsoIssuesWindow.SelectedValidationIssue
    End If
    
 ' Check for the case when there are no validation issues selected.
    If vsoValidationIssue Is Nothing Then
        MsgBox "Please select an issue."
    End If

À l'aide de l'API pour valider un diagramme

Dans votre solution personnalisée, vous pouvez ajouter vos propres déclencheurs pour la validation de schéma. Par exemple, si vous avez une solution personnalisée qui a besoin d'une certaine structure de schéma pour fonctionner correctement, vous pouvez utiliser la validation de schéma pour vérifier cette structure et soulever les problèmes liés à l'utilisateur final.

La méthode Validation.Validate valide une règle de validation particulière définie (si spécifiée) et met à jour de la propriété Validation.LastValidatedDate. Elle déclenche également les événements RuleSetValidated associés avec les ensembles de règles de validation. Le tableau 7 présente les détails de la méthode Validation.Validate.

Le tableau 7. Détails de la méthode Validation.Validate

méthodes

Description de la méthode

Paramètre

Description du paramètre

Validation.Validate ([RuleSetAsValidationRuleSet], [FlagsAsVisValidationFlags])

Valide l'ensemble de règles de validation spécifié.

  • RuleSet (Facultatif)

  • Flags (Facultatif)

  • La règle à valider sur le document entier.

  • Indique s'il faut ouvrir la fenêtre de problèmes une fois la validation.

Le code VBA suivant valide tous les ensembles de règles dans le document et ouvre la fenêtre de problèmes.

' Validate the document.
Call Visio.ActiveDocument.Validation.Validate(,Visio.VisValidationFlags.visValidationDefault)

Notes

Lorsque vous développez une solution à l'aide de la fonctionnalité de validation de schéma, vous devez supposer que le document contient plusieurs ensembles de règles active. Vous devez également considérer qu'un utilisateur final peut utiliser l'interface utilisateur pour modifier les ensembles de règles sont actifs dans le document. Enfin, vous devez être conscient des informations dans la section suivante, et comment cela peut affecter vos résultats de validation.

Comment Visio 2010 gère les problèmes de validation

Pour des raisons de performances, Visio 2010 optimise le nombre de règles de validation qui sont recalculées lorsque la validation est déclenchée. Il enregistre qui pages ont été modifiés depuis la dernière validation et que, lors de la validation est déclenchée, il réévalue uniquement des règles sur les pages qui ont été modifiés. Lorsque vous rouvrez un document, modifiez des ensembles de règles de validation ou de règles ou effacez tous les problèmes existants, Visio marque l'ensemble du document modifié. Ces actions peuvent avoir un impact sur tous les problèmes de validation dans un document, afin de la réévaluation de toutes les règles est nécessaire. Par exemple, si vous fermez et rouvrez un document, il est possible que vous avez modifié le document en dehors de Visio 2010 susceptibles de modifier les résultats de validation.

Lors de la validation est déclenchée sur un document, Visio effectue les tâches suivantes :

  1. Visio supprime du document de chaque problème ciblant une page qui a été modifiée, y compris les problèmes qui ciblent des formes sur cette page. À mesure que Visio supprime ces problèmes, il enregistre la propriété ValidationIssue.Ignored pour chaque problème.

  2. Visio évalue les règles de validation par rapport aux pages modifiées et les formes sur les pages modifiées. Uniquement les ensembles de règles active sont utilisés lors de la validation. Si la validation a été déclenchée à l'aide de Validation.Validate avec un paramètre de jeu de règle spécifié, seul l'ensemble de la règle spécifiée est utilisée. À ce stade, si une règle associée à une de ces ensembles de règles contient une logique de validation stockée dans le document, Visio ajoute des problèmes associés au document.

  3. L'événement RuleSetValidated est déclenchée pour ces ensembles de règles. Des solutions personnalisées à l'écoute de l'événement RuleSetValidated associé à leur solution peuvent alors gérer leurs problèmes de validation.

  4. Visio rétablit la propriété ValidationIssue.Ignored des problèmes qui existait lors de la validation a été déclenchée, y compris ceux qui ont été supprimé et réinséré dans le cadre du processus de validation. Visio utilise le problème d'associés à forme, page et la règle pour déterminer si un problème existait avant la validation, car son ID peut avoir changé.

Important

Les optimisations de performances ci-dessus impliquent que les problèmes de validation qui ciblent des documents et problèmes de pages qui n'ont pas été changés, y compris les problèmes qui ciblent des formes sur ces pages, de ciblage ne sont pas régulièrement supprimés ou réévaluées pendant la validation. Il est judicieux de prendre en compte les conséquences de ce problème lorsque vous effectuez une des opérations suivantes :

  • Gestion des problèmes liés à une règle définie dans le code de la solution.

  • Appelant Validation.Validate avec une règle définie en tant que paramètre.

  • Création de règles qui ciblent le document.

Ces conditions sont décrites plus en détail dans les sections suivantes.

Gestion des problèmes liés à une règle de définir dans le code de la solution

Si vous êtes à l'aide de code de la solution pour écouter l'événement RuleSetValidated et puis Gestion des problèmes de base sur la logique de validation écrits dans du code personnalisé, que Visio supprimera potentiellement certains mais pas tout, des problèmes que vous gérez avant de déclencher l'événement RuleSetValidated. Lorsque vous détectez l'événement RuleSetValidated pour votre ensemble de règles, vous devez supprimer les autres problèmes liés à votre jeu avant reevaluating votre logique de validation et d'ajouter de nouveaux problèmes de règles. Le code pour supprimer les problèmes associés à un ensemble de règles particulier est fourni dans la section Méthodes de validation de schéma pour la gestion des problèmes.

L'appel de Validation.Validate à l'aide d'une règle de définir comme un paramètre

La méthode Validation.Validate vous permet d'utiliser un paramètre du jeu de règles pour spécifier un ensemble de règles à évaluer. Dans la plupart des cas, un utilisateur final peut avoir déjà déclenchée validation à l'aide de tous les jeux de règles active. Dans la mesure où Visio réévalue les règles uniquement sur les pages qui ont été modifiés depuis la dernière validation, vous devez effectuer les étapes suivantes pour vous assurer que tous les problèmes de toutes les pages sont mises à jour lors de la validation uniquement un sous-ensemble des ensembles de règles actif :

  1. Parcourir les ensembles de règles dans le document et définir que la propriété ValidationRuleSet.Enabled de la règle définit que vous voulez valider à True. Valeur à la propriété ValidationRuleSet.Enabled de tous les autres ensembles de règles False.

  2. Exécutez Validation.Validate. Si vous souhaitez valider un ensemble de règles unique, vous pouvez spécifier cette règle définie en tant que paramètre. Spécifiant le paramètre est facultatif, cependant, étant donné que le document doit être maintenant qu'une seule règle active défini. Si vous souhaitez que plus d'un ensemble de règles de validation, laissez le paramètre de jeu règle vide.

  3. Après que la validation est terminée, parcourir les ensembles de règles dans le document et définir la propriété ValidationRuleSet.Enabled de chaque règle ramené à sa valeur précédente.

Ces étapes garantissent que Visio exécute la validation sur toutes les pages, en utilisant uniquement le sous-ensemble souhaité d'ensembles de règles. La dernière étape retourne également que les ensembles de règles à leur état avant le déclenchement de validation.

Création de règles qui ciblant le document

Si vous créez une règle a une logique de validation stockée dans un document, le type de cible de cette règle doit être une forme ou une page. Lorsque vous stockez des règles de validation et leur logique de validation associé à un modèle Visio personnalisée, les règles qui ciblent le document sont recalculées que lorsque Visio marque l'ensemble du document modifié. Cela se produit lorsque le document est rouvert, les ensembles de règles de validation ou les règles sont modifiés ou tous les problèmes de validation sont effacées. Dans la mesure où ces actions ne sont pas fréquentes, un utilisateur peut corriger un problème qui ciblent ce type de règle et toujours voir le problème dans la fenêtre de Problèmes une fois la validation. Pour cette raison, vous ne devez pas créer les règles de validation qui ciblent le document, à moins que la logique de la règle est écrite dans le code solution. Lorsque vous gérez les problèmes de validation dans le code, vous pouvez réévaluer la règle de validation à votre discrétion.

Définition de filtre et les expressions de test

Lorsque vous validez un diagramme en appelant la méthode Validation.Validate ou en cliquant sur Vérifier le diagramme sous l'onglet Processus, Visio utilise automatiquement toute logique de validation stockée dans le document à détecter les erreurs. Cette logique de validation est exprimée dans les propriétés de ValidationRule.TestExpressionValidationRule.TargetType, ValidationRule.FilterExpression et.

Sur chaque objet de type TargetType d'écrire les chaînes TestExpression de FilterExpression et que les expressions Boolean peuvent être évaluées. Au cours de la validation d'une règle pour chaque objet du type cible, Visio utilise l'expression de filtre pour déterminer si l'objet doit satisfaire à la règle. Si l'expression de filtre a la valeur True, Visio utilise l'expression de test pour déterminer s'il faut générer un problème de l'objet. Si l'expression de filtre a la valeur False, Visio ne s'applique pas la règle à l'objet. Si l'expression test soit à False, Visio génère un problème de validation. Si l'expression test soit à True, aucun problème de validation n'est généré.

La syntaxe pour les valeurs de propriété de TestExpression et FilterExpression sont le même que celui d'une expression de la feuille ShapeSheet. Par exemple, NOT(IS1D()) étant une expression booléenne valide pour la feuille ShapeSheet d'une forme, «NOT(Is1D())» est un valide FilterExpression ou la valeur TestExpression pour une règle de validation a TargetType = Visio.VisRuleTargets.visRuleTargetShape.

Notes

Lorsque vous définissez les propriétés de TestExpression pour une règle et de FilterExpression, Visio ne vérifie pas la syntaxe de ces expressions. Les propriétés TestExpressionFilterExpression sont évaluées que lorsque vous exécutez la validation.

Au cours de la validation d'une règle pour chaque objet du type cible, si l'expression de filtre n'est pas une syntaxe correcte, Visio n'évalue pas l'expression de test et n'applique pas la règle à l'objet. Si l'expression de test n'est pas syntaxiquement correcte, l'évaluation de l'expression tombe en panne et Visio génère un problème de l'objet.

Une façon de générer un filtre de point de vue syntaxique incorrect ou expression de test doit inclure une cellule de feuille ShapeSheet dans l'expression, puis que vous appliquez cette expression pour un objet cible qui ne contient-elle pas de la cellule. Bien que la même cellule de feuille ShapeSheet n'existe pas pour tous les objets dans un diagramme, vous souhaiterez toujours vérifier la valeur de cette cellule dans la logique de validation. L'exemple suivant montre comment travailler avec les cellules de feuille ShapeSheet qui ne sont pas nécessairement exister pour tous les objets cibles.

Supposons que vous voulez vous assurer que le coût de tous les éléments est positif, et que le coût est stocké dans la cellule de feuille ShapeSheet dans Prop.coût. Vous devez décider si la règle de validation est interrompue lorsqu'un objet n'a sans aucun frais et construisez vos expressions de validation en conséquence. Si les éléments ne sont pas requis pour avoir un coût, utiliser dans Prop.coût dans l'expression de filtre ; dans ce cas, la règle de validation n'est pas appliquée à un élément sans la cellule. Par exemple, affectez l'expression de filtre "dans Prop.coût < 1» et l'expression de test à False.

Si les éléments doivent avoir un coût, utiliser dans Prop.coût que dans l'expression de test ; dans ce cas, Visio génère un problème lors de la cellule est manquante. Par exemple, affectez l'expression de filtre à True et l'expression de test à "dans Prop.coût > 0". Notez que, si vous utilisez dans Prop.coût dans les expressions de filtre et de test, la règle de validation n'est pas appliquée à un élément sans la cellule, car l'expression de filtre filtre les éléments de ce type.

Avec les fonctions standard de la feuille ShapeSheet, vous pouvez utiliser les fonctions de validation du schéma indiquées dans le tableau 8 dans une expression de filtre ou de test.

Le tableau 8. Fonctions de validation de diagramme spécialisé

fonction

Description

ROLE()

Retourne un entier qui indique le rôle de la forme :

{Élément = 0, le connecteur = 1, conteneur = 2, la légende = 4}

Si elle est appelée sur une page ou d'un document, cette propriété la renvoie # REF!.

ONLAYER (LayerName)

Cette propriété renvoie une valeur Boolean qui indique si la forme est un membre de la couche spécifiée.

Si elle est appelée sur une page, cette propriété renvoie une valeur Boolean qui indique si la couche existe dans la page.

Si elle est appelée sur un document, cette propriété la renvoie # REF!.

CONNECTEDSHAPES (Direction)

Retourne le jeu de formes, selon les critères Direction, qui sont connectés à la forme.

GLUEDSHAPES (Direction)

Retourne le jeu de formes, selon les critères Direction, qui sont collées à la forme.

CONTAINERMEMBERS()

Retourne le jeu de formes qui sont membres de la forme conteneur ou la liste, y compris les membres de conteneurs imbriqués.

LISTMEMBERS()

Retourne le jeu de formes qui sont membres de la forme de liste.

CALLOUTS()

Retourne le jeu de formes qui sont des repères sur la forme.

PARENTCONTAINERS()

Cette propriété renvoie l'ensemble de conteneurs auquel appartient la forme.

SHAPESONPAGE()

Retourne le jeu de formes de niveau supérieur sur la page. Si aucun spécificateur de page n'antérieure à la fonction, la page contenante de la forme est supposée.

AGGCOUNT(Set)

Compte le nombre de formes dans un jeu.

FILTERSET (Set, FilterExpression)

Retourne le sous-ensemble de formes dans un jeu qui correspondent à une expression.

ONBOUNDARYOF()

Retourne le jeu des conteneurs tels que la forme se trouve sur la limite de ces conteneurs.

Les fonctions d'expression de validation de schéma CONNECTEDSHAPES et GLUEDSHAPES correspondent aux fonctions API de Visio qui ont le même nom. De même, les valeurs possibles du paramètre d'entrée Direction CONNECTEDSHAPES et GLUEDSHAPES correspondent aux VisConnectedShapesFlags et énumérations VisGluedShapesFlags, respectivement.

Notes

Bien que toutes les fonctions de feuille ShapeSheet sont autorisées dans une logique de validation, vous devez éviter d'utiliser les fonctions de feuille ShapeSheet qui ont des effets secondaires. Les fonctions suivantes effectuent des actions lors de l'évaluation : CALLTHIS, DOOLEVERB, DEFAULTEVENT, DOCMD, GOTOPAGE, HELP, HYPERLINK, OPENFILE, GROUPWIN, OPENPAGE, OPENSHEETWIN, OPENTEXTWIN, PLAYSOUND, RUNADDON, RUNADDONWARGS, MACRO et SETF. Étant donné que vous ne pouvez pas prévoir le contexte dans lequel la validation est déclenchée, l'utilisation des fonctions qui effectuent une action peut entraîner des résultats inattendus.

En examinant les fonctions dans le tableau 8, notez que plusieurs des fonctions retournent des ensembles de formes. Notez également que AGGCOUNT et FILTERSET sont les seules fonctions qui acceptent un ensemble de formes en tant qu'entrée. Utilisez la stratégie générale suivante lorsque vous travaillez avec des fonctions qui impliquent des jeux :

  1. Démarrer avec la fonction qui retourne un jeu.

  2. Si nécessaire, appliquez la fonction FILTERSET pour filtrer l'ensemble de formes.

  3. Appliquer la fonction AGGCOUNT pour calculer le nombre d'éléments dans le jeu.

  4. Comparez le nombre d'éléments avec une taille attendue ou la plage de tailles pour obtenir une valeur Boolean.

La section suivante illustre cette stratégie avec deux exemples.

Filtre et des exemples d'expressions de test

Les exemples suivants d'expressions de filtre et le texte a été pris de l'ensemble de règles de diagramme de flux, l'ensemble de règles inclus dans les modèles de diagramme de flux simple, diagramme de flux fonctionnel croisé et Six Sigma Visio 2010.

Exemple 1: Vous souhaitez que d'une règle de validation qui vérifie que tous les connecteurs sont collées aux deux extrémités.

  1. Choisissez votre type de cible pour être des formes : Visio.VisRuleTargets.visRuleTargetShape.

  2. Pour limiter votre recherche aux formes de lien, définissez votre expression de filtre aux éléments suivants :
    "() ROLE = 1"

  3. Pour vérifier qu'un lien est collé aux deux extrémités, définissez votre expression de test à l'exemple suivant :
    "AND(AGGCOUNT(GLUEDSHAPES(4)) = 1, AGGCOUNT(GLUEDSHAPES(5)) = 1)"

Cet exemple utilise l'expression de filtre pour filtrer toutes les formes qui ne sont pas des connecteurs. L'expression test vérifie qu'il y a exactement une forme 2D collé au point de connexion entrante et une forme 2D collé au point de connexion sortante.

Exemple 2: Vous souhaitez que d'une règle de validation qui vérifie que, sur n'importe quelle page qui a au moins une ligne de sortie courrai, toutes les formes de diagramme de flux appartiennent à un couloir de natation.

  1. Choisissez votre type de cible sous forme de pages : Visio.VisRuleTargets.visRuleTargetPage.

  2. Pour limiter votre recherche aux pages qui ont des couloirs de natation, définissez votre expression de filtre aux éléments suivants :
    "AGGCOUNT(FILTERSET(SHAPESONPAGE(),"HASCATEGORY(""swimlane"")")) > 0"

  3. Pour vous assurer que toutes les formes de diagramme de flux appartiennent à un couloir courrai, définissez votre expression de test à la suivante :
    "AGGCOUNT(FILTERSET(SHAPESONPAGE(),
    " AND(OR(HASCATEGORY(""Flowchart""),ONLAYER(""Flowchart"")),
    AGGCOUNT(FILTERSET(PARENTCONTAINERS(),""HASCATEGORY(""""swimlane"""")""))=0)
    ")) = 0"

Cet exemple utilise l'expression de filtre pour filtrer toutes les pages qui n'ont pas d'au moins une forme Couloir. Pour chaque page du document, l'expression de filtre accepte toutes les formes sur la page et filtre les formes qui la contient " couloir ". Les pages d'intérêt pour cet exemple montre comment disposer au moins une forme remplit ce critère.

L'expression de test vérifie que toutes les formes de diagramme de flux appartiennent à un couloir de natation. Une forme de diagramme de flux est définie comme une forme qui appartient à la couche de diagramme de flux ou de la catégorie " Flowchart " d'a. La recherche d'expression de test à tous les formes sur la page et vous demande aux deux questions suivantes pour chaque forme :

  1. Est la forme à une forme d'organigramme ?

  2. La forme ne dispose d'aucun conteneurs parents qui sont des couloirs de natation ?

Elle additionne ensuite le nombre de formes répondre " Oui " à ces deux questions. Si la somme est différente de zéro, l'exemple a détecté la forme d'au moins un diagramme de flux qui ne figure pas dans un couloir de natation.

Notes

La liste des catégories appartenant à une forme s'affiche dans la cellule User.msvShapeCategories dans la feuille ShapeSheet de la forme. Vous pouvez définir plusieurs catégories pour une forme en séparant les catégories par des points-virgules. Par défaut, les diagrammes de flux fonctionnels croisés (CFFs) appartiennent à la catégorie " CFF conteneur " et les couloirs de natation individuel au sein d'un CFF appartiennent à la catégorie " couloir ".

Filtre et de tester les performances des expressions

Visio 2010 a implémenté un nombre d'optimisations pour réduire le temps nécessaire pour valider un diagramme, mais mal écrits règles entraîne de ralentissement des performances. Les règles de validation TargetType = Visio.VisRuleTargets.visRuleTargetShape sont plus exposés de ralentissement de la validation, car ils peuvent potentiellement être évaluées une seule fois pour toutes les formes du document.

Il est généralement déconseillé d'utiliser la fonction SHAPESONPAGE dans une règle de validation que formes cibles. La fonction SHAPESONPAGE calcule le jeu de toutes les formes sur la page, un calcul est linéaire dans le nombre de formes sur la page. Si cette fonction est appelée pour toutes les formes sur la page, le temps de calcul total est exponentiel du nombre de formes sur la page.

En cas de doute, vous devez tester les performances de la validation d'une règle sur les types de diagrammes destinés à utiliser avec l'ensemble de règles. En règle générale, étant donné une règle particulière, les performances de la validation de cette règle sont basé en particulier sur le nombre de formes dans le diagramme et le nombre de problèmes générés.

Validation de schéma XML

Les règles de validation, les ensembles de règles et les problèmes associés à un diagramme sont stockés dans le fichier. Vous pouvez examiner les informations stockées par l'enregistrement du fichier avec les règles de validation en tant que dessin XML (*.vdx) et en ouvrant le fichier XML de dessin dans un éditeur XML. Une recherche pour la validation du mot clé entraîner le code XML lié à la validation de schéma. Figure 9 présente une section de code XML pour l'ensemble de règles de diagramme de flux.

La figure 9. XML de validation de schéma à partir du modèle Diagramme de flux simple

XML de validation du modèle de l'organigramme de base

Notez que la valeur de chaque règle dans le diagramme de flux de règle contient une expression RuleFilter et RuleTest. Ces expressions de deux règles de jeu correspondent une aux FilterExpression et aux propriétés TestExpression, respectivement, de l'objet ValidationRule dans l'API. Vous pouvez visualiser de nombreux exemples d'expressions RuleFilter et RuleTest dans les ensembles de règles diagramme de flux et BPMN inclus dans les modèles de diagramme de flux simple et BPMN Visio.

Si vous enregistrez un diagramme de flux de travail de SharePoint Microsoft en tant que dessin XML (*.vdx) et que vous ouvrez le dessin dans un éditeur XML de XML, vous verrez qu'aucune logique ne se trouve dans les expressions RuleFilter et RuleTest. Dans ce cas, la solution contient le code qui inclut la logique de validation. Écoute de la solution de flux de travail SharePoint pour l'événement RuleSetValidated de flux de travail SharePoint et, lorsque cet événement se produit, il recherche sur le diagramme pour déterminer s'il existe des problèmes.

La figure 10. XML de validation de schéma à partir du modèle de flux de travail de Microsoft SharePoint

XML de modèle de flux de travail Microsoft SharePoint

Bien que vous pouvez modifier les propriétés de la validation de schéma directement dans le fichier XML, il est conseillé pour manipuler les propriétés de la validation de schéma dans l'API de validation de schéma.

Vous trouverez plus d'informations sur la Visio 2010 XSD, y compris les éléments de la validation, dans le Visio 2010 XML Schema Reference.

Conclusion

Cet article explique comment utiliser la fonctionnalité de validation de schéma disponible dans Microsoft Visio Premium 2010. À l'aide de cette fonctionnalité, vous pouvez facilement détecter et afficher les problèmes de création de diagramme spécifiés par les ensembles de règles de validation. La plupart des diagrammes ont une structure qui leur logique, il existe de nombreuses opportunités pour créer vos propres jeux de règles de validation personnalisée et des règles et étendre les fonctionnalités intégrées de la fonctionnalité de validation de schéma. Cette extensibilité permet aux entreprises de développer des règles de validation personnalisées pour garantir le respect de certaines normes de création de diagrammes et autorise les fournisseurs de solutions de tiers développer leurs offres de solutions.

ressources supplémentaires

Pour plus d'informations sur la validation de schéma dans Visio Premium 2010, consultez les ressources suivantes :

Notes

Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.