XML को "भाषा" क्यों कहा जाता है?


105

मैं सोच रहा था कि XML के नाम में L क्यों है।

अपने आप से, XML कुछ भी "नहीं" करता है। यह सिर्फ एक डेटा स्टोरेज फॉर्मेट है, भाषा नहीं! भाषाएं "बातें" करती हैं।

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

तो फिर XML को भाषा क्यों कहा जाता है? यह कुछ भी वर्णन नहीं करता है, यह व्याख्या नहीं करता है, यह सिर्फ है।

संपादित करें: शायद मेरा प्रश्न व्यापक होना चाहिए था। चूँकि उत्तर वर्तमान में है "क्योंकि XML का नाम SGML के नाम पर रखा गया था, जिसका नाम GML, आदि के नाम पर रखा गया था" प्रश्न यह होना चाहिए था, मार्कअप लैंग्वेज (जैसे XML) को भाषा क्यों कहा जाता है?

ओह, और नज़दीकी वोटों को गलत ठहराना: नहीं, मैं एक्स के बारे में नहीं पूछ रहा हूँ। मैं एल के बारे में पूछ रहा हूँ!


128
आप अपनी आवश्यकता के आधार पर क्या करते हैं कि किसी भाषा को कुछ करना है? मैं कम से कि परिभाषाओं में से किसी में नहीं दिख रहा है dictionary.com
kdgregory

10
जैसे स्वाहिली तभी समझ में आती है जब दोनों इसे समझें। या एक मेडिकल जर्नल लेख को समझा जाता है अगर पाठक भाषा के उस हिस्से को समझता है। यह अलग नहीं है। और लोग परिभाषाएँ बनाते हैं।
सामी कुहोनमेन

42
मार्कअप भाषा एक सामान्य शब्द है en.wikipedia.org/wiki/Markup_language
paparazzo

37
@ मॉस्टर: "वे मानव भाषाएँ हैं, न कि कंप्यूटर भाषाएँ" एक भाषा एक भाषा है। अपने सबसे चरम पर, यहां तक ​​कि अंग्रेजी को भी अनौपचारिक रूप से समझने के लिए प्रासंगिक जानकारी (जिसका प्रयोग किया जा रहा है) की आवश्यकता होती है। इसे भाषा होने से नहीं रोकता है। आपके प्रश्न का गलत आधार है।
ऑर्बिट

68
भाषाएँ बातें नहीं करते हैं, वे चीजों को व्यक्त करते हैं और संवाद करते हैं
हेगन वॉन एटिज़ेन

जवाबों:


238

असली जवाब एक्सएमएल में एक एल नाम है क्योंकि रेमंड एल ओरी नाम का एक लड़का 1970 के दशक में आईबीएम में पहली "मार्कअप भाषा" के डिजाइनरों में से था। डेवलपर्स को भाषा के लिए एक नाम ढूंढना था, इसलिए उन्होंने जीएमएल को चुना क्योंकि यह तीन डेवलपर्स (गोल्डफर्ब, मोशेर और लॉरी) के शुरुआती अक्षर थे। इसके बाद उन्होंने बैक्रोनियम सामान्यीकृत मार्कअप भाषा बनाई ।

यह बाद में SGML ( Standardized General Markup Language ) के रूप में मानकीकृत हो गया , और जब XML बनाया गया, तो डेवलपर्स SGML के पारिवारिक संबंध को इंगित करने के लिए ML-postfix को बनाए रखना चाहते थे, और उन्होंने सामने X को जोड़ा क्योंकि उन्हें लगा कि यह अच्छा लग रहा है। (हालांकि यह वास्तव में कोई मतलब नहीं है - XML ​​एक मेटा भाषा है जो आपको एक्स्टेंसिबल भाषाओं को परिभाषित करने की अनुमति देता है, लेकिन एक्सएमएल वास्तव में एक्स्टेंसिबल नहीं है।)

अपने दूसरे प्रश्न के लिए के रूप में अगर XML वैध रूप से एक भाषा कहा जा सकता है:

किसी भी संरचित पाठ (या बाइनरी) प्रारूप को कम्प्यूटेशनल रूप से संसाधित किया जा सकता है जिसे भाषा कहा जा सकता है। एक भाषा ऐसा कुछ भी "नहीं" करती है, लेकिन कुछ सॉफ़्टवेयर भाषा में इनपुट को संसाधित कर सकते हैं और इसके आधार पर कुछ कर सकते हैं।

आप ध्यान दें कि XML एक "स्टोरेज फॉर्मेट" है जो सच है, लेकिन एक टेक्स्ट स्टोरेज फॉर्मेट को एक भाषा कहा जा सकता है, ये शब्द परस्पर अनन्य नहीं हैं।

प्रोग्रामिंग भाषाएं भाषाओं का एक सबसेट होती हैं। Eg HTML और CSS भाषाएं हैं लेकिन प्रोग्रामिंग भाषा नहीं हैं , जबकि जावास्क्रिप्ट एक वास्तविक प्रोग्रामिंग भाषा है। उस ने कहा, प्रोग्रामिंग भाषा की कोई औपचारिक परिभाषा नहीं है , और भाषाओं का एक बड़ा ग्रे ज़ोन है जिसे आपके दृष्टिकोण के आधार पर या तो डेटा प्रारूप या प्रोग्रामिंग भाषा कहा जा सकता है।

इसे देखते हुए, XML स्पष्ट रूप से एक भाषा है। सिर्फ एक प्रोग्रामिंग भाषा नहीं है - हालांकि इसका उपयोग प्रोग्रामिंग भाषाओं को एक्सएसएलटी जैसे परिभाषित करने के लिए किया जा सकता है।

नाम स्थान के बारे में आपकी बात अप्रासंगिक है। Namespaces XML की एक वैकल्पिक विशेषता है और XML शब्दावली के शब्दार्थ को नहीं बदलते हैं। यदि तत्व में एक से अधिक शब्दकोष हो सकते हैं, तो तत्वों के नामों की अवहेलना करना आवश्यक है।


संपादित करें: reinierpost ने बताया कि आपने जो मुझे समझा था, उस प्रश्न के साथ कुछ अलग मतलब हो सकता है। हो सकता है कि आपका मतलब है कि विशिष्ट शब्दसंग्रह जैसे एक्सएचटीएमएल, आरएसएस, एक्सएसएलटी आदि भाषाएं हैं क्योंकि वे तत्वों और विशेषताओं को विशेष शब्दार्थ के साथ जोड़ते हैं, लेकिन एक्सएमएल मानक स्वयं विशिष्ट तत्वों और विशेषताओं के लिए किसी भी शब्दार्थ को परिभाषित नहीं करता है, इसलिए यह ऐसा महसूस नहीं करता है " असली भाषा ”।

मेरा उत्तर यह होगा कि XML सिंटैक्स और शब्दार्थ दोनों को परिभाषित करता है , यह सिर्फ एक अलग स्तर पर परिभाषित करता है। उदाहरण के लिए यह तत्वों और विशेषताओं और नियमों के वाक्यविन्यास को परिभाषित करता है कि उन्हें कैसे संसाधित किया जाए। XML एक "धातु भाषा" है जो अभी भी एक प्रकार की भाषा है (जैसे मेटाडेटा अभी भी डेटा है!)। एक उदाहरण के रूप में EBNF भी स्पष्ट रूप से एक भाषा है, लेकिन इसका उद्देश्य अन्य भाषाओं के वाक्य विन्यास को परिभाषित करना है, इसलिए यह एक धातु भाषा भी है।



19
@ स्नोमैन: एक "औपचारिक भाषा" जरूरी नहीं है कि आमतौर पर कंप्यूटिंग में एक भाषा कहा जाता है। उदाहरण के लिए एक "औपचारिक भाषा" को पाठकीय होने की आवश्यकता नहीं है - मशीन कोड एक औपचारिक भाषा के रूप में सबसे द्विआधारी प्रारूप और प्रोटोकॉल है। इसलिए मैं यह नहीं कहूंगा कि "औपचारिक भाषा" शब्द का अर्थ कंप्यूटिंग में "भाषा" के समान है।
जैक्सबी

15
मुझे किसी भी आवश्यकता के बारे में पता नहीं है कि किसी भाषा को पाठ्य की आवश्यकता है या पाठ की नहीं। टर्मिनलों से एक वाक्य के निर्माण के विचार का उन टर्मिनलों में बिट्स की मनमानी व्याख्या से कोई लेना-देना नहीं है, या किस प्रकार के कंप्यूटर (सिलिकॉन या कार्बन-आधारित) उन्हें पढ़ने में सक्षम हैं।

4
@ निचलोलस: अच्छा बिंदु, मशीन कोड निश्चित रूप से एक भाषा है। मुझे लगता है कि द्विआधारी भाषाओं को "प्रारूप" कहना अधिक आम है, उदाहरण के लिए आप जीआईएफ-प्रारूप को जीआईएफ-भाषा नहीं कहते हैं।
जैक्सबी

3
@BenCottrell: यह एक ग्राफ नहीं होगा, क्योंकि छोरों हो सकता है?
जाकबीस

181

क्योंकि यह एक भाषा है। एक मार्कअप भाषा, प्रोग्रामिंग भाषा नहीं।

ध्यान दें कि अंग्रेजी और स्पैनिश जैसी प्राकृतिक मानव भाषाएँ या तो कुछ भी "नहीं" करती हैं। वास्तव में, तकनीकी रूप से C ++ और Java और जैसे कुछ भी "नहीं" करते हैं जब तक कि उन्हें एक संकलक में नहीं खिलाया जाता है और आउटपुट निष्पादित हो जाता है। सामान करना और भाषा होना एक दूसरे के लिए काफी हद तक रूढ़िवादी हैं।


43
"संकलक" के लिए "दुभाषिया" को प्रतिस्थापित करें। एक संकलक को खिलाया जाना उन्हें कुछ भी "करने" के लिए नहीं बनाता है, या तो, यह बस उन्हें एक अलग भाषा में अनुवाद करता है, जो फिर से, कुछ भी नहीं करता है। सभी निष्पादन व्याख्या है। कभी-कभी, दुभाषिया बेहद सरल और सिलिकॉन में लागू हो सकता है, जिस स्थिति में हम इसे "निष्पादन इकाई" कहते हैं, लेकिन यह अभी भी एक दुभाषिया है। </nitpick>वैसे भी, अच्छा जवाब!
जॉर्ग डब्ल्यू मित्तग 19

8
@ JörgWMittag अच्छी बात है। चूँकि मैंने अनियमित रूप से उन भाषाओं को चुना है जो आम तौर पर संकलित हैं, "और आउटपुट निष्पादित हो जाता है"।
Ixrec

1
एक एक्स्टेंसिबल मार्कअप भाषा, यदि आप करेंगे।
doppelgreener

1
मैं तर्क दूंगा कि मानव भाषाएं "काम" करती हैं। भाषण-अधिनियम सिद्धांत देखें ...
रे

2
मीठी, मीठी ओर्थोगोनलिटी। एक अलग बीजगणित में भाषा को निष्पादित करें, और कार्यों का एक नया सेट सामने आता है। सिद्धांत के तहत, वैसे भी।
केनोगू लाबज़

103

आज्ञा देना Let एक गैर-रिक्त, प्रतीकों का एक सेट, जिसे वर्णमाला कहा जाता है । तब fin * परिमित शब्दों का वह गणनीय अनंत समुच्चय है जो or से शून्य या उससे अधिक प्रतीकों को मिलाकर बनाया जा सकता है। कोई भी अच्छी तरह से परिभाषित उपसमूह L ⊆-* एक भाषा है

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

<tag> soup &; not <//good>

स्पष्ट रूप से नहीं है। सबसेट XML * U * जो कि अच्छी तरह से गठित XML दस्तावेज है, वह निर्णायक (या "पुनरावर्ती") है। वहाँ एक मशीन (कलन विधि या कंप्यूटर प्रोग्राम) कि इनपुट के रूप में किसी भी शब्द लेता मौजूद डब्ल्यूयू * और अगर समय, आउटपुट की एक निश्चित राशि या तो 1 के बाद डब्ल्यू ∈ एक्सएमएल और 0 अन्यथा। ऐसा एल्गोरिथ्म किसी भी XML प्रोसेसिंग सॉफ्टवेयर का एक उप-रूटीन है। सभी भाषाएं निर्णायक नहीं हैं। उदाहरण के लिए, मान्य सी कार्यक्रमों का सेट जो समय की एक सीमित मात्रा में समाप्त होता है, यह नहीं है (इसे हॉल्टिंग समस्या के रूप में जाना जाता है)। जब कोई नई भाषा डिजाइन करता है, तो यह निर्णय लेना एक महत्वपूर्ण निर्णय होता है कि क्या यह जितना संभव हो उतना शक्तिशाली होना चाहिए या यह कि स्पष्टता निर्णायकता के पक्ष में बेहतर प्रतिबंधित होगी या नहीं।

कुछ भाषाओं को एक व्याकरण के माध्यम से परिभाषित किया जा सकता है जिसे भाषा का उत्पादन करने के लिए कहा जाता है । एक व्याकरण के होते हैं

  • शाब्दिक का एक निश्चित सेट (जिसे टर्मिनल प्रतीक भी कहा जाता है ),
  • व्याकरण के चरों के असंतुष्ट परिमित सेट (जिसे गैर-टर्मिनल प्रतीक भी कहा जाता है ),
  • वैरिएबल के सेट से लिया गया एक विशिष्ट प्रारंभिक प्रतीक , और
  • नियमों का एक निश्चित सेट (तथाकथित निर्माण ) जो कुछ प्रकार के प्रतिस्थापन की अनुमति देता है।

कोई भी शब्द जिसमें विशेष रूप से शाब्दिक शब्द होते हैं और आरंभिक चिह्न के साथ शुरू किया जा सकता है और फिर दिए गए नियमों को लागू करना व्याकरण द्वारा निर्मित भाषा का है।

उदाहरण के लिए, निम्नलिखित व्याकरण (बल्कि अनौपचारिक संकेतन) आपको दशमलव संकेतन में पूर्णांक प्राप्त करने देता है।

  1. व्याकरण के शाब्दिक अंक हैं 1, 2, 3, 4, 5, 6, 7, 8, 9, और 0
  2. चर प्रतीक S और D हैं
  3. S प्रारंभिक प्रतीक है।
  4. चर S की किसी भी घटना को प्रतिस्थापित किया जा सकता है
    • शाब्दिक 0या के साथ
    • 0चर डी के बाद के अलावा अन्य किसी भी शाब्दिक द्वारा ।
  5. चर D की किसी भी घटना को प्रतिस्थापित किया जा सकता है
    • चर डी या की एक और उदाहरण के बाद किसी भी शाब्दिक द्वारा
    • खाली तार द्वारा।

यहाँ बताया गया है कि हम कैसे प्राप्त करते हैं 42:

एस - (नियम 4, 2 एन डी संस्करण लागू करें ) → 4 डी - (नियम 5, 1 सेंट संस्करण लागू करें ) 42 डी - (नियम 5, 2 एन डी संस्करण लागू करें ) → 42

इस बात पर निर्भर करते हुए कि आप अपने व्याकरण में कितने विस्तृत नियमों की अनुमति देते हैं, यह साबित करने के लिए अलग-अलग परिष्कृत मशीनों की आवश्यकता होती है कि किसी दिए गए शब्द को वास्तव में व्याकरण द्वारा उत्पादित किया जा सकता है। ऊपर दिया गया उदाहरण एक नियमित व्याकरण है, जो सबसे सरल और सबसे कम शक्तिशाली है। व्याकरण के अगले शक्तिशाली वर्ग को संदर्भ-मुक्त कहा जाता है । ये व्याकरण सत्यापित करने के लिए भी बहुत सरल हैं। XML (जब तक कि मैं कुछ अस्पष्ट सुविधा से अवगत नहीं हूँ) को संदर्भ-मुक्त व्याकरण द्वारा वर्णित किया जा सकता है। व्याकरण का वर्गीकरण व्याकरण के चॉम्स्की पदानुक्रम (और इसलिए भाषाएँ) बनाता है । प्रत्येक भाषा जिसे एक व्याकरण द्वारा वर्णित किया जा सकता है, वह कम से कम अर्ध-पतनशील है(या "पुनरावर्ती enumerable")। यही है, एक ऐसी मशीन मौजूद है, जो एक ऐसा शब्द है जो वास्तव में भाषा से संबंधित है, इस बात का प्रमाण देता है कि यह व्याकरण द्वारा परिमित समय के भीतर उत्पादित किया जा सकता है, और कभी भी गलत प्रमाण का उत्पादन नहीं करेगा। ऐसी मशीन को वेरिफायर कहा जाता है । ध्यान दें कि एक शब्द दिए जाने पर मशीन कभी रुक नहीं सकती है जो वास्तव में भाषा से संबंधित नहीं है। स्पष्ट रूप से, हम चाहते हैं कि कम समय में अमान्य कार्यक्रमों को अस्वीकार करने में सक्षम होने के लिए हमारी प्रोग्रामिंग भाषाओं को कम शक्तिशाली व्याकरणों द्वारा वर्णित किया जाए।

स्कीमाटा एक्सएमएल का एक अतिरिक्त है जो अच्छी तरह से गठित दस्तावेजों के सेट को परिष्कृत करने की अनुमति देता है। एक सुव्यवस्थित दस्तावेज जो एक निश्चित स्कीमा का अनुसरण करता है, उस स्कीमा के अनुसार वैध कहलाता है । उदाहरण के लिए, स्ट्रिंग

<?xml version="1.0" encoding="utf-8" ?>
<root>all evil</root>

एक सुव्यवस्थित XML दस्तावेज़ है, लेकिन एक मान्य XHTML दस्तावेज़ नहीं है। XHTML , SVG , XSLT के लिए स्कीमाटा मौजूद है और क्या नहीं। स्कीमा सत्यापन भी एक एल्गोरिथ्म द्वारा किया जा सकता है जो हर इनपुट के लिए सीमित मात्रा में चरणों के बाद रुकने की गारंटी है। इस तरह के कार्यक्रम को एक सत्यापनकर्ता या एक वैध पार्सर कहा जाता है । स्कीमाटा को तथाकथित scema परिभाषा भाषाओं द्वारा परिभाषित किया गया है , जो औपचारिक रूप से व्याकरण को परिभाषित करने का एक तरीका है। XSD , XML के लिए आधिकारिक स्कीमा-परिभाषा भाषा है और स्वयं, XML- आधारित है। RELAX NG , XSD का अधिक सुरुचिपूर्ण, बहुत सरल और थोड़ा कम शक्तिशाली विकल्प है।

क्योंकि आप अपने स्वयं के स्कीमाटा को परिभाषित कर सकते हैं, एक्सएमएल को एक एक्सटेंसिबल भाषा कहा जाता है , जो "एक्सएम" में "एक्स" की उत्पत्ति है।

आप नियमों के एक सेट को परिभाषित कर सकते हैं जो एक्सएमएल दस्तावेजों को कंप्यूटर प्रोग्राम के विवरण के रूप में व्याख्या देता है। XSLT, जो पहले उल्लेख किया गया है, एक्सएमएल के साथ निर्मित ऐसी प्रोग्रामिंग भाषा का एक उदाहरण है। आम तौर पर, आप XML में लगभग किसी भी प्रोग्रामिंग भाषा के अमूर्त वाक्यविन्यास पेड़ को स्वाभाविक रूप से क्रमबद्ध कर सकते हैं, यदि आप यही चाहते हैं।


7
@ जियोर्जियो: गणित में, "अच्छी तरह से परिभाषित" मोटे तौर पर सिर्फ एक गहनता है: गणितीय रूप से मौजूद हर चीज पहले से ही अच्छी तरह से परिभाषित है।
केविन

9
@Giorgio "अच्छी तरह से परिभाषित" के साथ मेरा मतलब है कि एक औपचारिक विधेय है जो बताता है कि कोई आइटम सेट से संबंधित है या नहीं। यह विधेय सामान्य रूप से गणना योग्य नहीं होगा लेकिन इसे बिना किसी विरोधाभास के स्पष्ट रूप से निर्दिष्ट किया जाना है। अन्यथा, बुरी चीजें हो सकती हैं । "स्ट्रिंग्स ( डब्ल्यू , एम ) के जोड़े जहां एम एक ट्यूरिंग मशीन का सबसे छोटा विवरण है जो डब्ल्यू और फिर हाल्ट को आउटपुट करता है " एक अच्छी तरह से परिभाषित लेकिन गैर-कम्प्यूटेबल है ( कोलमोगोरोव जटिलता देखें )। …
5gon12eder 21

2
@ 5gon12eder: यह सेट ZFC के तहत मौजूद नहीं है (क्योंकि पृथक्करण का स्वयंसिद्ध स्कीमा वर्णन करने के लिए पर्याप्त शक्तिशाली नहीं है); यदि आप किसी अन्य सेट सिद्धांत का उपयोग कर रहे हैं, तो आपको इसे निर्दिष्ट करना चाहिए।
केविन

5
@ 5gon12eder: "सेट में सम्‍मिलित सभी तार सम्‍मिलित नहीं हैं"। "अच्छी तरह से परिभाषित" शब्द विडंबना है कि अच्छी तरह से परिभाषित नहीं है।
केविन

3
अच्छी तरह से गठित संपत्ति या मान्यता एक द्वारा किया जाता है व्याकरण । यदि आपने इसका उल्लेख किया था तो यह उत्तर एकदम सही था।
थिबॉल्ट डी।

31

कंप्यूटर विज्ञान में, औपचारिक भाषा केवल स्ट्रिंग्स का एक सेट है, आमतौर पर नियमों का उपयोग करके अनंत और अक्सर वर्णित है (उन नियमों के दो सामान्य संस्करण नियमित अभिव्यक्ति और औपचारिक व्याकरण हैं )।

ध्यान दें कि इसका मतलब है कि सभी भाषा की जरूरत है वाक्यविन्यास , भाषा को यह वर्णन करने की आवश्यकता नहीं है कि प्रत्येक वैध स्ट्रिंग का अर्थ क्या है (इसे शब्दार्थ कहा जाता है )।

अब, इसका मतलब है कि प्रोग्रामिंग भाषा औपचारिक भाषाएं हैं जिनमें शब्दार्थ भी हैं, जो कुछ संगणना का वर्णन करता है। और उदाहरण के लिए XHTML एक औपचारिक भाषा है, जिसका शब्दार्थ वर्णन करता है (मोटे तौर पर और अनौपचारिक रूप से) कि हाइपरटेक्स्ट दस्तावेज़ कैसे दिखता है और व्यवहार करता है।

एक्सएमएल अभी भी एक भाषा है, भले ही इसमें स्वयं शब्दार्थ नहीं है (लेकिन एक्सएमएल और एक्सएएमएल की तरह एक्सएमएल से प्राप्त कई भाषाएं हैं)।

तकनीकी रूप से, द्विआधारी प्रारूप भी भाषाएं हैं, लेकिन उन्हें इस तरह से नहीं कहा जाता है। "भाषा" शब्द मानव-पठनीय प्रारूपों के लिए आरक्षित है।


10
@ मैस्टरिस्टर क्योंकि वे मानव-पठनीय नहीं हैं। जब वे मानव-पठनीय नहीं होते हैं, तो हम उनके बजाय उन्हें प्रारूप या डेटा प्रारूप कहते हैं ।
मेसन व्हीलर

3
@JamesSnell निश्चित रूप से अन्य एमएल भाषा परिवार के साथ भ्रमित होने की नहीं। अधिक भीड़ वाले जिमों के लिए याय!
मेसन व्हीलर

3
यदि कोई JFIF के लिए पार्सर (या विशेष रूप से एक सत्यापनकर्ता) बनाने के लिए औपचारिक औजारों का उपयोग कर रहा है, तो इंजीनियर वास्तव में इसे "भाषा" के रूप में संदर्भित कर सकते हैं। हालांकि "व्याकरण" के रूप में अधिक संभावना है।
JDługosz

3
@MrLister: ठीक है, वे कर रहे हैं भाषाओं, लेकिन क्योंकि वे पुन: प्रयोज्य डेटा संरचनाओं को परिभाषित वे एक विशेष नाम है: प्रारूपों । लेकिन, हां, ये भाषाएं भी हैं।
ऑर्बिट

4
@MrLister: एक प्रारूप का नामकरण विपणन का एक प्रश्न है। XML लोगों ने XML को XML के लिए बुलाया क्योंकि "* ML" पूर्ववर्ती प्रारूप जैसे GML और SGML के लिए एक पारिवारिक संबंध को इंगित करता है, और क्योंकि उन्हें लगा कि यह सामने वाले X के साथ अच्छा लग रहा था। और GML को GML कहा जाता था क्योंकि यह एक सामान्यीकृत मार्कअप भाषा थी, लेकिन यह भी क्योंकि यह तीन भाषा डिजाइनरों की शुरुआती थी। तो मूल रूप से एक्सएमएल में एल है क्योंकि रेमंड एल ओरी नामक एक लड़का पहले मार्कअप भाषा के डिजाइनरों में से था।
जैक्सबी

12

एक भाषा सूचना देने की एक विधि है।

एक प्रोग्रामिंग भाषा एल्गोरिदम को व्यक्त करने की एक विधि है।

XML जैसी मार्कअप भाषा डेटा संप्रेषित करने के लिए एक भाषा है।


... और वह डेटा बहुत अच्छी तरह से एक एल्गोरिथ्म का वर्णन हो सकता है।
लुआं

@Luaan ... और डेटा को संप्रेषित करने के लिए एक प्रोग्रामिंग भाषा का भी दुरुपयोग किया जा सकता है। उदाहरण के लिए, JSON के साथ की तरह।
फिलिप

2
आप पुनर्विचार भी कर सकते हैं। मैंने NAnt स्क्रिप्ट (एक XML- आधारित भाषा) देखी है जिसमें C # कोड था, जिसका उपयोग केवल डेटा स्टोरेज के लिए किया जाता था। XML में स्ट्रिंग स्ट्रिंग का उपयोग करना। हां, यह उस तरह की बात है जो बड़े हो रहे पुरुषों को रोती है: पी
लुआण

2

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

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