Business Integration Connect valide le contenu de service d'un message RosettaNet à l'aide de mappes de validation. Ces mappes définissent la structure d'un message valide, ainsi que la cardinalité, le format et les valeurs valides (énumération) des éléments contenus dans le message. Dans chaque module de flot de documents PIP, Business Integration Connect fournit les mappes de validation sous forme de fichiers XSD dans le répertoire GuidelineMaps.
Etant donné que RosettaNet spécifie le format d'un message PIP, il ne sera en principe pas nécessaire de personnaliser les mappes de validation. Cependant, dans le cas contraire, voir Création de modules de flot de documents PIP pour plus d'informations sur les étapes nécessaires pour mettre à niveau les fichiers XSD servant à valider les messages et sur la création d'un module de flot de documents PIP.
La cardinalité détermine combien de fois un élément particulier peut ou doit figurer dans un message. Dans les mappes de validation, les attributs minOccurs et maxOccurs déterminent la cardinalité de l'attribut, comme l'illustre l'exemple suivant tiré du fichier BCG_5C4RegistrationStatusNotification_V01.02.xsd) :
<xsd:element name="GeographicRegion" type="GeographicRegionType" minOccurs="0"/>
Si Business Integration Connect n'a pas besoin de vérifier la cardinalité d'un élément, les valeurs des attributs minOccurs et maxOccurs de cet élément dans la mappe de validation sont respectivement "0" et "unbounded", comme indiqué dans l'exemple suivant :
<xsd:element name="DesignRegistrationIdentification" type="DesignRegistrationIdentificationType2" minOccurs="0" maxOccurs="unbounded"/>
Le format détermine la disposition ou l'organisation des données pour le type d'un élément. Dans les mappes de validation, le type comporte une ou plusieurs restrictions, comme indiqué dans les exemples suivants :
Exemple 1 :
<xsd:simpleType name="_common_LineNumber_R"> <xsd:restriction base="xsd:string"> <xsd:minLength value="1" /> <xsd:maxLength value="6" /> </xsd:restriction> </xsd:simpleType>
Tous les éléments de type _common_LineNumber_R dans un message doit être des chaînes et doivent comporter de 1 à 6 caractères.
Exemple 2 :
<xsd:simpleType name="_GlobalLocationIdentifier"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9]{9}.{1,4}" /> </xsd:restriction> </xsd:simpleType>
Tous les éléments de type _GlobalLocationIdentifier dans un message doit être des chaînes et doivent comporter neuf caractères de données numériques, suivis de un à quatre caractères de données alphanumériques. La longueur minimale est donc de 10 caractères et la maximale, de 13.
Exemple 3 :
<xsd:element name="DayOfMonth"> <xsd:simpleType> <xsd:restriction base="xsd:positiveInteger"> <xsd:totalDigits value="2" /> <xsd:minInclusive value="1" /> <xsd:maxInclusive value="31" /> </xsd:restriction> </xsd:simpleType> </xsd:element>
Tous les éléments de type _GlobalLocationIdentifier dans un message doit être des entiers positifs (PositiveInteger) et doivent comporter un ou deux caractères, leur valeur étant comprise entre 1 et 31 inclus.
L'énumération détermine les valeurs valides pour un élément. Dans les mappes de validation, le type de l'élément comporte une ou plusieurs restrictions d'énumération, comme indiqué dans l'exemple suivant :
<xsd:simpleType name="_local_GlobalDesignRegistrationNotificationCode"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Initial" /> <xsd:enumeration value="Update" /> </xsd:restriction> </xsd:simpleType>
Tous les éléments de type _local_GlobalDesignRegistrationNotificationCode dans un message doit être exclusivement de valeur "Initial" ou "Update".