PIP 文書フロー・パッケージの作成

RosettaNet では PIP を随時追加しているため、これらの新しい PIP をサポートできるように、または PIP のアップグレードをサポートできるように、独自の PIP パッケージを作成しなければならない場合があります。特に明記されていない限り、このセクションでは、PIP 5C4 V01.03.00 の PIP 文書フロー・パッケージの作成手順について説明します。Business Integration Connect が提供しているのは PIP 5C4 V01.02.00 の PIP 文書フロー・パッケージであるため、実際にはアップグレード方法について説明しています。ただし、PIP 文書フロー・パッケージの作成手順は同様であり、追加ステップについては手順内で示しています。

始める前に、www.rosettanet.org から新しいバージョンの PIP 仕様をダウンロードします。アップグレードを実行する場合は、古いバージョンもダウンロードします。例えば、この手順に記載されたアップグレードを実行する場合は、5C4_DistributeRegistrationStatus_V01_03_00.zip および 5C4_DistributeRegistrationStatus_V01_02_00.zip をダウンロードします。仕様には次のファイル・タイプが含まれます。

PIP 文書フロー・パッケージを作成またはアップグレードする手順では、以下の作業を行います。

XSD ファイルの作成

PIP 文書フロー・パッケージには、メッセージ・フォーマットおよびエレメントの許容値を定義する XML スキーマ・ファイルが含まれます。次の手順では、PIP 仕様ファイルの内容に基づいてこれらのファイルを作成する方法について説明します。

PIP 仕様ファイル内の DTD ファイルごとに、XSD ファイルを少なくとも 1 つ作成します。PIP 5C4 V01.03.00 ではメッセージ・フォーマットが変更されているため、このバージョンにアップグレードする例では、BCG_5C4RegistrationStatusNotification_V01.03.xsd ファイルの作成方法を例として示します。XSD ファイルの詳細については、検証の概要を参照してください。

PIP 文書フロー・パッケージの XSD ファイルを作成するには、以下の手順を実行します。

  1. DTD ファイルを WebSphere Studio Application Developer などの XML エディターにインポートまたはロードします。例えば、5C4_MS_V01_03_RegistrationStatusNotification.dtd ファイルをロードします。
  2. XML エディターを使用して、DTD を XML スキーマに変換します。ここでは、Application Developer を使用した変換方法について説明します。
    1. XML パースペクティブの「ナビゲーション」ペインで、インポートされた DTD ファイルを含むプロジェクトを開きます。
    2. DTD ファイルを右クリックし、「生成」 > 「XML スキーマ」を選択します。
    3. 「生成」パネルで、新しい XSD ファイルを保存する場所を入力するか、または選択します。「ファイル名」フィールドに新しい XSD ファイルの名前を入力します。この例の場合は、BCG_5C4RegistrationStatusNotification_V01.03.xsd のような名前を入力します。「完了」をクリックします。
  3. 新しい XSD ファイルに仕様を追加して、RosettaNet XML ガイドライン内で複数のカーディナリティー値を持つエレメントを補正します。ガイドラインでは、メッセージ内のエレメントはツリー形式で示され、エレメントの左側に各エレメントのカーディナリティーが表示されます。




    一般に、ガイドライン内のエレメントは、DTD ファイル内のエレメントの定義と一致します。ただし、ガイドラインには、名前が同じであってもカーディナリティーが異なるエレメントが含まれる場合があります。この場合、DTD はカーディナリティーを提供できないため、XSD を変更する必要があります。例えば、5C4_MG_V01_03_00_RegistrationStatusNotification.htm ガイドライン・ファイルでは、次のカーディナリティーを持つ 5 つの子エレメントを含む ContactInformation が 15 行目で定義されています。

    1 contactName

    0..1 EmailAddress

    0..1 facsimileNumber

    0..1 PhysicalLocation

    0..1 telephoneNumber

    150 行目の ContactInformation 定義には、次のカーディナリティーを持つ 4 つの子エレメントが含まれます。

    1 contactName

    1 EmailAddress

    0..1 facsimileNumber

    1 telephoneNumber

    ただし、XSD ファイルの ContactInformation のそれぞれの子には、両方の定義に適合するカーディナリティーが 1 つ含まれます。

    <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>
     

    別のバージョンのパッケージに基づいて PIP 文書フロー・パッケージを更新し、別のバージョンの定義を再利用する場合は、各定義に対して以下の手順を実行します。

    1. エレメントの定義を削除します。例えば、ContactInformation エレメントを削除します。
    2. 置き換えるバージョンの PIP 文書フロー・パッケージを開きます。例えば、BCG_Package_RNIFV02.00_5C4V01.02.zip ファイルを開きます。
    3. 再利用する定義を検索します。例えば、BCG_ContactInformation_Types.xsd ファイル内の ContactInformation_type7 定義は、ガイドラインの 15 行目に必要な定義と一致します。
      <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>
       
    4. 更新された PIP 文書フロー・パッケージ用に作成している新しい XSD ファイル内に、再利用する定義を含む XSD ファイルへの参照を作成します。例えば、次のように、BCG_5C4RegistrationStatusNotification_V01.03.xsd ファイル内に BCG_ContactInformation_Types.xsd への参照を作成します。

      <xsd:include schemaLocation="BCG_ContactInformation_Types.xsd"/>

    5. 新しい XSD ファイル内で、削除したエレメントを参照するすべてのエレメントの ref 属性を削除します。再利用する定義を参照する type 属性を追加します。例えば、productProviderFieldApplicationEngineer エレメント内で ref="Contact Information" を削除し、以下を追加します。
      name="ContactInformation
       type="ContactInformation_type7"
       

    PIP 文書フロー・パッケージを作成する場合、または PIP 文書フロー・パッケージをアップグレードする際に、使用する定義が別のバージョン内に存在しない場合は、ガイドライン内のエレメントのインスタンスごとに以下の手順を実行します。

    1. エレメントの定義を削除します。例えば、ContactInformation エレメントを削除します。
    2. 置き換える定義を作成します。例えば、ガイドラインの 15 行目の定義と一致する ContactInformation_localType1 定義を作成します。
      <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>
       
    3. 削除されたエレメントを参照するすべてのエレメントについて、ref 属性を削除し、上記ステップで定義した適切な複合タイプを参照する type 属性を追加します。例えば、productProviderFieldApplicationEngineer エレメント内で ref="Contact Information" を削除し、以下を追加します。
      name="ContactInformation
       type="ContactInformation_localType1"
       

      変更前の productProviderFieldApplicationEngineer エレメント:

      <xsd:element name="productProviderFieldApplicationEngineer">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element ref="ContactInformation"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       

      変更後の productProviderFieldApplicationEngineer エレメント:

      <xsd:element name="productProviderFieldApplicationEngineer">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element name="ContactInformation"
                 type="ContactInformation_localType1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       
  4. 特定の値のみを設定できるエレメントの列挙値を指定します。列挙値は、ガイドラインの『ガイドライン情報 (Guideline Information)』セクションの表に記載されています。例えば、GlobalRegistrationComplexityLevelCode には以下のテーブルがあります。




    したがって、PIP 5C4 V01.03.00 メッセージの GlobalRegistrationComplexityLegelCode では、「Above average」、「Average」、「Maximum」、「Minimum」、「None」、および「Some」の値のみが有効です。

    別のバージョンのパッケージに基づいて PIP 文書フロー・パッケージを更新し、別のバージョンの列挙値セットを再利用する場合は、セットごとに以下の手順を実行します。

    1. エレメントの定義を削除します。例えば、GlobalRegistrationComplexityLevelCode エレメントを削除します。
    2. 置き換えるバージョンの PIP 文書フロー・パッケージを開きます。例えば、BCG_Package_RNIFV02.00_5C4V01.02.zip ファイルを開きます。
    3. 再利用する列挙値を含む定義を検索します。例えば、BCG_GlobalRegistrationComplexityLevelCode.xsd ファイル内の GlobalRegistrationComplexityLevelCode 定義には、Entity Instance テーブルで定義された列挙値の定義が含まれています。
      <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>
       
    4. 更新された PIP 文書フロー・パッケージ用に作成している新しい XSD ファイル内に、再利用する定義を含む XSD ファイルへの参照を作成します。例えば、次のように、BCG_5C4RegistrationStatusNotification_V01.03.xsd ファイル内に BCG_GlobalRegistrationComplexityLevelCode.xsd への参照を作成します。
      <xsd:include schemaLocation=
           "BCG_GlobalRegistrationComplexityLevelCode_Types.xsd" />
       
    5. 新しい XSD ファイル内で、削除したエレメントを参照するすべてのエレメントの ref 属性を削除します。再利用する定義を参照する type 属性を追加します。例えば、DesignAssemblyInformation エレメント内で ref="GlobalRegistrationComplexityLevelCode" を削除し、以下を追加します。
      name="GlobalRegistrationComplexityLevelCode"
       type="_GlobalRegistrationComplexityLevelCode"
       

    PIP 文書フロー・パッケージを作成する場合、または PIP 文書フロー・パッケージをアップグレードする際に、必要な列挙値の定義が別のバージョン内に存在しない場合は、ガイドライン内の列挙値を持つすべてのエレメントに対して以下の手順を実行します。

    1. エレメントの定義を削除します。例えば、GlobalRegistrationComplexityLegelCode エレメントを削除します。
    2. 置き換える定義を作成します。例えば、GlobalRegistrationComplexityLegelCode_localType 定義を作成し、テーブルに記載されている列挙値の定義を追加します。
      <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>
       
    3. 削除されたエレメントを参照するすべてのエレメントについて、ref 属性を削除し、上記ステップで定義した適切な複合タイプを参照する type 属性を追加します。例えば、ref="GlobalRegistrationComplexityLevelCode" を削除し、以下を追加します。
      name="GlobalRegistrationComplexityLevelCode"
       type="GlobalRegistrationComplexityLevelCode_localType"
       

      変更前の DesignAssemblyInformation エレメント:

      <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>
       

      変更後の DesignAssemblyInformation エレメント:

      <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>
       
  5. データ・エンティティーのデータ型、最小長、最大長、および表現を設定します。RosettaNet XML メッセージ・ガイドラインでは、次の図のような Fundamental Business Data Entities テーブルにこの情報が記載されています。




    別のバージョンのパッケージに基づいて PIP 文書フロー・パッケージを更新し、別のバージョンのデータ・エンティティー定義を再利用する場合は、セットごとに以下の手順を実行します。

    1. データ・エンティティー・エレメントの定義を削除します。例えば、DateStamp エレメントを削除します。
    2. 置き換えるバージョンの PIP 文書フロー・パッケージを開きます。例えば、BCG_Package_RNIFV02.00_5C4V01.02.zip ファイルを開きます。
    3. 再利用する定義を検索します。例えば、BCG_common.xsd ファイル内の _common_DateStamp_R 定義には、ガイドラインで指定された情報に適合する次の定義が含まれます。
      <xsd:simpleType name="_common_DateStamp_R">
         <xsd:restriction base="xsd:string">
           <xsd:pattern value="[0-9]{8}Z" />
         </xsd:restriction>
       </xsd:simpleType>
       
    4. 更新された PIP 文書フロー・パッケージ用に作成している新しい XSD ファイル内に、再利用する定義を含む XSD ファイルへの参照を作成します。例えば、次のように、BCG_5C4RegistrationStatusNotification_V01.03.xsd ファイル内で BCG_common.xsd への参照を作成します。
      <xsd:include schemaLocation="BCG_common.xsd" />
       
    5. 新しい XSD ファイル内で、削除したエレメントを参照するすべてのエレメントの ref 属性を削除します。再利用する定義を参照する type 属性を追加します。例えば、DesignAssemblyInformation エレメント内で ref="DateStamp" を削除し、以下を追加します。
      name="DateStamp" type="_common_DateStamp_R"
       

    PIP 文書フロー・パッケージを作成する場合、または PIP 文書フロー・パッケージをアップグレードする際に、必要なデータ・エンティティー定義が別のバージョン内に存在しない場合は、データ・エンティティー・エレメントごとに以下の手順を実行します。

    1. エレメントの定義を削除します。例えば、DateStamp エレメントを削除します。
    2. 置き換える定義を作成します。例えば、データ型、最小長、最大長、および表現情報を使用して、DateStamp_localType 定義を作成します。
      <xsd:simpleType name="DateStamp_localType">
         <xsd:restriction base="xsd:string">
           <xsd:pattern value="[0-9]{8}Z" />
         </xsd:restriction>
       </xsd:simpleType>
       
    3. 削除されたエレメントを参照するすべてのエレメントについて、ref 属性を削除し、上記ステップで定義した適切な複合タイプを参照する type 属性を追加します。例えば、ref="DateStamp" を削除し、以下を追加します。
      name="DateStamp" type="DateStamp_localType"
       

      変更前の beginDate エレメント:

      <xsd:element name="beginDate">
         <xsd:complexType">
           <xsd:sequence>
             <xsd:element ref="DateStamp"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       

      変更後 beginDate エレメント:

      <xsd:element name="beginDate">
         <xsd:complexType">
           <xsd:sequence>
             <xsd:element name="DateStamp" type="DateStamp_localType"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
       

XML ファイルの作成

PIP 文書フロー・パッケージ用の XSD ファイルを作成すると、RNIF パッケージ用の XML ファイル、およびバックエンド統合パッケージ用の XML ファイルを作成できるようになります。例えば、BCG_RNIFV02.00_5C4V01.03.zip および BCG_RNSC1.0_RNIFV02.00_5C4V01.03.zip というパッケージをそれぞれ作成できます。以下に、RNIF パッケージ用の XML ファイルを作成する手順を示します。

  1. RNIF PIP 文書フロー・パッケージ・ファイルから XML ファイルを抽出します。アップグレードする場合は、BCG_Package_RNIFV02.00_5C4V01.02.zip などの古いバージョンのパッケージからファイルを抽出します。新しいパッケージを作成する場合は、作成しようとしているパッケージと類似した PIP 文書フロー・パッケージからファイルを抽出します。例えば、2 アクション PIP をサポートするパッケージを作成する場合は、別の 2 アクション PIP パッケージから XMLファイルをコピーします。
  2. ファイルをコピーし、RNIFV02.00_5C4V01.03.xml などの適切な名前に変更します。
  3. 新しいファイル内で、PIP に関する情報を含むエレメントを更新します。次の表に、5C4 PIP での更新に必要な情報の例を示します。この情報はファイル内に複数存在することがあります。その場合は、すべてのインスタンスを更新する必要があることに注意してください。

    表 8. 5C4 PIP 更新情報
    変更する情報 古い値 新しい値

    PIP ID

    5C4

    5C4

    PIP のバージョン

    V01.02

    V01.03

    ファイル拡張子を含まない要求メッセージ DTD ファイルの名前

    5C4_MS_V01_02_

    RegistrationStatusNotification

    5C4_MS_V01_03_

    RegistrationStatusNotification

    ファイル拡張子を含まない確認メッセージ DTD ファイルの名前 (2 アクション PIP の場合のみ)

    なし

    なし

    ファイル拡張子を含まない要求メッセージ XSD ファイルの名前

    BCG_5C4RegistrationStatusNotification_

    V01.02

    BCG_5C4RegistrationStatusNotification_

    V01.03

    ファイル拡張子を含まない確認メッセージ XSD ファイルの名前 (2 アクション PIP の場合のみ)

    なし

    なし

    要求メッセージに対する XSD ファイルのルート・エレメント名

    Pip5C4RegistrationStatusNotification

    Pip5C4RegistrationStatusNotification

    確認メッセージに対する XSD ファイルのルート・エレメント名 (2 アクション PIP の場合のみ)

    なし

    なし

  4. PIP 仕様文書を開き、これを使用して次の表に記載された情報を更新します。これらの値は更新しなくてもよい場合があるため、更新する場合は各バージョンの仕様を比較してください。

    表 9. PIP 仕様の 5C4 PIP 更新情報
    更新する情報 説明 5C4 パッケージの値

    アクティビティー名

    表 3-2 で指定

    配布登録状況

    イニシエーターの役割名

    表 3-1 で指定

    製品プロバイダー

    応答者の役割名

    表 3-1 で指定

    要求作成者

    要求アクション名

    表 4-2 で指定

    登録状況通知

    確認アクション名

    表 4-2 で指定 (2 アクション PIP の場合のみ)

    なし

  5. パッケージ属性値を更新します。これらの値は更新しなくてもよい場合があるため、更新する場合は各バージョンの仕様を比較してください。

    表 10. 5C4 PIP 属性の更新
    更新する情報 説明 5C4 パッケージの値 XML ファイルのエレメント・パス

    NonRepudiationRequired

    表 3-3 で指定

    N

    ns1:Package

    ns1:Protocol

    ns1:Process

    ns1:Attribute (ATTRIBUTEKEY は NonRepudiationRequired)

    ns1:AttributeValue

    AttributePickListItem

    ATTRVALUEKEY

    NonRepudiationOfReceipt

    表 3-3 で指定

    N

    ns1:Package

    ns1:Protocol

    ns1:Process

    ns1:Attribute (ATTRIBUTEKEY は NonRepudiationOfReceipt)

    ns1:AttributeValue

    AttributePickListItem

    ATTRVALUEKEY

    DigitalSignatureRequired

    表 5-1 で指定

    Y

    ns1:Package

    ns1:Protocol

    ns1:Process

    ns1:Attribute (ATTRIBUTEKEY は DigitalSignatureRequired)

    ns1:AttributeValue

    AttributePickListItem

    ATTRVALUEKEY

    TimeToAcknowledge

    表 3-3 で指定

    2

    (120 分)

    ns1:Package

    ns1:Protocol

    ns1:Process

    ns1:Attribute (ATTRIBUTEKEY は TimeToAcknowledge)

    ns1:AttributeValue

    ATTRVALUE

    TimeToPerform

    表 3-3 で指定

    2

    (120 分)

    ns1:Package

    ns1:Protocol

    ns1:Process

    ns1:Attribute (ATTRIBUTEKEY は TimeToPerform)

    ns1:AttributeValue

    ATTRVALUE

    RetryCount

    表 3-3 で指定

    3

    ns1:Package

    ns1:Protocol

    ns1:Process

    ns1:Attribute (ATTRIBUTEKEY は RetryCount)

    ns1:AttributeValue

    ATTRVALUE

  6. ns1:Package/ns1:Protocol/GuidelineMap エレメントを更新して、未使用の XSD ファイルを削除し、BCG_common.xsd に関する下記の例のように、作成または参照したすべての XSD ファイルを追加します。

バックエンド統合パッケージを作成するには、次の点を除いて、上記手順を繰り返します。

XML および XSD ファイルを作成すると、PIP 文書フロー・パッケージを作成できるようになります。

パッケージの作成

RNIF パッケージを作成するには、以下の手順を実行します。

  1. GuidelineMaps ディレクトリーを作成し、このディレクトリーにパッケージの XSD ファイルをコピーします。
  2. Packages ディレクトリーを作成し、このディレクトリーに RNIF XML ファイルをコピーします。
  3. 親ディレクトリーに移動して、GuidelineMaps および Packages ディレクトリーを含む PIP 文書フロー・パッケージ (ZIP ファイル) を作成します。ZIP ファイル内ではディレクトリー構造を保持する必要があります。

バックエンド統合パッケージを作成するには、RNIF ファイルの代わりにバックエンド統合 XML フィルを使用して、上記の手順を実行します。

PIP パッケージを作成すると、RNIF パッケージのアップロード手順に従って、PIP パッケージをアップロードできまるようになります。

Copyright IBM Corp. 1997, 2004