मैं XML में एक एकल पंक्ति कैसे टिप्पणी कर सकता हूं?


123

यह केवल एक सत्यापन है, बस याद नहीं करना है।

क्या XML में कोई लाइन-टिप्पणी नहीं है? तो, एक करीब के बिना, जैसे "//" कंपाइलर का उपयोग करता है।

मैंने देखा कि मैं XML में टैग का एक ब्लॉक कैसे टिप्पणी कर सकता हूं? और कई अन्य चर्चाएँ।

इस तरह की टिप्पणी किसी पंक्ति को उसके करीब कहीं भी परेशान किए बिना टिप्पणी करना व्यावहारिक होगा।


2
XML को इस धारणा पर डिज़ाइन किया गया है कि संपादक जैसे उपकरण अक्सर वर्ड-रैपिंग का प्रदर्शन करेंगे, और यह लाइन अंत इसलिए नाजुक हैं। यह एक बुरा विचार होगा यदि लाइन एंडिंग को केवल टिप्पणियों के मामले में संरक्षित किया जाना था।
माइकल काय

2
निश्चित रूप से संपादक केवल प्रदर्शन के लिए लाइनें लपेटते हैं । मुझे कभी भी मुश्किल से नई जानकारी नहीं मिली है कि मनमाने ढंग से फाइल में ही जोड़ा जाए। यह एक लाइन कमेंट नहीं होने का एक उपद्रव है।
जॉन व्हाइट

जवाबों:


147

नहीं, एक्सएमएल में एक लाइन पर टिप्पणी करने का कोई तरीका नहीं है और एक लाइनब्रेक पर टिप्पणी का अंत स्वचालित रूप से होता है।

XML की टिप्पणी के लिए केवल एक ही परिभाषा है :

'<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'

एसजीएमएल के साथ संगतता-- बनाए रखने के लिए एक्सएमएल टिप्पणियों में मना करता है ।


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

20

जैसा कि अन्य लोगों ने कहा है, एक्सएमएल में कानूनी रूप से एकल लाइन टिप्पणी करने का कोई तरीका नहीं है जो कई लाइनों पर टिप्पणी करता है, लेकिन , XML के सेगमेंट को आसान बनाने के तरीके हैं।

नीचे दिए गए उदाहरण को देखते हुए, यदि आप '>' को लाइन एक में जोड़ते हैं, तो XmlTag को असंगत किया जाएगा। '>' निकालें और यह फिर से टिप्पणी की गई है। यह सबसे आसान तरीका है जो मैंने बिना किसी चीज़ को तोड़े XML को जल्दी से टिप्पणी / असहज करने के लिए देखा है।

<!-- --
<XmlTag variable="0" />
<!-- -->

अतिरिक्त लाभ यह है कि आप केवल शीर्ष टिप्पणी में हेरफेर करते हैं, और नीचे की टिप्पणी बस हमेशा के लिए वहां बैठ सकती है। यह एसजीएमएल के साथ संगतता को तोड़ता है और कुछ एक्सएमएल पार्सर्स इस पर रोक देंगे। जब तक यह आपके XML में एक स्थायी स्थिरता नहीं है, और आपके पार्सर्स इसे स्वीकार करते हैं, यह वास्तव में कोई समस्या नहीं है।

स्टैक ओवरफ्लो और नोटपैड ++ के सिंटैक्स हाइलाइटर इसे मल्टी-लाइन कमेंट की तरह मानते हैं , सी ++ के बूस्ट लाइब्रेरी इसे मल्टी-लाइन कमेंट के रूप में मानते हैं, और एकमात्र पार्सर जो मैंने अब तक पाया है कि ब्रेक .NET में एक है, विशेष रूप से सी #। इसलिए, पहले यह सुनिश्चित कर लें कि आपके उपकरण, आईडीई, पुस्तकालय, भाषा आदि का उपयोग करने से पहले इसे स्वीकार कर लें।

यदि आप SGML संगतता की परवाह करते हैं, तो इसके बजाय बस इसका उपयोग करें:

<!-- -
<XmlTag variable="0" />
<!- -->

शीर्ष टिप्पणी के लिए '->' जोड़ें और नीचे टिप्पणी करने के लिए एक '-'। नीचे की तरफ हर बार नीचे टिप्पणी को संपादित करना होता है, जो संभवत: हर बार <!--शीर्ष पर और -->सबसे नीचे टाइप करना आसान होगा ।

मैं यह भी उल्लेख करना चाहता हूं कि अन्य टिप्पणीकार एक्सएमएल संपादक का उपयोग करने की सलाह देते हैं जो आपको एक्सएमएल के राइट-क्लिक करने और टिप्पणी / अनसुना करने वाले ब्लॉक की अनुमति देता है, जो शायद फैंसी खोज / प्रतिस्थापन चालों पर बेहतर है (यह भी अपने आप में एक अच्छे उत्तर के लिए बना देगा) लेकिन मैंने कभी ऐसे उपकरण का उपयोग नहीं किया है। मैं सिर्फ यह सुनिश्चित करना चाहता हूं कि जानकारी समय के साथ खो न जाए)। मैंने व्यक्तिगत रूप से कभी भी XML के साथ सौदा करने के लिए पर्याप्त नहीं किया है नोटपैड ++ की तुलना में एक संपादक प्रशंसक होने का औचित्य साबित करने के लिए, इसलिए यह पूरी तरह से आप पर निर्भर है।


3
दुर्भाग्य से, यह गलत है। युक्ति कहती है, अनुकूलता के लिए, स्ट्रिंग "-" (डबल-हाइफ़न) टिप्पणी के भीतर नहीं होना चाहिए।
कोजिरो

2
बेशक यह कानूनी नहीं है। उस पर युक्ति स्पष्ट है। XML पार्सर पोस्टेल के नियम का पालन कर सकते हैं और आपको इससे दूर कर सकते हैं, लेकिन एक अच्छी तरह से गठित चेकर इसे ध्वजांकित करेगा।
कोजिरो

4
जैसा कि @kojiro कहते हैं, "-" युक्त एक टिप्पणी अच्छी तरह से गठित XML नहीं है। "संगतता के लिए" वाक्यांश केवल इस भयानक नियम को शामिल करने के लिए उनके कारण बताते हुए कल्पना संपादक हैं: इसका मतलब यह नहीं है कि यदि आप संगतता में रुचि नहीं रखते हैं तो आप इस नियम को अनदेखा कर सकते हैं। उत्तर को गलत मानते हुए जवाब देना।
माइकल काय

10
आप इसे लिख सकते हैं <!-- ->और गैर-एक्सएमएल होने के बजाय डैश जोड़ने की बात हो सकती है।
कोजिरो

3
@RyanWH आपके लिए क्या काम कर रहा है, लेकिन आप जिस XML पार्सर का उपयोग कर रहे हैं, उस पर निर्भर करता है। व्यक्तिगत रूप से, मैं एक IDE (oXygen) का उपयोग करता हूं जो मुझे XML पाठ का एक टुकड़ा, राइट क्लिक का चयन करने की अनुमति देता है, और उसे टिप्पणी करने के लिए कहता है। जो आपकी तकनीक से बहुत आसान लगता है।
माइकल काय

12

यह HTML या जावास्क्रिप्ट ब्लॉक टिप्पणियों के समान है:

<!-- The to-be-commented XML block goes here. -->

5

रूढ़िवादी नहीं, लेकिन यह कभी-कभी मेरे लिए काम करता है; अपनी टिप्पणी को अन्य विशेषता के रूप में सेट करें:

<node usefulAttr="foo" comment="Your comment here..."/>

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.