2009-05-28 11 views
7

मेरे पास शायद वास्तव में एक सरल, स्टडीड सवाल है लेकिन मुझे इसे कहीं भी जवाब नहीं मिल रहा है और मुझे इसके बारे में निश्चित रूप से सुनिश्चित होना चाहिए।क्या XML घोषणा टैग केस संवेदनशील है?

मेरे पास विभिन्न विक्रेताओं से विभिन्न एक्सएमएल फाइलें हैं। विक्रेताओं में से एक मुझे फाइल में जापानी पात्रों के साथ एक एक्सएमएल फ़ाइल प्रदान करता है। मूल रूप से, मुझे XML फ़ाइल को संसाधित करने में समस्या हो रही थी (मैं MSXML SDK का उपयोग कर रहा हूं)। पात्र गलत हो जाएंगे। मैंने पाया कि अगर निम्नलिखित XML फ़ाइल में जोड़ा गया था तो सबकुछ बढ़िया काम करता था।

<?xml version="1.0" encoding="UTF-16"?> 

और इसलिए मैंने विक्रेता से अपनी फ़ाइल में इसे जोड़ने के लिए कहा। लेकिन वे लोअर केस में एन्कोडिंग के साथ यह कहा:

<?xml version="1.0" encoding="utf-16"?> 

और जब मैं इस नए फ़ाइल लोड, इस घोषणा के साथ, मैं के रूप में जब इस घोषणा वहाँ नहीं था एक ही समस्या हो रही है।

जो मैं समझने की कोशिश कर रहा हूं (निश्चित रूप से) यह है कि यदि एन्कोडिंग विशेषता केस संवेदनशील है (या अन्यथा समस्या है)। क्या इससे कोई फर्क पड़ता है कि उन्होंने "यूटीएफ -16" बनाम "यूटीएफ -16" रखा है?

अद्यतन: यहां उत्तर पोस्ट करने वालों की सलाह के तहत, मैंने एक परीक्षण स्थापित और निष्पादित किया। एक फ़ाइल में निचला मामला utf-16 और अन्य ऊपरी मामला था। इसके अलावा, फाइलें समान थीं। इसने समस्या को ठीक नहीं किया और समस्या नहीं है। मेरा निष्कर्ष यह है कि एमएसएक्सएमएल उत्तर में पोस्ट किए गए spec के रूप में केस संवेदनशील नहीं है, राज्यों।

+0

जाहिर है कि समस्या एक संस्करण के साथ दूर हो जाती है और दूसरी बात यह नहीं है ... – workmad3

उत्तर

10

मुझे लगता है सवाल वास्तव में नहीं है "standrard केस-संवेदी है?" लेकिन "एमएसएक्सएमएल एसडीके में एन्कोडिंग केस-सेंसिटिव है?"

bytes.com से:

एक्सएमएल कल्पना का कहना है कि प्रोसेसर मैच एन्कोडिंग नाम केस-insensitively हो "चाहिए"। "SHOULD" एक तकनीकी शब्द है, से कम मजबूत "जरूरी" है, लेकिन मुझे कोई कारण नहीं दिख रहा है कि एक प्रोसेसर ऐसा क्यों नहीं करेगा।

हालांकि, हम जानते हैं कि यह हमेशा अभ्यास में सच नहीं हो सकता है। यदि आप दोनों तरफ से कोशिश कर सकते हैं, तो कृपया ऐसा करें और हमें बताएं कि परिणाम क्या है।

+0

मैं कर सकता हूं और कर सकता हूं। यह इसे स्थापित करने के लिए काफी प्रयास करता है। मैं उम्मीद कर रहा था कि किसी के पास एमएसएक्सएमएल का विस्तृत ज्ञान था .... –

+0

मैंने ऊपर एक अपडेट पोस्ट किया था। धन्यवाद। –

8

XML specs से:

XML processors SHOULD match character encoding names in a case-insensitive way 

तो यह आवश्यक नहीं है, लेकिन केस-संवेदी होने के लिए अनुशंसित, RFC 2119 के अनुसार:

  1. यह शब्द चाहिए, या विशेषण "अनुशंसित", इसका अर्थ है कि में विशिष्ट कारण मौजूद हो सकते हैं
    विशेष आइटम को अनदेखा करने के लिए विशेष परिस्थितियां, लेकिन पूर्ण प्रभावों को समझा जाना चाहिए और
    अलग-अलग पाठ्यक्रम चुनने से पहले सावधानी से वजन कम किया गया।
+0

हालांकि आपके और जोश जोर्डन के उत्तर समान हैं, लेकिन मैं उन्हें 'जवाब' देने जा रहा हूं क्योंकि उन्होंने बताया कि यह अभ्यास में सच नहीं हो सकता है और हमें एक तरफ से प्रयास करना चाहिए। लेकिन, मैं उचित उत्तर छोड़ने के लिए उपयुक्त हूं और मैं इसके लिए +1 करने जा रहा हूं। फिर से धन्यवाद। –

संबंधित मुद्दे