フラット化ストラクチャーの命名
フラット化マップを作成すると、フラット化された出力ストラクチャーが生成され、そのエレメントは入力ストラクチャーに基づいて命名されます。
ストラクチャー内で名前が重複している場合は、さまざまな方法で出力エレメント名を生成できます。
重複するエレメントを命名
フラット化された出力ストラクチャーが生成される場合、入力ストラクチャー全体で一意の名前を持つエレメントはすべて、出力でも同じ名前を保ちます。ただし、重複がある場合は、エレメントを区別するため、次のようにプレフィックスまたはサフィックスが追加されます:
- 重複するエレメント名が同じ親エレメント内にある場合は、重複するすべてのエレメント名に数字のサフィックスが付加されます。たとえばitemという子を2つ持つorderエレメントが入力ストラクチャーに含まれている場合、出力ではこれらはitem_1とitem_2という名前になります。
- 重複するエレメントが異なる親エレメントの中にある場合は、重複するすべての名前に親エレメント名がプレフィックスとして追加されます。たとえばshippingとbillingの両方にaddressエレメントがある場合、出力ではshipping_addressとbilling_addressという名前になります。
- エレメントを区別するうえで上記のステップが十分でない場合は、一意名が見つかるまで親エレメントをさらに追加します。上の例では、addressエレメントの両方のインスタンスがzipcodeエレメントを含んでいる場合、これらのエレメントは出力ではshipping_address_zipcodeとbilling_address_zipcodeという名前になります。
最大長を超えるエレメント名を切り詰め
デフォルトでは、フラット化マップでの出力エレメント名の最大長は128文字です。これはマップ作成時にカスタマイズできます。
エレメント名がこの制限を超えると、次の規則に基づいて切り詰められます:
- 名前はセグメントで切り詰められます。セグメントは入力エレメントの名前であり、親がある場合は名前に追加されます。数字や4文字未満のセグメントは切り詰められません。
- 名前は、一番長いセグメントから右から左へと一文字ずつ減らされていきます。
たとえば最大長を30とすると、customer_billing_address_zipcodeという名前のエレメントはcustom_billing_address_zipcodeに切り詰められます。
エレメント名が最大長に収まるように切り詰められない場合は、フラット化処理の最後に警告が表示されます。