التعبيرات المضمنة في XML

الـتعبيرات المضمنة تتيح لك إنشاء القيم الحرفية XML التي تحتوي على تعبيرات التي يتم تقييمها في وقت التشغيل. بناء الجملة لتعبيير مضمن هو<%=expression%>، والتي هي نفس بناء الجملة المستخدمة في ASP.NET.

على سبيل المثال، يمكنك إنشاء قيمة حرفية عنصر XML, يدمج التعبيرات المضمنة مع محتوى نص قيمة حرفية.

Dim isbnNumber As String = "12345"
Dim modifiedDate As String = "3/5/2006"
Dim book As XElement = 
    <book category="fiction" isbn=<%= isbnNumber %>>
        <modifiedDate><%= modifiedDate %></modifiedDate>
    </book>

اذا isbnNumber يحتوي على عدد صحيح 12345 و modifiedDate يحتوي على التاريخ 3/5/٢٠٠٦، عند تنفذ هذه التعليمات البرمجية ، قيمة book هو:

<book category="fiction" isbn="12345">
  <modifiedDate>3/5/2006</modifiedDate>
</book>

موقع التعبير المضمن و التحقق من صحته

يمكن أن تظهر التعبيرات المضمنة فقط في مواقع محددة ضمن تعبيرات قيمة حرفية XML. يتحكم موقع التعبير الذي الأنواع التي يمكن للتعبر ارجاعها وكيفية Nothing يتم معالجته. يصف الجدول التالي المواقع المسموح بها وأنواع التعبيرات المضمنة.

موقع في قيمة حرفية

نوع التعبير

معالجة الـ Nothing

اسم العنصر XML

XName

خطأ

محتوى عنصر XML

Object أو صفيف Object

تجاهل

اسم خاصية عنصر XML

XName

خطأ, إلا إذا كانت القيمة سمة أيضاً Nothing

قيمة سمة عنصر XML

Object

تجاهل تعريف سمة

سمة عنصر XML

XAttribute أو مجموعة من XAttribute

تجاهل

عنصر جذر مستند XML

XElement أو مجموعة من واحد XElement الكائن و عدد ما من XProcessingInstruction و XComment الكائنات.

تجاهل

  • مثال عن تعبير مضمن في اسم عنصر XML:

    Dim elementName As String = "contact"
    Dim contact1 As XElement = <<%= elementName %>/>
    
  • مثال لتعبير مضمن في محتوى عنصر XML:

    Dim contactName As String = "Patrick Hines"
    Dim contact2 As XElement = 
      <contact><%= contactName %></contact>
    
  • مثال عن تعبير مضمن في اسم سمة عنصر XML:

    Dim phoneType As String = "home"
    Dim contact3 As XElement = 
      <contact <%= phoneType %>="206-555-0144"/>
    
  • مثال عن تعبير مضمن في قيمة سمة عنصر XML:

    Dim phoneNumber As String = "206-555-0144"
    Dim contact4 As XElement = 
      <contact home=<%= phoneNumber %>/>
    
  • مثال عن تعبير مضمن في سمة عنصر XML:

    Dim phoneAttribute As XAttribute = 
      New XAttribute(XName.Get(phoneType), phoneNumber)
    Dim contact5 As XElement = 
      <contact <%= phoneAttribute %>/>
    
  • مثال تعبير مضمن في عنصر جذر مستند XML:

    Dim document As XDocument = 
      <?xml version="1.0"?><%= contact1 %>
    

إذا قمت بتمكين Option Strict، يتحقق المحول البرمجي أن نوع كل تعبير مضمّن يتوسع إلى النوع المطلوب. ‏‏الـاستثناء الوحيد لعنصر جذر من مستند XML, الذي يتم التحقق منه عند تشغيل التعليمات البرمجية. في حالة التحويل البرمجي بدون Option Strict، يمكنك تضمين تعبيرات من النوع Object ثم يتم التحقق من نوعها في وقت التشغيل.

في المواقع حيث يكون المحتوى اختياري, التعبيرات المضمنة التي تحتوي على Nothing يتم تجاهلها. هذا يعني أنك لا تحتاج الى التحقق من محتوي العنصر ذلك, قيم السمة, و عناصر الصفيف ليستNothing قبل استخدام القيم الحرفية XML. لا يمكن أن تكون القيم المطلوبة مثل عنصر وأسماء السمات Nothing.

لمزيد من المعلومات حول استخدام التعبير المضمن في نوع معين من القيمة الحرفية راجع قيمة حرفية لمستند XML, الـقيمة ألحرفية لعنصر XML.

القواعد المجال

المحول البرمجي يقوم بتحويل قيم الحرفية XML الى استدعاء دالة إنشائية لنوع القيمة الحرفية المناسب. تعبيرات المضمنة و محتوى القيمة الحرفية في القيمة الحرفية XML يتم تمريرها كوسائط للمُنشئ. وهذا يعني أن كل Visual Basic عناصر البرمجة متوفر للقيمة الحرفية XML متوفر أيضاً للتعبيرات المضمنة الخاصة به.

ضمن قيمة حرفية XML, يمكنك الوصول إلى بادئات مساحات الأسماء XML التي تم تعريفها باستخدام Imports الكشف. يمكنك تعريف بادئة مساحة الاسم XML جديد, أو تظليل بادئة مساحة الاسم XML موجودة, في عنصر باستخدام xmlns السمة. مساحة الاسم الجديدة متوفر العقد التابعة لذلك العنصر, ولكن ليس للقيم الحرفية XML في التعبيرات المضمنة.

ملاحظة

عند التصريح ببادئة مساحة اسم XML باستخدام xmlns سمة مساحة الاسم, يجب أن تكون قيمة السمة سلسلة ثابتة. بهذا الخصوصxmlns السمة يشبه استخدام Imports الكشف لتعريف مساحة الاسم XML. لا يمكنك استخدام تعبير مضمن لتحديد قيمة مساحة الاسم XML.

راجع أيضًا:

المرجع

قيمة حرفية لمستند XML

الـقيمة ألحرفية لعنصر XML

كشف الخيار الصارمِ

استيراد كشف (مساحة الاسم و نوع NET.)

المبادئ

نظرة عامة حول القيم الحرفية XML

موارد أخرى

إنشاء XML في Visual Basic