Bagikan melalui


Pemetaan Nilai Functoid vs Pemetaan Nilai (Meratakan) Referensi Functoid

 

Functoid Pemetaan Nilai dan Pemetaan Nilai (Meratakan) mengubah data di antara format pesan yang berbeda. Ini berguna saat mengubah pesan yang tidak diratakan menjadi pesan yang diratakan atau saat menggunakan functoid Logis untuk membagi pesan sumber menjadi elemen yang berbeda dalam pesan target.

Topik ini menunjukkan cara memetakan pesan yang tidak diratakan ke dalam pesan yang diratakan dengan menggunakan tiga skema berbeda (tercantum di bawah) yang menentukan pesan yang berisi informasi tentang produk.

  • Katalog

  • FlattenedCatalog

  • Katalog Terklasifikasi

Menggunakan Pemetaan Nilai Functoid

Dalam skenario ini, FlattenedCatalog adalah skema sumber dan CategorizedCatalog adalah skema tujuan. Sekarang, petakan pesan FlattenedCatalog yang diratakan ke dalam pesan CategorizedCatalog yang diratakan menggunakan Functoid Pemetaan Nilai dan Pembuatan Skrip . Gambar berikut menunjukkan pemetaan dari skema FlattenedCatalog ke skema CategorizedCatalog.

ValueMappingFunctoid

Konfigurasikan functoid dengan parameter input yang diinginkan; konfigurasikan functoid Scripting (S1, S2, dan S3) sebagai berikut. Selain itu, atur properti TestMap Input Instance ke file XML input yang sesuai.

Skrip untuk S1 adalah sebagai berikut:

public bool IsPetProduct(string SKU)  
{  
     return SKU.StartsWith("88");  
}  

Skrip untuk S2 adalah sebagai berikut:

public bool IsGroovyProduct(string SKU)  
{  
     return SKU.StartsWith("89");  
}  
  

Skrip untuk S3 adalah sebagai berikut:

public bool IsOtherProduct(string SKU)  
{  
     return !IsGroovyProduct(SKU) && !IsPetProduct(SKU);  
}  

File input seperti di bawah ini:

<ns0:FlattenedCatalog xmlns:ns0="http://ValueMappingFunctoid">  
  <Product Name="Stapler" SKU="1929383" Price="5.95" />   
  <Product Name="Tape" SKU="6433400" Price="3.50" />   
  <Product Name="Disco Ball" SKU="8900230" Price="49.99" />   
  <Product Name="Thumbtack" SKU="7002399" Price="0.01" />   
  <Product Name="Solar-Powered Pet Groomer" SKU="8802222" Price="229.15" />   
  </ns0:FlattenedCatalog>  
  

Setelah menjalankan operasi peta pengujian, Anda mendapatkan output berikut:

<ns0:CategorizedCatalog xmlns:ns0="http://ValueMapping">  
  <PetProduct Name="Solar-Powered Pet Groomer" SKU="8802222" Price="229.15" />   
  <GroovyProduct Name="Disco Ball" SKU="8900230" Price="49.99" />   
  <OfficeProduct Name="Stapler" SKU="1929383" Price="5.95" />   
  <OfficeProduct Name="Tape" SKU="6433400" Price="3.50" />   
  <OfficeProduct Name="Thumbtack" SKU="7002399" Price="0.01" />   
  </ns0:CategorizedCatalog>  

Menggunakan Pemetaan Nilai (Meratakan) Functoid

Dalam skenario ini, Katalog adalah skema sumber dan FlattenedCatalog adalah skema tujuan. Sekarang, petakan pesan Katalog yang tidak diratakan ke dalam pesan FlattenedCatalog yang diratakan menggunakan Pemetaan Nilai (Meratakan) dan Funktoid logis . Gambar berikut menunjukkan pemetaan dari skema Katalog ke skema FlattenedCatalog.

Pemetaan Nilai (Meratakan)

Konfigurasikan functoid dengan parameter input yang diinginkan, dan atur juga properti Instans Input TestMap ke file input (XML) masing-masing.

Nota

Parameter input pertama dari setiap Functoid Equal adalah tautan masuknya. Konfigurasikan parameter input kedua untuk E1, E2, dan E3 sebagai nama konstanta, SKU, dan Harga, masing-masing.

File input seperti di bawah ini:

<ns0:Catalog xmlns:ns0="http://ValueMappingFunctoid">  
  <Product>  
  <Field Name="Name" Value="Stapler" />   
  <Field Name="SKU" Value="1929383" />   
  <Field Name="Price" Value="5.95" />   
  </Product>  
  <Product>  
  <Field Name="Name" Value="Tape" />   
  <Field Name="SKU" Value="6433400" />   
  <Field Name="Price" Value="3.50" />   
  </Product>  
  <Product>  
  <Field Name="Name" Value="Disco Ball" />   
  <Field Name="SKU" Value="8900230" />   
  <Field Name="Price" Value="49.99" />   
  </Product>  
  </ns0:Catalog>  

Setelah menjalankan operasi peta pengujian, Anda mendapatkan output berikut:

<ns0:FlattenedCatalog xmlns:ns0="http://ValueMappingFunctoid">  
  <Product Name="Stapler" SKU="1929383" Price="5.95" />   
  <Product Name="Tape" SKU="6433400" Price="3.50" />   
  <Product Name="Disco Ball" SKU="8900230" Price="49.99" />   
  </ns0:FlattenedCatalog>  

Lihat Juga

Functoid Pemetaan Nilai
Pemetaan Nilai (Meratakan) Functoid