إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على: Azure Logic Apps (قياسي)
عند تبادل الرسائل التي تستخدم تنسيقات XML أو JSON مختلفة في سير عمل تطبيق منطقي، يجب عليك تحديد كيفية تحويل البيانات أو تحويلها من التنسيق المصدر إلى التنسيق الهدف، على سبيل المثال، بين مستندات XML أو بين مستندات JSON. هذه المهمة مهمة خاصة عندما يكون لديك فجوات بين بنيات البيانات في المخططات المصدر والهدف. يصف المخطط عناصر البيانات والسمات وأنواع البيانات في مستند XML أو JSON.
لتحديد التحويلات بين بنيات البيانات وسد أي فجوات، يمكنك إنشاء خريطة (ملف xslt.) تحدد العلاقات بين عناصر البيانات في المخططات المصدر والهدف. يمكنك إنشاء خريطة أو تحريرها بصريا باستخدام Visual Studio Code مع ملحق Azure Logic Apps (قياسي) ضمن سياق مشروع تطبيق المنطق القياسي. توفر أداة Data Mapper تجربة موحدة للتعين والتحويل باستخدام إيماءات السحب والإفلات، والوظائف التي تم إنشاؤها مسبقا لإنشاء التعبيرات، وطريقة لاختبار الخرائط يدويا قبل استخدامها في مهام سير العمل.
بعد إنشاء الخريطة الخاصة بك، يمكنك استدعاء هذه الخريطة مباشرة من سير عمل في مشروع تطبيق المنطق الخاص بك أو من سير عمل تطبيق المنطق القياسي في مدخل Microsoft Azure. لهذه المهمة، يمكنك استخدام إجراء Data Mapper Operations المسمى Transform باستخدام Data Mapper XSLT في سير العمل.
يوضح هذا الدليل الإرشادي كيفية إنشاء خريطة بيانات فارغة، واختيار المخططات المصدر والهدف، وإنشاء أنواع مختلفة من التعيينات بين عناصر المخطط، وحفظ الخريطة واختبارها، ثم استدعاء الخريطة من سير عمل في مشروع تطبيق المنطق الخاص بك.
القيود والمشاكل المعروفة
يتوفر Data Mapper حاليا فقط في Visual Studio Code، وليس مدخل Azure، وفقط من داخل مشاريع تطبيق المنطق القياسي، وليس مشاريع تطبيق منطق الاستهلاك.
تتوفر تجربة الواجهة الأمامية ل Data Mapper كمصدر مفتوح في مستودع GitHub العام لفريق Azure Logic Apps. لمزيد من المعلومات، راجع الموارد التالية:
يعمل Data Mapper حاليا فقط في Visual Studio Code الذي يعمل على أنظمة تشغيل Windows.
لا يدعم Data Mapper حاليا المخططات التي تستخدم تنسيق ملف القيم المفصولة بفاصلة (.csv).
جزء التعليمات البرمجية في Data Mapper للقراءة فقط حاليا.
على سطح مخطط البيانات، يكون تخطيط الوظائف ومواضعها قابلة للنقل، ولكن عقد المخطط ثابتة.
تعالج الدالة عامل التصفية بشكل صحيح الشروط الرقمية المحيطة بعلامات اقتباس مزدوجة، على سبيل المثال، ">=10". ومع ذلك ، لا تعمل هذه الوظيفة حاليا باستمرار لمقارنات السلاسل مثل التحقق مما إذا كان اسم العنصر هو "= 'Pen'".
عند إنشاء تعيين بين عناصر الصفيف الأصل في المخططات المصدر والهدف، يضيف المخطط تلقائيا حلقة للتكرار من خلال عناصر عنصر الصفيف. ومع ذلك، لا يزال يتعين عليك إنشاء تعيينات بشكل صريح بين عناصر عنصر الصفيف المصدر والهدف.
لاستدعاء الخرائط التي تم إنشاؤها باستخدام Data Mapper، يمكنك فقط استخدام إجراء Data Mapper Operations المسمى Transform باستخدام Data Mapper XSLT. بالنسبة للخرائط التي تم إنشاؤها بواسطة أي أداة أخرى، استخدم إجراء عمليات XML المسمى Transform XML.
لاستخدام الخرائط التي تقوم بإنشائها باستخدام Data Mapper مع مهام سير العمل في مدخل Microsoft Azure، يجب إضافتها مباشرة إلى مورد تطبيق المنطق القياسي.
بالنسبة إلى الأخطاء غير المحظورة أو طلبات الميزات، افتح عنصرا باستخدام تسمية Data Mapper في مستودع GitHub لفريق Azure Logic Apps.
Prerequisites
حساب واشتراك Azure. إذا لم يكن لديك اشتراك، فسجل للحصول على حساب Azure مجاني.
Visual Studio Code وملحق Azure Logic Apps (Standard) لإنشاء مهام سير عمل تطبيق المنطق القياسي.
Note
يتم الآن دمج ملحق Data Mapper المنفصل سابقا مع ملحق Azure Logic Apps (قياسي). لتجنب التعارضات، تتم إزالة أي إصدار موجود من ملحق Data Mapper عند تثبيت ملحق Azure Logic Apps (قياسي) أو تحديثه. بعد تثبيت الملحق أو تحديثه، يرجى إعادة تشغيل Visual Studio Code.
ملفات المخطط المصدر والهدف التي تصف أنواع البيانات المطلوب تحويلها. يمكن أن تحتوي هذه الملفات على التنسيقات التالية:
ملف تعريف مخطط XML مع ملحق ملف .xsd
ملف JavaScript Object Notation مع ملحق ملف .json
مشروع تطبيق منطقي قياسي يتضمن سير عمل عديم الحالة أو عديم الحالة مع مشغل على الأقل. إذا لم يكن لديك مشروع، فاتبع الخطوات التالية في Visual Studio Code:
اتصل بحساب Azure الخاص بك، إذا لم تكن قد قمت بالفعل.
إنشاء مجلد محلي ومساحة عمل تطبيق منطقي قياسي ومشروع وسير عمل ذي حالة أو عديم الحالة. أثناء إنشاء سير العمل، حدد فتح في النافذة الحالية.
عينة من بيانات الإدخال إذا كنت تريد اختبار الخريطة والتحقق من أن التحويل يعمل كما تتوقع.
إنشاء خريطة بيانات
في Visual Studio Code، افتح المجلد لمشروع تطبيق المنطق القياسي.
في القائمة اليسرى Visual Studio Code، حدد أيقونة Azure .
في نافذة Azure ، ضمن مخطط البيانات، حدد إنشاء مخطط بيانات.
في شريط عنوان Visual Studio Code، يفتح مربع مطالبة حتى تتمكن من توفير اسم للخريطة.
في مربع المطالبة، أدخل اسما للخريطة.
في هذا الدليل، تستخدم هذه الخطوات الاسم Example-data-map.
يقوم Data Mapper بإنشاء خريطة بيانات فارغة وفتحها.
اختر المخططات المصدر والهدف باتباع الخطوات التالية:
في جزء المصدر، حدد إضافة استعراض جديد> للبحث عن مخطط المصدر وتحميله.
بعد إضافة مخطط المصدر، يتم ملء جزء المصدر بعنصر XML "عقد" لأنواع البيانات في المخطط المصدر، على سبيل المثال:
في جزء الوجهة، حدد إضافةاستعراض> للعثور على المخطط المستهدف وتحميله.
بعد إضافة المخطط الهدف، يتم ملء جزء الوجهة بعنصر XML "عقد" لأنواع البيانات في المخطط الهدف، على سبيل المثال:
Tip
إذا واجهت مشكلات في تحميل المخططات، فيمكنك إضافة ملفات المخطط المصدر والهدف إلى مجلدمخططات البيانات /الاصطناعيةالمحلي لمشروع تطبيق المنطق. في هذا السيناريو، لتحديد مخطط المصدر والهدف في مخطط البيانات، في جزأين المصدروالوجهة ، افتح القائمة تحديد موجود ، بدلا من استخدام إضافة جديد، وحدد المخطط.
أنواع بيانات المخطط
يصف الجدول التالي أنواع البيانات المحتملة التي قد تظهر في مخطط:
| Symbol | Type | مزيد من المعلومات |
|---|---|---|
|
|
مجمع (صفيف) | يحتوي على عناصر أو عقد عناصر متكررة. يعرض عنصر الصفيف أيضا نقطة الاتصال التالية:
|
|
|
Bool | صواب أو خطأ فقط |
|
|
Complex | كائن XML بخصائص تابعة، مشابه لنوع Object JSON |
|
|
DateTime | |
|
|
Decimal | |
|
|
Integer | الأرقام الصحيحة فقط |
|
|
String |
إنشاء تعيين مباشر بين العناصر
لتحديد تحويل مباشر بين العناصر التي لها نفس النوع في المخططات المصدر والهدف، اتبع الخطوات التالية:
لعرض ما يحدث في التعليمات البرمجية أثناء إنشاء التعيين، في الزاوية العلوية اليسرى لرسم الخرائط، حدد عرض الرمز.
على سطح التعيين، في جزء المصدر ، ابحث عن العنصر المصدر الذي تريد تعيينه.
بشكل افتراضي، يتم توسيع العناصر الأصلية تلقائيا لإظهار العناصر التابعة لها.
يبدأ هذا المثال التعيين من العنصر المصدر، ولكن يمكنك اختيار بدء التعيين من العنصر الهدف.
حرك مؤشر الماوس فوق الدائرة الموجودة بجانب اسم عنصر المصدر حتى يتغير المؤشر إلى علامة الجمع (+).
ينشئ هذا المثال تعيينا بدءا من عنصر مصدر معرف الموظف .
اسحب وارسم خطا بحيث يتصل العنصر المصدر بدائرة العنصر الهدف في جزء الوجهة .
يكمل هذا المثال التعيين باستخدام العنصر الهدف للمعرف ، الذي يحتوي على نفس نوع البيانات مثل العنصر المصدر.
لقد قمت الآن بإنشاء تعيين مباشر بين كلا العنصرين اللذين لديهما نفس أنواع البيانات.
يعرض جزء التعليمات البرمجية علاقة التعيين التي قمت بإنشائها:
Tip
للتحقق مما إذا كانت عمليات الربط بها أي مشاكل، حدد عرض المشاكل. على سبيل المثال، يظهر تحذير في قائمة المشكلات في علامة التبويب التحذيرات إذا قمت بإنشاء تعيين بين العناصر التي تحتوي على أنواع بيانات غير متطابقة:
إنشاء تعيين معقد بين العناصر
لتحديد تحويل أكثر تعقيدا بين العناصر في المخططات المصدر والهدف، على سبيل المثال، العناصر التي تريد دمجها أو التي تحتوي على أنواع بيانات مختلفة، يمكنك استخدام وظيفة واحدة أو أكثر تقوم بتنفيذ التحويل الذي تريده في التعيين.
على سطح المخطط، يتم ترميز تسمية الدالة بالألوان استنادا إلى مجموعة الوظائف. بجوار اسم الدالة، يظهر رمز الدالة، على سبيل المثال:
يسرد الجدول التالي مجموعات الدالات وبعض أمثلة الدالات التي يمكنك استخدامها. للحصول على القائمة الكاملة، راجع قائمة الوظائف في مخطط البيانات.
| Group | أمثلة على الوظائف |
|---|---|
| Collection | المتوسط، العدد، الوصول المباشر، القيم المميزة، التصفية، الفهرس، الانضمام، الحد الأقصى، الحد الأدنى، العكس، الفرز، التسلسل، المجموع |
| Conversion | إلى التاريخ، إلى عدد صحيح، إلى رقم، إلى سلسلة |
| التاريخ والوقت | إضافة أيام، تاريخ حالي، الوقت الحالي، تاريخ يساوي |
| مقارنة منطقية | يساوي، موجود، أكبر، أكبر أو يساوي، إذا كان غير ذلك، هو Nil، هو خال، هو رقم، هو سلسلة، أقل، أقل أو يساوي، منطقي و، منطقي غير منطقي، أو منطقي، أو غير متساوي |
| Math | مطلق، إضافة، ظل، سقف، جيب تمام، قسمة، أسي، أسي (القاعدة 10)، أرضية، قسمة عدد صحيح، سجل، سجل (القاعدة 10)، الوحدة النمطية، الضرب، الطاقة، الدائري، جيب الزاوية، الجذر التربيعي، طرح، ظل الزاوية |
| String | نقاط الرمز إلى السلسلة، concat، تحتوي على، تنتهي ب، طول، أحرف صغيرة، اسم، تطابقات التعبير العادي، استبدال التعبير العادي، استبدال، يبدأ ب، سلسلة إلى نقاط ترميز، سلسلة فرعية، سلسلة فرعية بعد، سلسلة فرعية قبل، تقليم، تقليم يسار، اقتطاع يمين، أحرف كبيرة |
| Utility | نسخ، خطأ، تنفيذ XPath، تنسيق التاريخ والوقت، تنسيق الرقم، تشغيل XSLT |
إضافة دالة دون تعيين
يقوم المثال الوارد في هذا القسم بتحويل البيانات في العنصر المصدر من سلسلة إلى DateTime، وهو نوع العنصر الهدف. يبدأ المثال دون إنشاء تعيين أولا ويستخدم الدالة To Date ، التي تقبل إدخالا واحدا.
لعرض ما يحدث في التعليمات البرمجية أثناء إنشاء التعيين، في الزاوية العلوية اليسرى لرسم الخرائط، حدد عرض الرمز.
في قائمة الوظائف ، ابحث عن الوظيفة التي تريد استخدامها وحددها، مما يضيف الدالة إلى سطح التعيين. إذا كانت قائمة Functions مطوية، ففي الزاوية العلوية اليسرى لرسم الخرائط، حدد أيقونة الوظيفة (
).يحدد هذا المثال الدالة To Date ، الموجودة في مجموعة دالات التحويل .
Note
إذا لم يكن هناك تعيين على الخريطة أو إذا تم تحديد تعيين عند إضافة دالة إلى الخريطة، تظهر الدالة ولكنها غير متصلة بأي عناصر أو وظائف أخرى، على سبيل المثال:
قم بتوصيل الدالة بالعناصر المصدر والهدف.
اسحب وارسم خطا بين العنصر المصدر والدائرة الموجودة على الحافة اليسرى للدالة. يمكنك البدء من عنصر المصدر أو الدالة.
اسحب وارسم خطا بين الحافة اليمنى للدالة والعنصر الهدف. يمكنك البدء إما من العنصر الهدف أو الدالة.
يعرض جزء التعليمات البرمجية علاقة التعيين التي قمت بإنشائها:
على سطح المخطط، حدد شكل الدالة لعرض تفاصيل الدالة.
على علامة التبويب إدخال ، قم بتأكيد الإدخال أو تحريره لاستخدامه.
تتطلب بعض السيناريوهات تحديد تحويل خارج الزوج المباشر من عناصر المصدر والهدف. على سبيل المثال، لتعريف تحويل بين زوج من الصفائف وعناصرها، تحتاج إلى إنشاء حلقة بين الصفائف. أو، لتنفيذ مهمة عندما تفي قيمة عنصر بشرط، تحتاج إلى إضافة شرط بين العناصر.
إضافة دالة تستخدم مدخلات متعددة
المثال في هذا القسم تسلسل عناصر مصدر متعددة كإدخالات وتعيين إخراج واحد إلى العنصر الهدف. يستخدم المثال الدالة Concat ، التي تقبل مدخلات متعددة.
لعرض ما يحدث في التعليمات البرمجية أثناء إنشاء التعيين، في الزاوية العلوية اليسرى لرسم الخرائط، حدد عرض الرمز.
في قائمة الوظائف ، ابحث عن الوظيفة التي تريد استخدامها وحددها، مما يضيف الدالة إلى سطح التعيين.
إذا كانت قائمة Functions مطوية، ففي الزاوية العلوية اليسرى لرسم الخرائط، حدد أيقونة الوظيفة (
).يحدد هذا المثال الدالة Concat ، الموجودة في مجموعة الدالة سلسلة .
Note
إذا لم يكن هناك تعيين على الخريطة أو إذا تم تحديد تعيين عند إضافة دالة إلى الخريطة، تظهر الدالة ولكنها غير متصلة بأي عناصر أو وظائف أخرى، على سبيل المثال:
على سطح المخطط، حدد شكل الدالة لعرض تفاصيل الدالة.
على علامة التبويب إدخال ، حدد عناصر مخطط المصدر لاستخدامها كمدخلات.
يحدد هذا المثال عناصر مخطط المصدر FirstNameوLastName كمدخلات للوظيفة. يضيف المخطط تلقائيا التعيينات المعنية بين عناصر المصدر والدالة.
لإكمال التعيين، اسحب وارسم خطا بين الحافة اليمنى للدالة والعنصر الهدف. يمكنك البدء إما من العنصر الهدف أو الدالة.
يعرض جزء التعليمات البرمجية علاقات التعيين التي قمت بإنشائها:
التكرار من خلال الصفائف
إذا كانت المخططات المصدر والهدف تحتوي على صفائف، يمكنك إنشاء تكرار حلقي للتكرار من خلال عناصر الصفائف. ينشئ المثال الموجود في هذا القسم حلقة من خلال مصفوفة مصدر الموظف وصفيف هدف الشخص جنبا إلى جنب مع التعيينات بين عناصر المصفوفات.
لعرض ما يحدث في التعليمات البرمجية أثناء إنشاء التعيين، في الزاوية العلوية اليسرى لرسم الخرائط، حدد عرض الرمز.
على سطح المعطيت، في جزأي المصدروالوجهة ، ابحث عن المصفوفات التي تريد تعيينها.
اسحب خطا بين زوج عناصر الصفيف وارسمه. يمكنك البدء من جزء المصدر أو جزء الوجهة .
يبدأ المثال التالي من جزء المصدر ويعين عناصر الاسم في صفيف مصدر الموظف والمصفوفة هدف الشخص :
بعد الانتهاء من تعيين الزوج الأول من عناصر الصفيف، يضيف المعين تلقائيا حلقة بين العناصر الأصل للصفيف المصدر والهدف، والتي تحتوي على نوع نقطة الاتصال التالية:

يسلط المثال التالي الضوء على الحلقة المضافة تلقائيا بين المصفوفات الأصلية للموظف المصدر والشخص المستهدف:
يعرض جزء التعليمات البرمجية التعيين والحلقة التي قمت بإنشائها:
متابعة تعيين عناصر الصفيف الأخرى، على سبيل المثال:
تقييم شرط لتنفيذ مهمة
لنفترض أنك تريد إضافة تعيين يقيم شرطا وينفذ مهمة عند استيفاء الشرط. لهذا السيناريو، يمكنك استخدام دالات متعددة.
في المثال التالي، عندما تتجاوز كمية الشراء 20 عنصرا، يحسب التعيين خصما لتطبيقه باستخدام الدالات التالية:
| مجموعة الوظائف | Function | الغرض في هذا المثال |
|---|---|---|
| Comparison | Greater | تحقق مما إذا كانت كمية الشراء أكثر من 20. |
| Comparison | If | تحقق مما إذا كانت الدالة أكبر ترجع صواب. |
| Math | Multiply | إذا كان الشرط صحيحا، فضرب سعر العنصر بنسبة 10٪ لحساب الخصم. |
في جزأي المصدروالوجهة ، ابحث عن العناصر المراد تعيينها في السيناريو الخاص بك.
يستخدم هذا المثال العناصر التالية:
جزء المصدر: ItemPriceوItemQuantity
جزء الوجهة: ItemPriceوItemQuantumوItemDiscount
في قائمة الوظائف ، ابحث عن الوظائف التي تريد استخدامها وحددها، مما يضيف الدالات إلى سطح التعيين.
إذا كانت قائمة Functions مطوية، ففي الزاوية العلوية اليسرى لرسم الخرائط، حدد أيقونة الدالة (
).إذا لزم الأمر، حرك أشكال الدالة على سطح المخطط لتسهيل تحديدها.
يضيف هذا المثال الدالات التالية إلى سطح الخريط: أكبروإذاوضرب
لعرض ما يحدث في التعليمات البرمجية أثناء إنشاء التعيينات، في الزاوية العلوية اليسرى لرسم الخرائط، حدد عرض التعليمات البرمجية.
قم بتوصيل عناصر المصدر والوظائف والعناصر المستهدفة بالترتيب المحدد كما يتطلب السيناريو الخاص بك.
يربط هذا المثال العناصر التالية بالترتيب المحدد لإنشاء التعيينات بشكل صحيح:
Start End عنصر مصدر ItemPrice عنصر العنصر المستهدف للسعر عنصر مصدر ItemQuantity إدخال وظيفة أكبر على الحافة اليسرى للشكل. يوفر هذا الإدخال بيانات حقل القيمة 1 في تفاصيل الوظيفة. إخراج أكبر للوظيفة على الحافة اليمنى للشكل إذا كانت الوظيفة مدخلة على الحافة اليسرى للشكل. يوفر هذا الإدخال بيانات حقل الشرط في تفاصيل الوظيفة. عنصر مصدر ItemPrice اضرب إدخال الدالة على الحافة اليسرى للشكل. يوفر هذا الإدخال بيانات حقل Multiplicand في تفاصيل الوظيفة. اضرب إخراج الدالة على الحافة اليمنى للشكل. إذا كانت الوظيفة مدخلة على الحافة اليسرى للشكل. يوفر هذا الإدخال بيانات حقل القيمة في تفاصيل الوظيفة. إذا كان إخراج الوظيفة على الحافة اليمنى للشكل. عنصر هدف ItemDiscount يوضح المثال التالي التعيينات في هذه المرحلة الزمنية:
في تفاصيل الدالة التالية، على علامة التبويب إدخال ، قم بتأكيد القيم التالية أو توفيرها:
Function حقل الإدخال والقيمة Greater - القيمة 1: عنصر مصدر ItemQuantity
- القيمة 2: 20 كقيمة مخصصةMultiply - المضاعف 1: عنصر مصدر ItemPrice
- المضاعف 2: .10 كقيمة مخصصةIf - الحالة: أكبر من (كمية العنصر ، 20)
- القيمة: ضرب (سعر العنصر ، .10)تعرض الخريطة التالية المثال النهائي:
يعرض جزء التعليمات البرمجية التعيين الذي قمت بإنشائه:
حفظ الخريطة
عند الانتهاء، على شريط أدوات الخريطة، حدد حفظ.
يحفظ Visual Studio Code خريطة البيانات الخاصة بك على أنها البيانات الاصطناعية التالية:
- ملف Data Mapper (<your-map-name.love> my life) في مجلد مشروع Artifacts>MapDefinitions
- ملف مخطط بيانات (<your-map-name.xslt>) في مجلد مشروع Artifacts>Maps
Tip
لتنظيم البيانات الاصطناعية على مستويات أعمق، يمكنك استخدام المجلدات والمجلدات الفرعية التالية:
- التحف/تعريفات الخرائط
- التحف/المخططات
- التحف/مخطط/ البياناتملحقات/وظائف
- التحف/مخطط/ البياناتملحقات/InlineXslt
اختبار الخريطة
للتأكد من أن التحويل يعمل كما تتوقع، ستحتاج إلى عينة من بيانات الإدخال.
قبل اختبار الخريطة، < your-map-name.xslt>.
على شريط أدوات الخريطة، حدد فتح لوحة الاختبار.
في جزء اختبار الخريطة ، في المربع نموذج البيانات ، الصق نموذج الإدخال، وحدد اختبار.
يعرض مربع النتيجة نتائج الاختبار.
استدعاء الخريطة من سير عمل في مشروعك
في شريط نشاط Visual Studio Code، حدد Explorer (أيقونة الملفات) لعرض بنية مشروع تطبيق المنطق.
قم بتوسيع المجلد الذي يحتوي على اسم سير العمل الخاص بك. من القائمة المختصرة لملف workflow.json ، حدد فتح المصمم.
على مصمم سير العمل، اتبع هذه الخطوات العامة لإضافة الإجراء المضمن لعمليات Data Mapper المسمى Transform باستخدام Data Mapper XSLT.
على المصمم، حدد إجراء Transform using Data Mapper XSLT .
في جزء معلومات الإجراء الذي يظهر، حدد قيمة المحتوى ، واترك مصدر الخريطة مضبوطا على LogicApp.
افتح قائمة اسم الخريطة ، وحدد الخريطة (ملف .xslt).
لاستخدام نفس إجراء Transform باستخدام Data Mapper XSLT في مدخل Microsoft Azure، يجب إضافة الخريطة إلى مورد تطبيق المنطق القياسي.
تشغيل XSLT من خريطة بيانات
يمكنك تشغيل قصاصات XSLT القابلة للتنفيذ داخل ملف خريطة البيانات (.xslt) باستخدام الدالة تشغيل XSLT . عند استخدام هذه الدالة، تحصل على ملف خريطة بيانات يحتوي على XSLT القابل للتنفيذ الفعلي. يحتوي ملف Data Mapper (.love my life) على مرجع إلى ملف XSLT القابل للتنفيذ (.xslt أو .xml).
لإكمال هذه المهمة، اتبع الخطوات التالية:
قم بإنشاء ملف مخطط بيانات جديد (.xslt أو .xml) يحتوي على قصاصة XSLT القابلة للتنفيذ التي تريد تشغيلها.
ضع ملف مقتطف XSLT أو انقله إلى مجلد المشروع التالي:
التحف>DataMapper \ الملحقات>InlineXSLT
Note
إذا قمت بإنشاء ملف XSLT القابل للتنفيذ أو حفظه في Visual Studio Code، فسيظهر الملف تلقائيا في مجلد مشروعخرائط البيانات >الاصطناعية. تأكد من نقل ملفات قصاصة XSLT إلى مجلد InlineXslt .
افتح خريطة البيانات من حيث تريد تشغيل XSLT.
من جزء الوظائف ، ضمن الأداة المساعدة، حدد تشغيل XSLT لإضافة الدالة إلى سطح المعطيت.
على سطح الخريط، حدد تشغيل XSLT.
من القائمة المنسدلة ملف ، حدد ملف .xslt القابل للتنفيذ الذي أضفته إلى مجلد InlineXSLT ، على سبيل المثال:
قم بتوصيل الدالة Run XSLT بالعقدة الوجهة حيث تريد تطبيق منطق XSLT ، على سبيل المثال:
نظرا لأن منطق XSLT ينطبق فقط على عقدة الوجهة، فلن تضطر إلى توصيل الدالة تشغيل XSLT بعقدة مصدر.
اختبر الخريطة للتأكد من ظهور النتائج المتوقعة في مخطط الوجهة.
للتوزيع، تحتاج فقط إلى خريطة البيانات الناتجة مع XSLT القابل للتنفيذ المضمن.
الوصول إلى العقد في XML المتداخل
لنفترض أن لديك مخططا يحتوي على عقد XML متداخلة، وأردت العمل مع هذه العقد بالطرق التالية:
- سمات الوصول أو العناصر المتداخلة.
- تطبيق المنطق استنادا إلى البنية أو المحتوى من البيانات الواردة.
لإكمال هذه المهام، استخدم الدالة Execute XPath :
افتح خريطة البيانات التي تريد العمل عليها.
من جزء الوظائف ، ضمن الأداة المساعدة، حدد تنفيذ XPath لإضافة الوظيفة إلى سطح المعطيت.
على سطح الخريط، حدد تنفيذ XPath.
في مربع تعبير XPATH ، أدخل تعبيرا ينفذ العمل الذي تريده.
للحصول على معلومات حول بناء جملة التعبير، راجع بناء جملة XPath.
يستخدم
//Addressهذا المثال التعبير جنبا إلى جنب مع حمولة اختبار:Note
تحدد الشرطة المائلة للأمام المزدوجة (
//) العقد من العقدة الحالية التي تطابق التحديد، بغض النظر عن مكان وجود العقد.قم بتوصيل الدالة Execute XPath بالعقدة الوجهة حيث تريد تشغيل الوظيفة.
يربط هذا المثال الدالة بعقدة العنوان في مخطط الوجهة:
Note
يتم إحاطة أسماء العقد تلقائيا بعلامات اقتباس مزدوجة (" ").
اختبر الخريطة للتأكد من ظهور النتائج المتوقعة في مخطط الوجهة.
يستخدم هذا المثال حمولة اختبار وينتج نتائج بشكل صحيح مع عقد عنوان متعددة لأن عقدة العنوان المصدر موجودة في صفيف الموظف ، بينما عقدة العنوان الوجهة موجودة في مصفوفة شخص .
Note
إذا قمت بإنشاء تعيين بين الصفائف في المخططات المصدر والهدف، تظهر حلقة تلقائيا على سطح المخطط للتكرار من خلال عناصر الصفيف. ومع ذلك، لا يزال يتعين عليك إنشاء تعيينات بين عناصر الصفيف المصدر والهدف. للحصول على معلومات حول التكرار الحلقي عبر الصفائف، راجع التكرار من خلال الصفائف.
إنشاء دالات XML مخصصة
لتحديد منطق قابل لإعادة الاستخدام عبر الخريطة، يمكنك إنشاء وظائف XML مخصصة، والتي توفر المزايا التالية:
- تقليل التكرار ودعم التحويلات الخاصة بالمخطط.
- التفاف المنطق المعقد في مكونات قابلة للإدارة.
- معالجة حالات الحافة الخاصة بالمخطط.
لإنشاء دالة XML مخصصة، اتبع الخطوات التالية:
قم بإنشاء ملف XML (.xml) باسم ذي معنى يصف الغرض من الدالة.
يجب أن يستخدم ملف XML مخططا معينا لتعريفات الوظائف. إذا كان لديك العديد من الدالات ذات الصلة، يمكنك استخدام ملف واحد لهذه الدالات. على الرغم من أنه يمكنك استخدام أي اسم ملف، إلا أن اسم الملف أو الفئة ذات المعنى يجعل من السهل التعرف على الوظائف والبحث عنها واكتشافها.
أضف ملف XML هذا إلى مشروع تطبيق المنطق في المجلد التالي:
التحف>DataMapper \ الملحقات>وظائف
افتح خريطة البيانات حيث تريد استخدام الدالة.
من جزء الوظائف ، ضمن الأداة المساعدة، حدد الدالة المخصصة، والتي تظهر الآن على سطح الخريط.
على سطح المخطط، حدد الدالة الخاصة بك. قم بتوفير الإدخال الذي تحتاج إليه الدالة للعمل.
قم بتوصيل الدالة بنقاط النهاية المطلوبة.
يوضح المثال التالي دالة مخصصة تسمى العمر التي ترجع عمر تاريخ الميلاد المقدم. تتصل الوظيفة بعقدة المصدر Dat_of_Birth وعقدة الوجهة الأخرى . لمراجعة تعريف هذه الدالة المخصصة، راجع مراجعة نموذج تعريف الدالة.
اختبر الخريطة للتأكد من ظهور النتائج المتوقعة في مخطط الوجهة، على سبيل المثال:
مراجعة المخطط لتعريف دالة
يجب أن يستخدم ملف XML المخطط التالي لتعريف دالة. ينفذ كل عنصر XML يحتوي على "function" الاسم دالة نمط XSLT 3.0 مع عدد قليل من السمات الإضافية. تتضمن قائمة دالات Data Mapper اسم الدالة والوصف وأسماء المعلمات وأنواع المعلمات.
<?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>
مراجعة تعريفات دالة العينة
يعرض ملف SampleFunctions.xml التالي تنفيذ الوظائف التالية:
"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>