WebSphere Partner Gateway 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 regroupement de flot de documents PIP, WebSphere Partner Gateway 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. Dans le cas contraire, voir Création de regroupements 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 regroupement 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é de BCG_5C4RegistrationStatusNotification_V01.02.xsd :
<xsd:element name="GeographicRegion" type="GeographicRegionType"
minOccurs="0"/>
Si WebSphere Partner Gateway 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 "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 :
<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 doivent être des chaînes de 1 à 6 caractères.
<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 doivent être des chaînes de neuf caractères de données numériques, suivis de un à quatre caractères de données alphanumériques. La longueur est donc de 10 à 13 caractères.
<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 _DayofMonth d'un message doivent être des entiers positifs (PositiveInteger), comporter un ou deux caractères et faire partie de l'intervalle 1 à 31, bornes incluses.
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>
Les éléments de type _local_GlobalDesignRegistrationNotificationCode d'un message ne peuvent prendre que les valeurs "Initial" ou "Update".