سؤال

ذات مرة كان لدي doctype صالحة و XML صالحة. لقد وضعت الأول فوق الأخير ، CNTRL-S'D وها: كان كل شيء كما ينبغي أن يكون كل شيء. في الوقت الحاضر لدي مخطط صالح (تم تصميمه خصيصًا لـ XML لا يزال صالحًا). جربت نفس نهج مجرب وحقيقي - لكن للأسف ، لا نجاح.

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

لا يمكن العثور على إعلان العنصر "XS: Schema".

و

يجب أن تكون الترميز في المستند التالي لعنصر الجذر جيدًا.

(و لكنها!)

إذا كان من المفيد الحصول على XML والمخطط ، من فضلك لا تتردد في السؤال, ، اعتقدت أنه نظرًا لأن كلاهما صالحان وطويل ، سأحاول تركهما في البداية. كل ما أفعله هو وضع المخطط أعلى XML وإرساله من خلال المدقق/المتصفح.

شكرًا!

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

المحلول

NONA A SCHEMA هو وثيقة جيدة التشكيل وكذلك مثيلك. ومع ذلك ، إذا قمت بتسلسلهم ، فإن النتيجة لم تعد تشكل جيدًا.

إذا كان ما لديك هو:

<xs:schema ...>...</xs:schema>
<myxml ...>...</myxml>

هذا ليس جيدًا (لا يوجد عنصر جذر واحد)

السبب في أن نهج DTD مختلف هو أن المجموعة الفرعية الداخلية مسموح بها على وجه التحديد إلى عنصر الجذر. لذا:

<DOCTYPE myxml [
... my DTD ...
]>
<myxml ...>...</myxml>

تم تشكيله بشكل جيد.

لسوء الحظ ، ليس من التافهة ربط المخطط بمثيل. قد تضطر إلى النظر إلى xsi:schema-location.

تحديثلسوء الحظ ، تعتمد الإجابة على إطار البرنامج الذي تستخدمه. AFAIK لا توجد طريقة لتعبئة مستند ومخطط بحيث يقبل أي برنامج ويحاول التحقق منه. هذا هو السبب في أن المخططات هي جهد أكثر بكثير من DTDs.

فيما يلي موقع بسيط حيث يمكنك إرسال المستندتين والاختبار.

أي شيء يتجاوز ذلك قد يحتاج إلى معرفة بالبرنامج. سيكون هناك طرق مختلفة وفقًا لما إذا كنت تستخدم Oracle و Microsoft ، وما إلى ذلك ، يمكن القيام بذلك عن طريق استدعاء طرق لتحميل المستند ، وتحميل المخطط ثم التحقق من صحة ، أو إعداد الخصائص (كما يمكن القيام به في Xerces).

قد تعتمد الإجابة على سبب قيامك بذلك. إذا كنت تقوم بتقديم مستندات إلى مالك المخطط ، فسيكون لديهم نظام التحقق من صحة. إذا اضطررت إلى valiadte ضد مخطط شخص آخر ، فستحتاج إلى الحصول على برنامج Schemavalidation وتشغيل هذا. هل أنت على MS أو Unix/Java؟

المزيد من التحديثيقترح ما هي أفضل طريقة للتحقق من صحة ملف XML مقابل ملف XSD؟كما يقولون أنه لا يوجد نهج بسيط للغاية.

نصائح أخرى

مجرد طعنة في الظلام ، ولكن هل لديك بادئة مساحة اسم مخطط XML المعلنة على عنصر الجذر؟ إنه xmlns: xs = "http://www.w3.org/2001/xmlschema". إذا لم تكن بادئة مساحة الاسم غير مرتبطة باسم مساحة الاسم ، فإن المستند غير صالح.

في خطر ذكر ما هو واضح ، قد ترغب في النظر في أسباب إعلان العنصر XS: لا يمكن العثور على المخطط من قبل المدقق.

يشير الخطأ الثاني إلى أن هناك شريحة زاوية مفقودة في مكان ما ، أو أن هناك بعض العناصر التي لا تتداخل بشكل صحيح.

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