Promotion des propriétés
La promotion des propriétés implique la promotion des nœuds Field Element ou Field Attribute dans un schéma en tant que Champs distingués ou Champs de propriété. Vous pouvez également promouvoir des nœuds d’enregistrement en tant que champs de propriété s’ils ont du contenu simple (propriété Type de contenu du nœud Record définie sur SimpleContent). Cette section fournit des instructions pas à pas pour la promotion des nœuds en tant que champs distingués ou champs de propriété.
Pour promouvoir un enregistrement (avec un contenu simple), un élément Field ou un nœud Attribut de champ en tant que champ de propriété, vous pouvez d’abord définir un type spécial de schéma appelé schéma de propriété. Les schémas de propriété définissent un ensemble non structuré de nœuds Field Element dans lesquels vous promouvez les nœuds Record (avec un contenu simple), Field Element ou Field Attribute . Pour obtenir des instructions pas à pas sur la création d’un schéma de propriété, consultez How to Create Property Schemas.
Vous pouvez également utiliser la fonctionnalité Promotion rapide , qui crée et met à jour automatiquement un schéma de propriété unique chaque fois que vous faites la promotion d’un nouvel élément Field, d’un attribut de champ ou d’un nœud Enregistrement (avec du contenu simple).
Notes
Vous pouvez promouvoir un champ en tant que champ distingué et champ de propriété.
Notes
La fonctionnalité Promotion rapide modifie le schéma de propriété en insérant une nouvelle propriété portant le nom du nœud promu.
Important
Ne déplacez pas et ne renommez pas un champ dans le schéma une fois que vous l'avez promu. Lorsque vous déplacez ou renommez un champ de schéma, l'Éditeur BizTalk ne met pas à jour le XPath définissant l'emplacement du champ promu.
Types de données XSD et CLR
Dans certaines phases comme celle de la promotion de propriété, les types de données XSD sont promues vers des types de données Common Language Runtime (CLR). Le tableau suivant répertorie les types de données XSD qui peuvent être promus et les types de données CLR correspondants.
Type de données XSD | Type de données CLR |
---|---|
anyURI | Chaîne |
Booléen | Booléen |
Byte | sbyte |
Date | DateTime |
dateTime | DateTime |
Decimal | Decimal |
Double | Double |
ENTITY | String |
Float | Unique |
gDay | DateTime |
gMonth | DateTime |
gMonthDay | DateTime |
gYear | DateTime |
gYearMonth | DateTime |
id | String |
IDREF | String |
Int | Int32 |
Integer | Decimal |
Langage | String |
Nom | String |
NCName | String |
negativeInteger | Decimal |
NMTOKEN | String |
nonNegativeInteger | Decimal |
nonPositiveInteger | Decimal |
normalizedString | String |
NOTATION | String |
positiveInteger | Decimal |
QName | String |
Court | Int16 |
String | String |
Temps | DateTime |
Jeton | String |
unsignedByte | Byte |
unsignedInt | UInt32 |
unsignedShort | UInt16 |
Notes
Les types de données XSD base64Binary, duration, ENTITES, hexBinary, IDREFS, long, NMTOKENS et unsignedLong ne permettent pas la promotion.
Restrictions liées à la promotion des propriétés
Lorsque vous promouvez des propriétés, prenez en compte les éléments suivants :
Les propriétés promues sont limitées à 256 caractères alors que les propriétés écrites n'ont aucune limitation de longueur.
Les propriétés promues sont utilisées dans le routage des messages et sont limitées en taille pour des raisons d'efficacité des tâches de comparaison et de stockage. Si les propriétés écrites n'ont aucune limite de taille, l'utilisation de valeurs excessivement grandes dans le contexte a un impact sur les performances car ces valeurs doivent quand même être traitées et transmises avec le message. Les champs distinctifs sont des exemples de propriétés écrites.
Les nœuds d’enregistrement ne peuvent jamais être promus en tant que champs distingués.
Les propriétés promues sont limitées à des éléments/attributs non répétés.
N'effectuez pas la promotion de champs appartenant au même nœud racine vers la même propriété. Ce type de promotion génère des erreurs de compilation ou de déploiement.
Au sein d'un contexte de message, certaines propriétés ne sont pas disponibles car elles ne sont pas promues (par exemple, la propriété BTS.ReceiveLocationName). Si vous pouvez ajouter un nouveau schéma de propriété ou projet BizTalk Server à votre développement, il est possible d'accéder à cette propriété à partir d'une orchestration.
Les valeurs de propriété sont identifiées par l'espace de noms cible et le nom de la propriété. L'exemple suivant illustre l'accès à l'emplacement de réception dans le code.
string receiveLocationName = pInMsg.Context.Read("ReceiveLocationName", sysNamespace);