سؤال

أنا أستخدم Apache Xerces 3.0.1 Xinclude. أريد استخدام آلية Xinclude لتضمين ملفات XML. لدي ثلاثة ملفات XML كلها في نفس الدليل. test_a.xml xincludes test_b.xml التي تشينكلائج test_c.xml. عندما يكون لدي Test_a.xml Xinclude Test_b.xml، يعمل. ومع ذلك، عندما يكون لدي test_b.xml xinclude test_c.xml أحصل على خطأ سطر الأوامر التالي:

C: Digital_Receiver Test> xinclude.exe test_a.xml test_z.xml parse test_a.xml قيد التقدم ... خطأ فادح في الملف C: Digital_receiver Test / Test_A.xml، السطر 3، Char 34 رسالة: لا يوجد مخطط في أوري الانتهاء.

test_a.xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<test_a xmlns:xi="http://www.w3.org/2001/XInclude">
  <xi:include href="test_b.xml"/>
</test_a>

test_b.xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<test_b xmlns:xi="http://www.w3.org/2001/XInclude">
  <ch>5</ch>
  <xi:include href="test_c.xml"/>
</test_b>

test_c: XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<test_c>
  <channel>1</channel>
</test_c>

سيكون موضع تقدير أي مساعدة.

هل كانت مفيدة؟

المحلول

بقدر ما أستطيع أن أقول، XML الخاص بك على ما يرام، لكنني لا أدعي أنه الكلمة الأخيرة في هذا.

انها بلدي خمن أنك تضرب الخلل في معالجة Xinclude. لاحظ أنه في حين أن هذا الرمز يبلغ من العمر ثلاث سنوات تقريبا، إلا أنه لم يكن كذلك صدر حتى xerces 3.0, ، لذلك قد يكون غير مختبر نسبيا. (ونظرت الطريقة التي قاعدة URIS الوثائق المدرجة يتم التعامل معها في Xinclude، ويبدو أن احتمال وجود خطأ هنا كما هو أكبر من 0.)

كحلارة، أقترح القيام بما تقترح رسالة الخطأ: أضف مخططا إلى URIS للملفات المضمنة. لسوء الحظ، بالنسبة لملف URIS، وهذا يعني أيضا أنك بحاجة إلى استخدام URI مطلقة.

test_a.xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<test_a xmlns:xi="http://www.w3.org/2001/XInclude">
  <xi:include href="file://path/to/directory/test_b.xml"/>
</test_a>

test_b.xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<test_b xmlns:xi="http://www.w3.org/2001/XInclude">
  <ch>5</ch>
  <xi:include href="file://path/to/directory/test_c.xml"/>
</test_b>

تحديث: هناك بالفعل علة مماثلة في Apache.org. (أعتقد أنه يصف نفس المشكلة، لكن الصياغة على التقرير يجعلها تبدو وكأنها حتى غير متزوج ستفشل طبقة الإدماج عند استخدام المسارات النسبية.)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top