محلل XML لا يشتكي لكن XMLeditor يشتكي من السمات الفارغة

StackOverflow https://stackoverflow.com/questions/1404218

  •  05-07-2019
  •  | 
  •  

سؤال

لدي برنامج يستخدم XSL-FO (org.apache.fop.apps.Driver) لإنشاء نسخة PDF مطبوعة من ملف XML.

أنا أعمل على أوراق الأنماط (xsl) وأحاول تسهيل عملية التصحيح.لدي ملف XML وXSL، والآن أريد فقط أن يريني المحرر ملف PDF الذي تم إنشاؤه بينما أعمل على ملف XSL.

لقد جربت العديد من المحررين وأظهروا أخطاء لا يبدو أن البرنامج لديه مشكلة فيها.

يبدو أن المشكلة تكمن في أن المحرر يتوقع أن يرى:

<ATTRVALUE attribute_id="92" attrname="Date Required" attr_value="" />

بينما XML الفعلي الذي ينشئه البرنامج هو

<ATTRVALUE attribute_id="92" attrname="Date Required" attr_value />

كما ترون فإن قيمة attr_value الفارغة تفتقد بوضوح قيمة ="" - هل هناك طريقة بالنسبة لي لجعل المحرر أقل صرامة؟حتى يتمكن من إنشاء ملف PDF مثلما يفعل البرنامج الذي أستخدمه؟

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

المحلول

<ATTRVALUE attribute_id="92" attrname="Date Required" attr_value />

وهذا الخط غير صالح كما ذكر من قبل. البرنامج الذي يعتقد انه بخير وربما تستخدم انها المخصصة الخاصة XML محلل التي سوف فقط تجاهل هذه الصفات غير صالحة. يجعلني ديهم شكوك حول الصفات البرمجة للشعب الذي خلق هذا البرنامج. هو فقط يبدو لي انهم مجرد كتابة هذا XML كنص بدلا من خلال آلية XML-DOM. ومع ذلك، ينبغي أن يكون بخير ولكن للأسف، مدوناتها لديه علة.

ومعظم إذا لم يكن على عموم XML المحررين وموزعي والمحولات والتحقق من صحة XML قبل أن يتم معالجتها. ذلك لسوء الحظ ليس هناك حل جيد لإصلاح هذه المشكلة من داخل ملف XSLT. باستخدام التعابير المنطقية، هل يمكن إزالة السمات غير صالحة أو جعلها صالحة بإلحاق = "" بالنسبة لهم، ولكن ليس هناك طريقة للقيام بذلك قبل XSLT سوف تحقق من صحة XML.

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

نصائح أخرى

XML الذي يحتوي على attr_value وno = غير صالح مواصفات W3C XML ولذا يجب أن تشكو جميع أدوات XML.ما الأداة التي تستخدمها؟

حسنا، لقد استعملت فقط التعبير منتظم البحث واستبدال كافة أسماء السمة، إذا كانوا لا ينتهي مع = "" ثم أضيف أنه الآن يبدو أن كل شيء طيب ... عرجاء، ولكن كل شيء على مايرام بالنسبة لي يحتاج في هذه اللحظة

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