Jaxb in Java 6 لا تبتعد عن بادئة مساحة الاسم الصحيحة في ملف XML المحلي

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

  •  27-09-2019
  •  | 
  •  

سؤال

لدي مخطط مع سمات متابعة في عنصر المخطط:

<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:abc="http://abc.example.com" targetNamespace="http://abc.example.com" elementFormDefault="qualified" attributeFormDefault="unqualified">

يمكنني تجميعها والحصول على دروس جافا. باستخدام هذه الفئات ، قمت بملء البيانات في كائن ما وحمزتها للحصول على ملف XML.

لكن عناصر XML في هذا الملف الذي تم تنظيمه لا يوجد بادئة "ABC".

لقد قمت بالتعديل قليلاً باستخدام XMLStreamWriter.setPrefix أثناء التنقل ، ويمكنني الحصول على ملف XML مع جميع العناصر المسبقة باسم "ABC".

الآن عندما أحاول إلغاء تحديد ملف XML نفسه ، فإنه يلقي خطأ قائلاً:

org.xml.sax.saxparsexception: البادئة "ABC" للعنصر "ABC: Name" غير ملزم.

الرجاء مساعدتي في كيفية إخبار Jaxb بأن ABC هي بادئة صحيحة.

شكرا لك براديب

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

المحلول

اسم البادئة لا معنى لها. كل ما تفعله هو إجراء اتصال بين مساحة الاسم والعلامات التي تنتمي إلى مساحة الاسم. ما إذا كانت البادئة ABC أو مساحة الاسم أو لا توجد بادئة لأن مساحة الاسم الافتراضية لا تهم. بقدر ما أعرف ، لا يمكنك فرض استخدام بادئة أو الاسم المحدد لبادئة في JaxB.

نصائح أخرى

في المقالة أدناه ، أوضح كيف يمكن تحقيق ذلك باستخدام NamespacePrefixMapper من Jaxb RI ، و @XmlSchema التعليقات التوضيحية مع Eclipselink jaxb (moxy):

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