2013-06-07 3 views
5

समस्या:

जब व्हाइटस्पेस महत्वहीन है, तो प्रतिनिधित्व बहुत महत्वपूर्ण हो सकता है।मैं पाइथन के तत्व के साथ व्हाइटस्पेस को कैसे प्रबंधित करूं?

स्पष्टीकरण:

में XML स्कीमा भाग 2: डेटाटाइप द्वितीय संस्करण बाधा पहलू खाली स्थान केस्ट्रिंग (http://www.w3.org/TR/xmlschema-2/#rf-whiteSpace) से व्युत्पन्न प्रकार के लिए परिभाषित किया गया है। यदि यह व्हाइटस्पेस पहलू या को संकुचित करता है, तो normalization के दौरान मूल्य बदला जा सकता है।

वहाँ Section 4.3.6 के अंत में एक नोट है:

अंकन यहां इस्तेमाल किया है (और यह विनिर्देश में कहीं) यूनिवर्सल वर्ण सेट (यूसीएस) कोड बिंदु हेक्साडेसिमल एक (लाइन फ़ीड का प्रतिनिधित्व करता है #xA), जिसे यू + 000 ए द्वारा दर्शाया गया है। यह नोटेशन & #xA से अलग होना है, जो कि उसी यूसीएस कोड बिंदु का एक्सएमएल वर्ण संदर्भ है।

उदाहरण:

एक तत्व ELEM के लिए डेटाप्रकार एक खाली स्थान के बाधा पतन है, तो "<elem> text </elem>" हो जाना चाहिए "text" (प्रमुख और व्हाइटस्पेस निकाल अनुगामी), लेकिन "<elem>&#x20;text&#x20;</elem>"" text " (सफेद स्थान को हो जाना चाहिए चरित्र संदर्भ द्वारा एन्कोड किया गया नहीं हटाया गया)।

सवाल:

तो या तो पार्सर/पेड़ बिल्डर इस सामान्य संभालती है या यह बाद में किया जाता है।

  • सूचित पार्स:
    • मैं पार्सर या कैसे कुछ XML तत्व को सामान्य बनाने के बारे में जानकारी के साथ पेड़ बिल्डर कहाँ प्रदान करते हैं?
    • क्या set_whitespace_normalization('./country/neighbor', 'collapse') जैसी कोई बात है?
    • क्या पार्सर या पेड़ निर्माता में normalize(content) जैसे हुक है?
  • पोस्ट प्रसंस्करण
    • मैं कैसे कुछ तत्व की मूल सामग्री उपयोग करते हैं?
    • क्या कोई elem.original_text है, जो "&#x20;text&#x20;" वापस कर सकता है?
    • क्या elem.unnormalized_text है, जो "  text  " वापस कर सकता है?

मैं पायथन के xml.etree उपयोग करना चाहते हैं।ElementTree लेकिन मैं नौकरी करता है कि किसी भी अन्य एक्सएमएल लाइब्रेरी पर विचार करेंगे।

अस्वीकरण:

बेशक यह बुरा शैली खाली स्थान के तुच्छ घोषित करने के लिए है चरित्र संदर्भ का उपयोग करके धोखा देने के लिए (की जगह या पतन) और फिर। ज्यादातर मामलों में या तो डेटा या स्कीमा को रोकने के लिए बदला जाना चाहिए, लेकिन कभी-कभी आपको विदेशी एक्सएमएल स्कीमाटा और विदेशी एक्सएमएल दस्तावेज़ों के साथ काम करना होगा। और उपरोक्त उद्धृत नोट का निचला अस्तित्व इंगित करता है कि एक्सएमएल संपादक इस दुविधा के बारे में जानते थे और जानबूझकर इसे रोक नहीं पाए।

उत्तर

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