Because RosettaNet adds PIPs from time to time, you might need to create your own PIP packages to support these new PIPs or to support upgrades to PIPs. Except where noted, the procedures in this section describe how to create the PIP document flow package for PIP 5C4 V01.03.00. Business Integration Connect supplies a PIP document flow package for PIP 5C4 V01.02.00 so the procedures actually document how to perform an upgrade. However, creating a PIP document flow package is similar and the procedures identify any additional steps.
Before you begin, download the PIP specifications from www.rosettanet.org for the new version, and if you are performing an upgrade, the old version. For example, if you are performing the upgrade described in the procedures, download 5C4_DistributeRegistrationStatus_V01_03_00.zip and 5C4_DistributeRegistrationStatus_V01_02_00.zip. The specification includes the following file types:
Creating or upgrading a PIP document flow package involves the following procedures:
A PIP document flow package contains XML schema files that define message formats and acceptable values for elements. The following procedure describes how to create these files based on the contents of the PIP specification file.
You create at least one XSD file for each DTD file in the PIP specification file. For the example of upgrading to PIP 5C4 V01.03.00, because the message format changed, the procedure describes how to create the BCG_5C4RegistrationStatusNotification_V01.03.xsd file as an example. For information on the XSD files, see About validation.
To create the XSD files for the PIP document flow package, do the following:
Generally, the elements in the guidelines match the definitions of the elements in the DTD file. However, the guidelines might contain some elements that have the same names but different cardinalities. Because the DTD cannot provide the cardinality in this case, you need to modify the XSD. For example, the 5C4_MG_V01_03_00_RegistrationStatusNotification.htm guidelines file has a definition for ContactInformation on line 15 that has five child elements with the following cardinalities:
The ContactInformation definition on the line 150 has four child elements with the following cardinalities:
In the XSD file, however, each child of ContactInformation has a cardinality that complies with both definitions:
<xsd:element name="ContactInformation"> <xsd:complexType> <xsd:sequence> <xsd:element ref="contactName"/> <xsd:element maxOccurs="1" minOccurs="0" ref="EmailAddress"/> <xsd:element maxOccurs="1" minOccurs="0" ref="facsimileNumber"/> <xsd:element maxOccurs="1" minOccurs="0" ref="PhysicalLocation"/> <xsd:element maxOccurs="1" minOccurs="0" ref="telephoneNumber"/> </xsd:sequence> </xsd:complexType> </xsd:element>
If you are updating the PIP document flow package based of another version of the package and want to reuse a definition from the other version, do the following for each of these definitions:
<xsd:complexType name="ContactInformation_type7"> <xsd:sequence> <xsd:element name="contactName" type="common_FreeFormText_R"/> <xsd:element name="EmailAddress" type="common_EmailAddres_R" minOccurs="0"/> <xsd:element name="facsimileNumber" type="common_CommunicationsNumber_R" minOccurs="0"/> <xsd:element name="PhysicalLocation" type="PhysicalLocation_type1" minOccurs="0" /> <xsd:element name="telephoneNumber" type="common_CommunicationsNumber_R minOccurs="0" /> </xsd:sequence> </xsd:complexType>
<xsd:include schemaLocation="BCG_ContactInformation_Types.xsd"/>
name="ContactInformation type="ContactInformation_type7"
If you are creating a PIP document flow package, or are upgrading a PIP document flow package but the definition you need does not exist in the other version, do the following for each instance of the element you found in the guidelines:
<xsd:complexType name="ContactInformation_localType1"> <xsd:sequence> <xsd:element ref="contactName"/> <xsd:element maxOccurs="1" minOccurs="0" ref="EmailAddress"/> <xsd:element maxOccurs="1" minOccurs="0" ref="facsimileNumber"/> <xsd:element maxOccurs="1" minOccurs="0" ref="PhysicalLocation"/> <xsd:element maxOccurs="1" minOccurs="0" ref="telephoneNumber"/> </xsd:sequence> </xsd:complexType>
name="ContactInformation
type="ContactInformation_localType1"
Element productProviderFieldApplicationEngineer before modification
<xsd:element name="productProviderFieldApplicationEngineer">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="ContactInformation"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Element productProviderFieldApplicationEngineer after modification
<xsd:element name="productProviderFieldApplicationEngineer">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ContactInformation"
type="ContactInformation_localType1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Therefore, in a PIP 5C4 V01.03.00 message, the GlobalRegistrationComplexityLegelCode can only have the following values: Above average, Average, Maximum, Minimum, None and Some.
If you are updating the PIP document flow package based on another version of the package and want to reuse a set of enumeration values from the other version, do the following for each set:
<xsd:simpleType name="_GlobalRegistrationComplexityLevelCode"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Above average"/> <xsd:enumeration value="Average"/> <xsd:enumeration value="Maximum"/> <xsd:enumeration value="Minimum"/> <xsd:enumeration value="None"/> <xsd:enumeration value="Some"/> </xsd:restriction> </xsd:simpleType>
<xsd:include schemaLocation= "BCG_GlobalRegistrationComplexityLevelCode_Types.xsd" />
name="GlobalRegistrationComplexityLevelCode"
type="_GlobalRegistrationComplexityLevelCode"
If you are creating a PIP document flow package or are upgrading a PIP document flow package but the enumeration value definitions you need do not exist in the other version, do the following for any element with enumerated values in the guidelines:
<xsd:simpleType name="GlobalRegistrationComplexityLevelCode_localType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Above average"/> <xsd:enumeration value="Average"/> <xsd:enumeration value="Maximum"/> <xsd:enumeration value="Minimum"/> <xsd:enumeration value="None"/> <xsd:enumeration value="Some"/> </xsd:restriction> </xsd:simpleType>
name="GlobalRegistrationComplexityLevelCode" type="GlobalRegistrationComplexityLevelCode_localType"
Element DesignAssemblyInformation before modification
<xsd:element name="DesignAssemblyInformation">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0"
ref="assemblyComments"/>
<xsd:element maxOccurs="1" minOccurs="0"
ref="demandCreatorTrackingIdentifier"/>
<xsd:element maxOccurs="unbounded" minOccurs="0"
ref="DesignPartInformation"/>
<xsd:element ref="DesignRegistrationIdentification"/>
<xsd:element maxOccurs="1" minOccurs="0"
ref="GeographicRegion"/>
<xsd:element maxOccurs="1" minOccurs="0"
ref="GlobalRegistrationComplexityLevelCode"/>
<xsd:element maxOccurs="1" minOccurs="0"
ref="GlobalRegistrationInvolvementLevelCode"/>
<xsd:element maxOccurs="1" minOccurs="0"
ref="RegistrationStatus"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Element DesignAssemblyInformation after modification
<xsd:element name="DesignAssemblyInformation">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0"
ref="assemblyComments"/>
<xsd:element maxOccurs="1" minOccurs="0"
ref="demandCreatorTrackingIdentifier"/>
<xsd:element maxOccurs="unbounded" minOccurs="0"
ref="DesignPartInformation"/>
<xsd:element ref="DesignRegistrationIdentification"/>
<xsd:element maxOccurs="1" minOccurs="0"
ref="GeographicRegion"/>
<xsd:element maxOccurs="1" minOccurs="0"
name="GlobalRegistrationComplexityLevelCode"
type="GlobalRegistrationComplexityLevelCode_localType"/>
<xsd:element maxOccurs="1" minOccurs="0"
ref="GlobalRegistrationInvolvementLevelCode"/>
<xsd:element maxOccurs="1" minOccurs="0"
ref="RegistrationStatus"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
If you are updating the PIP document flow package based on another version of the package and want to reuse a data entity definition from the other version, do the following for each set:
<xsd:simpleType name="_common_DateStamp_R"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9]{8}Z" /> </xsd:restriction> </xsd:simpleType>
<xsd:include schemaLocation="BCG_common.xsd" />
name="DateStamp" type="_common_DateStamp_R"
If you are creating a PIP document flow package or are upgrading a PIP document flow package but the data entity definition you need does not exist in the other version, do the following for each data entity element:
<xsd:simpleType name="DateStamp_localType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9]{8}Z" /> </xsd:restriction> </xsd:simpleType>
name="DateStamp" type="DateStamp_localType"
Element beginDate before modification
<xsd:element name="beginDate">
<xsd:complexType">
<xsd:sequence>
<xsd:element ref="DateStamp"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Element beginDate after modification
<xsd:element name="beginDate">
<xsd:complexType">
<xsd:sequence>
<xsd:element name="DateStamp" type="DateStamp_localType"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
After you have created the XSD files for your PIP document flow package, you are ready to create the XML file for the RNIF package and the XML file for the Backend Integration package. For example, these packages are called BCG_RNIFV02.00_5C4V01.03.zip and BCG_RNSC1.0_RNIFV02.00_5C4V01.03.zip respectively. The following procedure describes how to create the XML file for the RNIF package:
Information to change | Old value | New value |
PIP ID |
5C4 |
5C4 |
Version of the PIP |
V01.02 |
V01.03 |
The name of the request message DTD file without the file extension |
5C4_MS_V01_02_
|
5C4_MS_V01_03_
|
The name of the confirmation message DTD file without the file extension (for two-action PIPs only) |
N/A |
N/A |
The name of the request message XSD file without the file extension |
BCG_5C4RegistrationStatusNotification_
|
BCG_5C4RegistrationStatusNotification_
|
The name of the confirmation message XSD file without the file extension (for two-action PIPs only) |
N/A |
N/A |
Root element name in the XSD file for the request message |
Pip5C4RegistrationStatusNotification |
Pip5C4RegistrationStatusNotification |
Root element name in the XSD file for the confirmation message (for two-action PIPs only) |
N/A |
N/A |
Information to update | Description | Value in the 5C4 package |
Activity name |
Specified in Table 3-2 |
Distribute Registration Status |
Initiator role name |
Specified in Table 3-1 |
Product Provider |
Responder role name |
Specified in Table 3-1 |
Demand Creator |
Request action name |
Specified in Table 4-2 |
Registration Status Notification |
Confirmation action name |
Specified in Table 4-2 (for two-action PIPs only) |
N/A |
Information to update | Description | Value in the 5C4 package | Element path in the XML file |
NonRepudiationRequired |
Specified in Table 3-3 |
N |
ns1:Package
|
NonRepudiationOfReceipt |
Specified in Table 3-3 |
N |
ns1:Package
|
DigitalSignatureRequired |
Specified in Table 5-1 |
Y |
ns1:Package
|
TimeToAcknowledge |
Specified in Table 3-3 |
2
|
ns1:Package
|
TimeToPerform |
Specified in Table 3-3 |
2
|
ns1:Package
|
RetryCount |
Specified in Table 3-3 |
3 |
ns1:Package
|
To create the Backend Integration package, repeat the above procedure except for the following differences:
After you have created the XML and the XSD files, you are ready to create the PIP documentation flow packages.
To create the RNIF package, do the following:
To create the Backend Integration package, perform the above procedure but use the Backend Integration XML file instead of the RNIF file.
After you have created the PIP package, you can upload it using the procedure in Uploading RNIF packages.