2011-07-23 10 views
44

मैंने सुना है कि एक्सएमएल विशेषता मानों को घेरने के लिए सिंगल कोट्स का उपयोग करना एक "खराब शैली" है। क्या ये सही है?उद्धरण। एकल अथवा युगल?

मैं हमेशा लिखने चाहिए:

<element attr="value"> 

या यह लिखने के लिए स्वीकार्य है:

<element attr='value'> 

या यह कोई फर्क नहीं पड़ता जो शैली मैं का उपयोग करें?

+0

संभावित डुप्लिकेट [एक्सएमएल में उद्धृत डेटा को संग्रहीत करने का स्वीकार्य तरीका क्या है?] (Http://stackoverflow.com/questions/150423/whats-the-accepted-way-of-storing-quoted-data-in- xml) –

+5

@ कोडी ग्रे - जिस प्रश्न से आप लिंक करते हैं वह तत्व मान के साथ _within_ से बचने के बारे में पूछ रहा है, तत्व घोषणा में नहीं (यानी विशेषता मानों के आसपास)। – Oded

उत्तर

61

दोनों कानूनी हैं। एक चुनें और इसके साथ छड़ी। कोई फर्क नहीं पड़ता कि।

spec से

:

AttValue  ::=  '"' ([^<&"] | Reference)* '"' 
        | "'" ([^<&'] | Reference)* "'" 

, दिखा रहा है कि दोनों के रूप में मान्य हैं, एक तत्व के भीतर दो शैलियों का मिश्रण है प्रति विशेषता (हालांकि मैं दस्तावेजों के सेट किसी एक दस्तावेज/के भीतर लगातार किया जा रहा सुझाव है)।

+0

ठीक है। अब मैं इस पोस्ट का उपयोग कर दूषित कर सकता हूं :) –

+0

@ डॉटनेट निंजा - यह ऊंटकेस बनाम पास्कलकेज़ के बारे में बहस करने जैसा है ... – Oded

15

डबल कोट्स अधिक सामान्य हैं, और किसी विशेष समुदाय के लिए स्थिरता के लिए घर शैली को अपनाने के लिए यह स्वीकार्य है, लेकिन एक कंबल बयान है कि ऐसा करने का एक तरीका बेहतर है, कोई औचित्य नहीं है।

ऐसी सिफारिशें करना भी खतरनाक है, क्योंकि यह "बेताब पर्ल हैकर्स" को प्रोत्साहित करता है जो वास्तविक एक्सएमएल पार्सर का उपयोग करने के बजाय नियमित अभिव्यक्तियों का उपयोग करके एक्सएमएल का विश्लेषण करने का प्रयास करते हैं, और अनिवार्य रूप से केवल एक्सएमएल कानूनी रूप से अनुमति देता है ।

यदि मैं जावा अनुप्रयोगों से एक्सएमएल जेनरेट कर रहा हूं, तो मैं सुविधा के लिए सिंगल कोट्स का उपयोग करता हूं - हालांकि मैं इस दृष्टिकोण को तेजी से झुका रहा हूं कि हाथ से उत्पन्न करने वाला XML लगभग हाथ-पार्सिंग के रूप में खतरनाक है।

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