Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: Azure Logic Apps (Standart)
Mantıksal uygulama iş akışında farklı XML veya JSON biçimleri kullanan iletiler aldığınızda, verileri kaynak biçimden hedef biçime dönüştürmeyi veya dönüştürmeyi (örneğin, XML belgeleri arasında veya JSON belgeleri arasında) belirtmeniz gerekir. Bu görev özellikle kaynak ve hedef şemalardaki veri yapıları arasında boşluklar olduğunda önemlidir. Şema, XML veya JSON belgesindeki veri öğelerini, öznitelikleri ve veri türlerini açıklar.
Veri yapıları arasında dönüşümleri tanımlamak ve boşlukları kapatmak için, kaynak ve hedef şemalardaki veri öğeleri arasındaki ilişkileri belirten bir eşleme (.xslt dosyası) oluşturabilirsiniz. Standart mantıksal uygulama projesi bağlamında Azure Logic Apps (Standart) uzantısıyla Visual Studio Code kullanarak görsel olarak harita oluşturabilir veya düzenleyebilirsiniz. Veri Eşleyici aracı, sürükle ve bırak hareketlerini, ifade oluşturmak için önceden oluşturulmuş işlevleri ve iş akışlarınızda kullanmadan önce eşlemeleri el ile test etmenin bir yolunu kullanarak eşleme ve dönüştürme için birleşik bir deneyim sağlar.
Haritanızı oluşturduktan sonra, bu eşlemeyi mantıksal uygulama projenizdeki bir iş akışından veya Azure portalındaki Standart mantıksal uygulama iş akışından doğrudan çağırabilirsiniz. Bu görev için, iş akışınızda Veri Eşleyici XSLT kullanarak Dönüştür adlı Veri Eşleyici İşlemleri eylemini kullanabilirsiniz.
Bu nasıl yapılır kılavuzu boş bir veri eşlemesi oluşturmayı, kaynak ve hedef şemalarınızı seçmeyi, şema öğeleri arasında çeşitli türlerde eşlemeler oluşturmayı, eşlemenizi kaydedip test etmeyi ve ardından mantıksal uygulama projenizdeki bir iş akışından eşlemeyi çağırmayı gösterir.
Sınırlamalar ve bilinen sorunlar
Veri Eşleyici şu anda yalnızca Visual Studio Code'da kullanılabilir; Azure portalında değil, yalnızca Standart mantıksal uygulama projelerinde kullanılabilir, Tüketim mantıksal uygulama projelerinde kullanılamaz.
Veri Eşleyicisi için ön uç deneyimi , Azure Logic Apps ekibinin genel GitHub deposunda açık kaynak olarak kullanılabilir. Daha fazla bilgi için aşağıdaki kaynaklara bakın:
Veri Eşleyicisi şu anda yalnızca Windows işletim sistemlerinde çalışan Visual Studio Code'da çalışır.
Veri Eşleyici şu anda virgülle ayrılmış değerler (.csv) dosya biçimini kullanan şemaları desteklememektedir.
Veri Eşleyici'deki Kod bölmesi şu anda salt okunur durumdadır.
Veri eşleyici yüzeyinde, işlevlerin düzeni ve konumları taşınabilir, ancak şema düğümleri statiktir.
Filter işlevi, ">=10" gibi çift tırnak içine alınmış sayısal koşulları doğru işler. Ancak, bu işlev şu anda bir öğe adının "= 'Kalem' olup olmadığını denetleme gibi dize karşılaştırmaları için tutarlı bir şekilde davranmıyor.
Kaynak ve hedef şemalardaki üst dizi öğeleri arasında eşleme oluşturduğunuzda, eşleyici otomatik olarak dizi öğesi öğeleri arasında yinelemek için bir döngü ekler. Ancak, yine de kaynak ve hedef dizi öğesi öğeleri arasında açıkça eşlemeler oluşturmanız gerekir.
Veri Eşleyicisi ile oluşturulan eşlemeleri çağırmak için yalnızca Veri Eşleyici XSLT kullanarak Dönüştür adlı Veri Eşleyici İşlemleri eylemini kullanabilirsiniz. Başka bir araç tarafından oluşturulan eşlemeler için, XML'yi Dönüştür adlı XML İşlemleri eylemini kullanın.
Veri Eşleyici ile oluşturduğunuz eşlemeleri Azure portalındaki iş akışlarıyla kullanmak için bunları doğrudan Standart mantıksal uygulama kaynağınıza eklemeniz gerekir.
Engelleyici olmayan hatalar veya özellik istekleri için, Azure Logic Apps ekibi için GitHub deposunda Veri Eşleyici etiketine sahip bir öğe açın.
Önkoşullar
Bir Azure hesabı ve aboneliği Aboneliğiniz yoksa, ücretsiz bir Azure hesabı için kaydolun.
-
Not
Eskiden ayrı olan Veri Eşleyici uzantısı artık Azure Logic Apps (Standart) uzantısıyla birleştirildi. Çakışmaları önlemek için, Azure Logic Apps (Standart) uzantısını yüklediğinizde veya güncelleştirdiğinizde Veri Eşleyici uzantısının mevcut sürümleri kaldırılır. Uzantı yüklendikten veya güncelleştirildikten sonra lütfen Visual Studio Code'u yeniden başlatın.
Dönüştürülecek veri türlerini açıklayan kaynak ve hedef şema dosyaları. Bu dosyalar aşağıdaki biçimlerden birini içerebilir:
.xsd dosya uzantısına sahip bir XML şema tanımı dosyası
.json dosya uzantısına sahip bir JavaScript Nesne Gösterimi dosyası
En azından tetikleyici içeren durum bilgisi olan veya durum bilgisi olmayan bir iş akışı içeren Standart mantıksal uygulama projesi. Projeniz yoksa Visual Studio Code'da şu adımları izleyin:
Henüz yapmadıysanız Azure hesabınıza bağlanın.
Yerel bir klasör, Standart mantıksal uygulama çalışma alanı ve projesi ve durum bilgisi olan veya olmayan bir iş akışı oluşturun. İş akışı oluşturma sırasında Geçerli pencerede aç'ı seçin.
Haritayı test etmek ve dönüşümün beklediğiniz gibi çalışıp çalışmadığını denetlemek istiyorsanız örnek giriş verileri.
Veri eşlemesi oluşturma
Visual Studio Code'da Standart mantıksal uygulama projenizin klasörünü açın.
Visual Studio Code sol menüsünde Azure simgesini seçin.
Azure penceresinde, Veri Eşleyicisi'nin altında Veri eşlemesi oluştur'u seçin.
Visual Studio Code başlık çubuğunda, haritanız için bir ad girebilmeniz için bir istem kutusu açılır.
Bilgi istemi kutusuna harita için bir ad girin.
Bu kılavuz için bu adımlarda Example-data-map adı kullanılır.
Veri Eşleyicisi boş bir veri eşlemesi oluşturur ve açar.
Aşağıdaki adımları izleyerek kaynak ve hedef şemalarınızı seçin:
Kaynak bölmesinde Yeni Gözat ekle'yi>seçerek kaynak şemanızı bulun ve karşıya yükleyin.
Kaynak şemanızı ekledikten sonra, Kaynak bölmesi kaynak şemadaki veri türleri için "düğümler" XML öğesiyle doldurulur, örneğin:
Hedef bölmesinde Yeni Gözat ekle'yi>seçerek hedef şemanızı bulun ve karşıya yükleyin.
Hedef şemanızı ekledikten sonra Hedef bölmesi, hedef şemadaki veri türleri için "düğümler" XML öğesiyle doldurulur, örneğin:
İpucu
Şemalarınızı yüklerken sorunlarla karşılaşırsanız, kaynak ve hedef şema dosyalarınızı mantıksal uygulama projenizin yerel Artifacts Şemaları/ klasörüne ekleyebilirsiniz. Bu senaryoda, Veri Eşleyicisi'nde kaynak ve hedef şemanızı belirtmek için, Kaynak ve Hedef bölmelerinde Yeni ekle'yi kullanmak yerine Var olanı seçin listesini açın ve şemanızı seçin.
Şema veri türleri
Aşağıdaki tabloda, şemada görünebilecek olası veri türleri açıklanmaktadır:
| Simge | Tür | Daha fazla bilgi |
|---|---|---|
|
|
Karmaşık (Dizi) | Öğeleri veya yinelenen öğe düğümlerini içerir. Bir dizi öğesi de aşağıdaki bağlantı noktasını görüntüler:
|
|
|
Boole | Yalnızca doğru veya yanlış |
|
|
Karmaşık | Nesne JSON türüne benzer alt özelliklere sahip bir XML nesnesi |
|
|
Tarih ve Saat | |
|
|
Ondalık | |
|
|
Tamsayı | Yalnızca tam sayılar |
|
|
Dize |
Öğeler arasında doğrudan eşleme oluşturma
Kaynak ve hedef şemalarda aynı türe sahip öğeler arasında basit bir dönüştürme belirtmek için şu adımları izleyin:
Eşlemeyi oluştururken kodda neler olduğunu görüntülemek için eşleyicinin sağ üst köşesinde Kodu görüntüle'yi seçin.
Eşleyici yüzeyinde, Kaynak bölmesinde, eşlemek istediğiniz kaynak öğeyi bulun.
Varsayılan olarak, üst öğeler alt öğelerini gösterecek şekilde otomatik olarak genişletilir.
Bu örnek kaynak öğeden eşlemeyi başlatır, ancak hedef öğeden eşlemeyi başlatmayı seçebilirsiniz.
fare işaretçinizi, işaretçi artı işaretine (+ ) değişene kadar kaynak öğe adının yanındaki dairenin üzerinde hareket ettirin.
Bu örnek, Çalışan Kimliği kaynak öğesinden başlayarak bir eşleme oluşturur.
Kaynak öğenin Hedef bölmesindeki hedef öğe için daireye bağlanması için bir çizgi sürükleyin ve çizin.
Bu örnek, kaynak öğeyle aynı veri türüne sahip kimlik hedef öğesiyle eşlemeyi tamamlar.
Şimdi aynı veri türlerine sahip her iki öğe arasında doğrudan eşleme oluşturdunuz.
Kod bölmesi, oluşturduğunuz eşleme ilişkisini gösterir:
İpucu
Eşlemelerinizde sorun olup olmadığını denetlemek için Sorunları görüntüle'yi seçin. Örneğin, eşleşmeyen veri türlerine sahip öğeler arasında eşleme oluşturursanız, Uyarılar sekmesindeki Sorunlar listesinde bir uyarı görüntülenir:
Öğeler arasında karmaşık bir eşleme oluşturma
Kaynak ve hedef şemalardaki öğeler arasında, örneğin birleştirmek istediğiniz veya farklı veri türlerine sahip olan öğeler arasında daha karmaşık bir dönüştürme belirtmek için, eşlemenizde istediğiniz dönüşümü gerçekleştiren bir veya daha fazla işlev kullanabilirsiniz.
Eşleştirici yüzeyinde işlev etiketi, işlev grubuna göre renk kodludur. İşlev adının yanında işlevin simgesi görüntülenir, örneğin:
Aşağıdaki tabloda işlev grupları ve kullanabileceğiniz bazı örnek işlevler listelenmektedir. Listenin tamamı için Veri Eşleyicisi'ndeki İşlevler listesine bakın.
| Gruplandırma | Örnek işlevler |
|---|---|
| Koleksiyon | Ortalama, Sayım, Doğrudan Erişim, Benzersiz değerler, Filtre, Dizin, Birleştirme, Maksimum, Minimum, Ters, Sıralama, Alt Sıra, Toplam |
| Dönüşüm | Bugüne, Tamsayıya, Sayıya, Dizeye |
| Tarih ve saat | Gün, Geçerli Tarih, Geçerli Saat, Eşittir Tarihi Ekle |
| Mantıksal karşılaştırma | Eşittir, Var, Büyük, Büyük veya eşittir, Eğer, Değilse, Sıfır, Null, Sayı, Dize, Az, Küçük veya Eşit, Mantıksal VE, Mantıksal DEĞİl, Mantıksal VEYA Eşit Değil |
| Matematik | Absolute, Add, Arctangent, Ceiling, Cosine, Divide, Üstel, Üstel (taban 10), Floor, Integer Divide, Log, Log (base 10), Module, Çarpma, Güç, Yuvarlak, Sinüs, Kare Kök, Çıkarma, Tanjant |
| Dize | Dizeye Kod Noktaları, Ara Karakter, İçerir, İle Biter, Uzunluk, Küçük Harf, Ad, Normal İfade Eşleşmeleri, Normal İfade Değiştirme, Değiştir, Şununla Başlar, Kod Noktalarına Dize, Alt Dize, Alt Dize sonra, Alt Dize öncesi, Kırp, Sola Kırp, Sağa Kırp, Büyük Harf |
| Yardımcı | Kopyalama, Hata, XPath Yürütme, Tarih Saat Biçimlendir, Sayı Biçimlendir, XSLT Çalıştır |
Eşleme olmadan işlev ekleme
Bu bölümdeki örnek, kaynak öğedeki verileri String'den hedef öğe türü olan DateTime'a dönüştürür. Örnek, önce eşleme oluşturmadan başlar ve tek bir girişi kabul eden To Date işlevini kullanır.
Eşlemeyi oluştururken kodda neler olduğunu görüntülemek için eşleyicinin sağ üst köşesinde Kodu görüntüle'yi seçin.
İşlevler listesinde, kullanmak istediğiniz işlevi bulun ve seçin. Bu işlev, işlevi eşleyici yüzeyine ekler. İşlevler listesi daraltılmışsa, eşleyicinin sol üst köşesinde işlev simgesini (
) seçin.Bu örnek, Dönüştürme işlevi grubunda yer alan To Date işlevini seçer.
Not
Eşlemede eşleme yoksa veya eşlemeye işlev eklediğinizde bir eşleme seçiliyse işlev görünür ancak herhangi bir öğeye veya başka işleve bağlı değildir, örneğin:
İşlevi kaynak ve hedef öğelere bağlayın.
Kaynak öğeyle işlevin sol kenarındaki daire arasına bir çizgi sürükleyin ve çizin. Kaynak öğeden veya işlevden başlayabilirsiniz.
İşlevin sağ kenarıyla hedef öğesi arasında bir çizgi sürükleyin ve çizin. Hedef öğeden veya işlevden başlayabilirsiniz.
Kod bölmesi, oluşturduğunuz eşleme ilişkisini gösterir:
Eşleştirici yüzeyinde işlev şeklini seçerek işlev ayrıntılarını görüntüleyin.
Giriş sekmesinde, kullanılacak girişi onaylayın veya düzenleyin.
Bazı senaryolar, anında kaynak ve hedef öğe çiftinin ötesinde bir dönüştürme tanımlamayı gerektirir. Örneğin, bir dizi çifti ile öğeleri arasında bir dönüşüm tanımlamak için diziler arasında bir döngü oluşturmanız gerekir. Veya bir öğenin değeri bir koşulu karşıladığında bir görev gerçekleştirmek için öğeler arasına bir koşul eklemeniz gerekir.
Birden çok giriş kullanan bir işlev ekleme
Bu bölümdeki örnek, birden çok kaynak öğeyi giriş olarak birleştirir ve tek bir çıkışı hedef öğeye eşler. Örnek, birden çok girişi kabul eden Concat işlevini kullanır.
Eşlemeyi oluştururken kodda neler olduğunu görüntülemek için eşleyicinin sağ üst köşesinde Kodu görüntüle'yi seçin.
İşlevler listesinde, kullanmak istediğiniz işlevi bulun ve seçin. Bu işlev, işlevi eşleyici yüzeyine ekler.
İşlevler listesi daraltılmışsa, eşleyicinin sol üst köşesinde işlev simgesini (
) seçin.Bu örnek, String işlev grubunda yer alan Concat işlevini seçer.
Not
Eşlemede eşleme yoksa veya eşlemeye işlev eklediğinizde bir eşleme seçiliyse işlev görünür ancak herhangi bir öğeye veya başka işleve bağlı değildir, örneğin:
Eşleştirici yüzeyinde işlev şeklini seçerek işlev ayrıntılarını görüntüleyin.
Giriş sekmesinde, giriş olarak kullanılacak kaynak şema öğelerini seçin.
Bu örnek, işlev girişi olarak FirstName ve LastName kaynak şema öğelerini seçer. Eşleyici, kaynak öğelerle işlev arasında ilgili eşlemeleri otomatik olarak ekler.
Eşlemeyi tamamlamak için, işlevin sağ kenarıyla hedef öğesi arasında bir çizgi sürükleyin ve çizin. Hedef öğeden veya işlevden başlayabilirsiniz.
Kod bölmesi, oluşturduğunuz eşleme ilişkilerini gösterir:
Diziler arasında yineleme
Kaynak ve hedef şemalarınız dizi içeriyorsa, dizi öğelerini yinelemek için bir döngü oluşturabilirsiniz. Bu bölümdeki örnek, bir Çalışan kaynak dizisi ve Bir Kişi hedef dizisi ile dizilerin öğeleri arasındaki eşlemeler arasında bir döngü oluşturur.
Eşlemeyi oluştururken kodda neler olduğunu görüntülemek için eşleyicinin sağ üst köşesinde Kodu görüntüle'yi seçin.
Eşleyici yüzeyinde, Kaynak ve Hedef bölmelerinde eşlemek istediğiniz dizileri bulun.
Dizi öğeleri çifti arasında bir çizgi sürükleyin ve çizin. Kaynak bölmesinden veya Hedef bölmesinden başlayabilirsiniz.
Aşağıdaki örnek Kaynak bölmesinden başlar ve Çalışan kaynak dizisindeki Ad öğelerini ve Kişi hedef dizisini eşler:
dizi öğelerinin ilk çiftini eşlemeyi tamamladıktan sonra, eşleyici otomatik olarak kaynak ve hedef dizi üst öğeleri arasına aşağıdaki bağlantı noktası türüne sahip bir döngü ekler:

Aşağıdaki örnekte, kaynak Çalışan ile hedef Kişi üst dizileri arasında otomatik olarak eklenen döngü vurgulanır:
Kod bölmesinde oluşturduğunuz eşleme ve döngü gösterilir:
Diğer dizi öğelerini eşlemeye devam edin, örneğin:
Görevi gerçekleştirmek için koşulu değerlendirme
Koşulu değerlendiren ve koşul karşılandığında görev gerçekleştiren bir eşleme eklemek istediğinizi varsayalım. Bu senaryo için birden çok işlev kullanabilirsiniz.
Aşağıdaki örnekte, satın alma miktarı 20 öğeyi aştığında eşleme aşağıdaki işlevleri kullanarak uygulanacak indirimi hesaplar:
| İşlev grubu | İşlev | Bu örnekte amaç |
|---|---|---|
| Karşılaştırma | Büyük | Satın alma miktarının 20'den fazla olup olmadığını denetleyin. |
| Karşılaştırma | Eğer | Greater işlevinin true döndürip döndürmediğini denetleyin. |
| Matematik | Çarpmak | Koşul doğruysa, indirimi hesaplamak için madde fiyatını %10 ile çarpın. |
Kaynak ve Hedef bölmelerinde, senaryonuzda eşlemek için öğeleri bulun.
Bu örnekte aşağıdaki öğeler kullanılır:
Kaynak bölmesi: ItemPrice ve ItemQuantity
Hedef bölmesi: ItemPrice, ItemQuantity ve ItemDiscount
İşlevler listesinde, kullanmak istediğiniz işlevleri bulun ve seçin. Bu işlevler eşleştirici yüzeyine eklenir.
İşlevler listesi daraltılmışsa, eşleyicinin sol üst köşesinde işlev simgesini (
) seçin.Gerekirse, seçimlerini kolaylaştırmak için işlev şekillerini eşleyici yüzeyinde hareket ettirin.
Bu örnek, eşleyici yüzeyine aşağıdaki işlevleri ekler: Büyüktür, Eğer ve Çarp
Eşlemeleri oluştururken kodda neler olduğunu görüntülemek için eşleyicinin sağ üst köşesinde Kodu görüntüle'yi seçin.
Senaryonuzun gerektirdiği gibi kaynak öğeleri, işlevleri ve hedef öğeleri belirli bir sırada bağlayın.
Bu örnek, eşlemeleri doğru oluşturmak için aşağıdaki öğeleri belirtilen sırada bağlar:
Başlat Son ItemPrice kaynak öğesi ItemPrice hedef öğesi ItemQuantity kaynak öğesi Şeklin sol kenarında büyük işlevin girişi. Bu giriş, işlev ayrıntılarında Değer 1 alanının verilerini sağlar. Şeklin sağ kenarında daha büyük işlevin çıkışı Şeklin sol kenarında işlevin girişi varsa . Bu giriş, işlev ayrıntılarında Koşul alanının verilerini sağlar. ItemPrice kaynak öğesi Şeklin sol kenarındaki işlevin girişini çarpın . Bu giriş, işlev ayrıntılarında Multiplicand alanının verilerini sağlar. Şeklin sağ kenarındaki işlevin çıkışını çarpın . Şeklin sol kenarında işlevin girişi varsa . Bu giriş, işlev ayrıntılarında Değer alanının verilerini sağlar. Eğer işlevin çıkışı şeklin sağ kenarındaysa. ItemDiscount hedef öğesi Aşağıdaki örnekte, bu noktadaki eşlemeler gösterilmektedir:
Aşağıdaki işlev ayrıntılarında, Giriş sekmesinde aşağıdaki değerleri onaylayın veya sağlayın:
İşlev Giriş alanı ve değeri Büyük - Değer 1: ItemQuantity kaynak öğesi
- 2. Değer: Özel değer olarak 20Çarpmak - Multiplicand 1: ItemPrice kaynak öğesi
- Multiplicand 2: Özel değer olarak .10Eğer - Koşul: is-greater-than(ItemQuantity, 20)
- Değer: çarpma(ItemPrice, .10)Aşağıdaki harita, tamamlanmış örneği gösterir:
Kod bölmesi, oluşturduğunuz eşlemeyi gösterir:
Haritanızı kaydetme
İşiniz bittiğinde harita araç çubuğunda Kaydet'i seçin.
Visual Studio Code, veri haritanızı aşağıdaki yapıtlar olarak kaydeder:
- < > proje klasöründeki bir Veri Eşleyici (your-map-name.love> my life) dosyası
- < > proje klasöründeki bir veri haritası (your-map-name.xslt>) dosyası
İpucu
Yapıtlarınızı daha derin düzeylerde düzenlemek için aşağıdaki klasörleri ve alt klasörleri kullanabilirsiniz:
- Artifaktlar/HaritaTanımları
- Nesneler/Şemalar
- Ögeler/DataMapper/Uzantılar/Fonksiyonlar
- Bileşenler/DataMapper/Uzantılar/InlineXslt
Haritanızı test edin
Dönüşümün beklediğiniz gibi çalıştığını onaylamak için örnek giriş verileri gerekir.
Haritanızı test etmeden önce haritayı < oluşturun.
Harita araç çubuğunuzda Test panelini aç'ı seçin.
Test eşlemesi bölmesindeki Örnek veri kutusuna örnek girişinizi yapıştırın ve Test'i seçin.
Sonuç kutusu test sonuçlarını gösterir.
Projenizdeki bir iş akışından haritanızı çağırma
Mantıksal uygulama proje yapınızı görüntülemek için Visual Studio Code Etkinlik çubuğunda Gezgin 'i (dosyalar simgesi) seçin.
İş akışı adınızı içeren klasörü genişletin. workflow.json dosyasının kısayol menüsünde Tasarımcıyı Aç'ı seçin.
İş akışı tasarımcısında, Veri Eşleyici XSLT kullanarak Dönüştürme adlı Veri Eşleyici İşlemleri yerleşik eylemini eklemek için bu genel adımları izleyin.
Tasarımcıda Veri Eşleyici XSLT kullanarak dönüştür eylemini seçin.
Görüntülenen eylem bilgileri bölmesinde İçerik değerini belirtin ve Eşleme Kaynağı'nı LogicApp olarak bırakın.
Harita Adı listesini açın ve haritanızı (.xslt dosyası) seçin.
Azure portalında Veri Eşleyici XSLT kullanarak aynı Dönüştürme eylemini kullanmak için haritayı Standart mantıksal uygulama kaynağına eklemeniz gerekir.
XSLT'yi bir veri haritasından çalıştırma
XSLT Çalıştır işlevini kullanarak yürütülebilir XSLT parçacıklarını bir veri eşleme (.xslt) dosyası içinde çalıştırabilirsiniz . Bu işlevi kullandığınızda, gerçek yürütülebilir XSLT'yi içeren bir veri eşleme dosyası elde edersiniz. Veri Eşleyici (.love my life) dosyası, yürütülebilir XSLT (.xslt veya .xml) dosyasına bir başvuru içerir.
Bu görevi tamamlamak için şu adımları izleyin:
Çalıştırmak istediğiniz yürütülebilir XSLT kod parçacığını içeren yeni bir veri eşlemesi (.xslt veya .xml) dosyası oluşturun.
XSLT kod parçacığı dosyasını aşağıdaki proje klasörüne yerleştirin veya taşıyın:
Yapı>DataMapper\Uzantılar>Satır İçiXSLT
Not
Bu yürütülebilir XSLT dosyasını Visual Studio Code'da oluşturur veya kaydederseniz, dosya otomatik olarak Artifacts>Maps proje klasöründe görünür. XSLT kod parçacığı dosyalarını InlineXslt klasörüne taşıdığınızdan emin olun.
XSLT'yi çalıştırmak istediğiniz yerden veri haritasını açın.
İşlevler bölmesinde, Yardımcı Program'ın altında, işlevi eşleyici yüzeyine eklemek için XSLT'yi Çalıştır'ı seçin.
Eşleyici yüzeyinde, XSLT'yi Çalıştır'ı seçin.
Dosya açılır listesinden, InlineXSLT klasörüne eklediğiniz yürütülebilir .xslt dosyasını seçin, örneğin:
XSLT Çalıştır işlevini, XSLT mantığını uygulamak istediğiniz hedef düğüme bağlayın, örneğin:
XSLT mantığı yalnızca hedef düğüm için geçerli olduğundan, XSLT Çalıştır işlevini bir kaynak düğüme bağlamanız gerekmez.
Beklenen sonuçların hedef şemada göründüğünü doğrulamak için haritanızı test edin.
Dağıtım için yalnızca satır içi yürütülebilir XSLT ile elde edilen veri haritasına ihtiyacınız vardır.
İç içe XML'deki erişim düğümleri
İç içe geçmiş XML düğümlerine sahip bir şemanız olduğunu ve bu düğümlerle aşağıdaki yollarla çalışmak istediğinizi varsayalım:
- Özniteliklere veya iç içe geçmiş öğelere erişin.
- Gelen verilerden yapıya veya içeriğe göre mantık uygulayın.
Bu görevleri tamamlamak için XPath Yürüt işlevini kullanın:
Üzerinde çalışmak istediğiniz veri haritasını açın.
İşlevler bölmesinde, Yardımcı Program'ın altında, işlevi eşleyici yüzeyine eklemek için XPath'i Yürüt'ü seçin.
Eşleyici yüzeyinde, XPath Yürüt'ü seçin.
XPATH ifadesi kutusuna, istediğiniz işi gerçekleştiren bir ifade girin.
İfade sözdizimi hakkında daha fazla bilgi için bkz: XPath Sözdizimi.
Bu örnekte bir test yüküyle
//Addressbirlikte ifade kullanılır:Not
Çift eğik çizgi (
//), düğümlerin nerede bulunduğuna bakılmaksızın, geçerli düğümden seçimle eşleşen düğümleri seçer.XPath Yürütme işlevini, işlevi çalıştırmak istediğiniz hedef düğüme bağlayın.
Bu örnek, işlevi hedef şemadaki Adres düğümüne bağlar:
Not
Düğüm adları otomatik olarak çift tırnak işareti (" ") içine alınır.
Beklenen sonuçların hedef şemada göründüğünü doğrulamak için haritanızı test edin.
Bu örnek bir test yükü kullanır ve kaynak Adres düğümü bir Employee dizisinde bulunurken, hedef Adres düğümü bir Person dizisinde bulunduğundan, birden çok Adres düğümüyle doğru şekilde sonuçlar üretir.
Not
Kaynak ve hedef şemalardaki diziler arasında bir eşleme oluşturursanız, dizi öğelerini yinelemek için eşleyici yüzeyinde otomatik olarak bir döngü görünür. Ancak yine de kaynak ve hedef dizi öğeleri arasında eşlemeler oluşturmanız gerekir. Diziler arasında döngü yapma hakkında daha fazla bilgi için, bkz: Diziler arasında yineleme.
Özel XML işlevleri oluşturma
Haritanızda yeniden kullanılabilir mantık tanımlamak için, aşağıdaki avantajları sağlayan özel XML işlevleri oluşturabilirsiniz:
- Yinelemeyi azaltın ve şemaya özgü dönüştürmeleri destekleyin.
- Karmaşık mantığı yönetilebilir bileşenlere sarın.
- Şemaya özgü uç durumları işleyin.
Özel bir XML işlevi oluşturmak için şu adımları izleyin:
İşlevinizin amacını açıklayan anlamlı bir ada sahip bir XML (.xml) dosyası oluşturun.
XML dosyanızın işlev tanımları için belirli bir şema kullanması gerekir. Birden çok ilgili işleviniz varsa, bu işlevler için tek bir dosya kullanabilirsiniz. Herhangi bir dosya adını kullanabilirsiniz ancak anlamlı bir dosya adı veya kategori işlevlerinizin tanımlanmasını, bulunmasını ve bulunmasını kolaylaştırır.
Bu XML dosyasını aşağıdaki klasörde bulunan mantıksal uygulama projenize ekleyin:
Yapı>DataMapper\Uzantılar>Işlev
İşlevinizi kullanmak istediğiniz veri haritasını açın.
İşlevler bölmesinde, Yardımcı Program'ın altında, artık eşleyici yüzeyinde görünen özel işlevinizi seçin.
Eşleyici yüzeyinde, işlevinizi seçin. İşlevin çalışması için ihtiyaç duyduğu girdiyi sağlayın.
İşlevi gerekli uç noktalara bağlayın.
Aşağıdaki örnekte, sağlanan doğum tarihi için yaşı döndüren Age adlı özel bir işlev gösterilmektedir. İşlev , Dat_of_Birth kaynak düğümüne ve Diğer hedef düğüme bağlanır. Bu özel işlevin tanımını gözden geçirmek için bkz: Örnek işlev tanımını gözden geçirme.
Beklenen sonuçların hedef şemada göründüğünü doğrulamak için haritanızı test edin, örneğin:
İşlev tanımı için şemayı gözden geçirme
XML dosyanızın bir işlev tanımı için aşağıdaki şemayı kullanması gerekir. Adı olan her XML öğesi, "function" birkaç öznitelik daha içeren bir XSLT 3.0 stil işlevi uygular. Veri Eşleyici işlevleri listesi işlev adını, açıklamasını, parametre adlarını ve parametre türlerini içerir.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="customfunctions">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="function">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="param">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="as" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:any minOccurs="0" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="as" type="xs:string" use="required" />
<xs:attribute name="description" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Örnek işlev tanımlarını gözden geçirin
Aşağıdaki SampleFunctions.xmldosyası, aşağıdaki işlevlerin uygulanmasını gösterir:
"age""custom-if-then-else"
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<customfunctions>
<function name="age" as="xs:float" description="Returns the current age.">
<param name="inputDate" as="xs:date"/>
<value-of select="round(days-from-duration(current-date() - xs:date($inputDate)) div 365.25, 1)"/>
</function>
<function name="custom-if-then-else" as="xs:string" description="Evaluates the condition and returns corresponding value.">
<param name="condition" as="xs:boolean"/>
<param name="thenResult" as="xs:anyAtomicType"/>
<param name="elseResult" as="xs:anyAtomicType"/>
<choose>
<when test="$condition">
<value-of select="$thenResult"></value-of>
</when>
<otherwise>
<value-of select="$elseResult"></value-of>
</otherwise>
</choose>
</function>
</customfunctions>