ظهور رسالة خطأ عند عرض مخططات XSD متعدد الأبعاد في Visual Studio.NET XML مصمم المخطط

الأعراض

عند محاولة فتح وعرض مخطط تعريف مخطط XML (XSD) متعددة الأبعاد في Visual Studio.NET، إطار برنامج مصمم XML قد فتح بدلاً من إطار "مصمم المخطط"، وقد تتلقى رسالة الخطأ التالية في طريقة عرض البيانات مصمم XML:

على الرغم من أنه تم أيضا تشكيل مستند XML، يحتوي على بنية لا تعرض بطريقة. لا يمكن أن يكون نفس الجدول (اسم جدول) جدولاً تابعا في علاقتين متداخلتين

السبب

يتم حفظ مخطط XSD كملف بملحق.xml. مصممو Visual Studio.NET مبنية على ملحق. يتم تفسير ملفات ذات ملحق.xml كملفات XML العادية، حيث يتم فتح إطار برنامج مصمم XML بدلاً من إطار "مصمم المخطط" عند محاولة فتح وعرض المستند في Visual Studio.NET. يستخدم مصمم XML في Visual Studio.NET قواعد الاستدلال مخطط ADO.NET للاستدلال مخطط مستند XML تلقائياً. لا تسمح قواعد الاستدلال مخطط ADO.NET أو دعم العلاقات المتعددة الأبعاد في إصدار RTM من Microsoft.NET Framework.

الحل

إعادة تسمية أو حفظ المستند كملف له ملحق.xsd فتحه وعرضه في نافذة Visual Studio.NET XML مخطط "مصمم". يمكن تحميل Visual Studio.NET XML مصمم المخطط وعرض مخططات XSD متعدد الأبعاد بشكل صحيح.

الحالة

يعتبر هذا السلوك حسب التصميم.

مزيد من المعلومات

لإعادة إنشاء رسالة الخطأ واختبار الدقة، اتبع الخطوات التالية:

  1. في "المفكرة"، قم بلصق التعليمة البرمجية التالية في ملف جديد:
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="OrdersInventoryData" type="OrdersInventoryDataType" />
    <xs:complexType name="ItemType">
    <xs:sequence>
    <xs:element name="id" type="xs:string" />
    <xs:element name="qty" type="xs:integer" />
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OrderType">
    <xs:sequence>
    <xs:element name="OrderId" type="xs:string" />
    <xs:element name="CustomerId" type="xs:string" />
    <xs:element name="Item" type="ItemType" maxOccurs="unbounded" />
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="InventoryType">
    <xs:sequence>
    <xs:element name="Item" type="ItemType" maxOccurs="unbounded" />
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OrdersInventoryDataType">
    <xs:sequence>
    <xs:element name="Order" type="OrderType" maxOccurs="unbounded" />
    <xs:element name="Inventory" type="InventoryType" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>
    </xs:schema>

  2. حفظ الملف باسم OrderInventory.xml إلى القرص الثابت الخاص بك. نموذج مخطط متعدد الأبعاد وجود كل من أمر و مخزون العناصر التابعة لعنصر أورديرسينفينتوريداتا عنصر تابع المسمى ItemType complexType (عنصر عنصر تابع في علاقات الأصل-التابع بين) العنصر .
  3. في Visual Studio.NET، فتح جديد أو موجود Microsoft Visual Basic.NET أو Microsoft Visual C#.NET مشروع، مثل مشروع تطبيقات Windows أو مشروع "تطبيق وحدة تحكم".
  4. إضافة مستند OrderInventory.xml XML الذي قمت بإنشائه للمشروع.
  5. في "مستكشف الحلول"، انقر نقراً مزدوجاً لفتح OrderInventory.xml. يتم عرض طريقة عرض XML لمحتويات المستند في إطار مصمم XML.
  6. قم بالتبديل إلى طريقة عرض بيانات الإطار مصمم XML. تتلقى رسالة الخطأ التالية:
    على الرغم من أنه تم أيضا تشكيل مستند XML، يحتوي على بنية لا تعرض بطريقة. لا يمكن أن يكون نفس الجدول (عنصر) جدولاً تابعا في علاقتين متداخلتين
    ملحق اسم الملف.xml يؤدي إطار برنامج مصمم XML فتح بدلاً من إطار مخطط مصمم. ولذلك معاملة محتويات الملف XML العادية بدلاً من كمخطط XSD. عندما يتم فتح إطار مصمم XML Visual Studio.NET لعرض بيانات XML، يتم تطبيق قواعد الاستدلال مخطط ADO.NET لتحديد بنية مخطط مستند XML. من منظور استدلال مخطط ADO.NET، يستدل على عنصر XML complexType كجدول مستقل ولا يمكن أن يكون جدول جدول تابع في اثنين أو أكثر من علاقات الأصل-التابع. في نموذج مخطط تم تعريف العنصر من ItemType complexType تكون تابعة النظام (complexType أورديرتيبي) وعناصر المخزون (complexType إينفينتوريتيبي). هذا غير مسموح بها أو تدعمها قواعد الاستدلال مخطط ADO.NET في إصدار RTM من Microsoft.NET Framework.
  7. قم بإغلاق الإطار مصمم XML.
  8. في "مستكشف الحلول"، يمكنك إعادة تسمية OrderInventory.xml OrderInventory.xsd. للقيام بذلك، انقر نقراً مزدوجاً فوق الملف، ومن ثم انقر فوق إعادة تسمية.
  9. في "مستكشف الحلول"، انقر نقراً مزدوجاً لفتح OrderInventory.xsd. يتم عرض طريقة عرض XML لمحتويات المستند في إطار مصمم مخطط XML. قم بالتبديل إلى طريقة عرض مخطط ، ولاحظ أنه يتم عرض بنيات المخطط بشكل صحيح.
قد تتلقى أيضا رسالة الخطأ "لا يمكن أن يكون نفس الجدول (اسم جدول) جدولاً تابعا في علاقتين متداخلتين" عند استخدام ملفات XML مع Visual Studio.NET أو باستخدام الأداة المساعدة Xsd.exe.
لمزيد من المعلومات، انقر فوق رقم المقالة التالية لعرضها في "قاعدة معارف Microsoft":

325696 تتلقى رسالة إعلام بخطأ عندما تقوم بعرض بيانات XML متعددة الأبعاد في مصمم XML.NET Visual Studio

خصائص

رقم الموضوع: 325695 - آخر مراجعة: 15‏/01‏/2017 - المراجعة: 1

تعليقات