"कसं चाललंय?"

"उत्तम. तक्रार करू शकत नाही. आज बिलाबोने मला JavaScript बद्दल सांगितले. सर्व काही नाही, अर्थातच, परंतु थोडेसे जास्त. अर्थात, मी अजूनही JS मध्ये काहीही लिहिले नाही, पण मला वाटत नाही की तसे होईल. कठीण."

"आणि एलीने मला JSON सीरियलायझेशनबद्दल सांगितले. आणि तुम्ही जॅक्सन फ्रेमवर्क आणि भाष्य वापरून 'पॉलीमॉर्फिक डिसिरियलायझेशन' कसे सेट करायचे ते स्पष्ट केले."

"काही नाही! तू आता हुशार आहेस, अमिगो! एक खरा स्टड!"

"आणि मग काही!"

"ठीक आहे. चला कामाला लागा. आज आपल्याकडे एक नवीन, मनोरंजक विषय आहे: XML. "

XML, XML मध्ये क्रमिकरण - 1

"एक्सएमएल हे डेटाचे प्रतिनिधित्व करण्यासाठी एक मानक आहे जो मानवांद्वारे सहज वाचता येऊ शकतो-आणि प्रोग्रामद्वारे अधिक सहजपणे. येथे एक उदाहरण XML फाइल आहे:"

XML
<data>
<owner first="Adam" last="Shelton">
<address>London</address>
</owner>
<cat name="Missy" age="15"/>
</data>

"XML चा पाया टॅग आहे. टॅग हा कोन कंसातील एक शब्द आहे (त्यापेक्षा जास्त आणि कमी-चिन्ह). तेथे ओपनिंग आणि क्लोजिंग टॅग आहेत. प्रत्येक ओपनिंग टॅगमध्ये अगदी एक संबंधित क्लोजिंग टॅग असतो. ओपनिंग टॅगमध्ये विशेषता असू शकतात. "

"टॅग टॅगमध्ये नेस्टेड केले जाऊ शकतात, ज्यामुळे एक घटक वृक्ष तयार होतो. शीर्ष-स्तरीय टॅगला रूट म्हणतात: त्यात चाइल्ड टॅग असतात, ज्याचे स्वतःचे चाइल्ड टॅग असतात."

"येथे काही उदाहरणे आहेत:"

टॅग करा वर्णन
< डेटा > डेटा टॅग उघडत आहे
</ डेटा > डेटा टॅग बंद करत आहे
<मांजरीचे  नाव = " मिसी " वय = " १५ "> विशेषता असलेला टॅग. विशेषता मूल्ये अवतरणांमध्ये गुंडाळलेली आहेत
<data>
<owner>
<cat name = "Missy"/>
</owner>
</data>
नेस्टेड टॅग.
< मांजरीचे नाव = "मिस्सी" वय = "१५"  /> सेल्फ-क्लोजिंग टॅग.
अशा टॅगला क्लोजिंग टॅगची गरज नसते.
आणि त्यांना चाइल्ड टॅग असू शकत नाहीत.
<info>
कोणत्याही प्रकारची माहिती येथे जाऊ शकते
</info>
टॅगमध्ये मजकूर डेटा असू शकतो
<info>
कोणत्याही प्रकारची
<data xxx="yyy">
</data>
माहिती
<data 2xxx = "yyy"/>
येथे जाऊ शकते
</info>
टॅगमध्‍ये इतर टॅगसह अंतर्भूत केलेला मजकूर डेटा असू शकतो.

"हे सोपे दिसते. कोणत्या प्रकारचे टॅग आहेत?"

"कोणत्याही प्रकारचे. कोणतेही आरक्षित टॅग नाहीत. XML ही कोणत्याही डेटाचे वर्णन करण्याची भाषा आहे. लोक त्यांच्या गरजा पूर्ण करणारे टॅग घेऊन येतात आणि ते कसे वापरायचे यावर सहमत असतात."

"मूलत:, XML हा एक घटक वृक्ष म्हणून डेटा लिहिण्याचा एक मार्ग आहे जो संगणक समजू शकतो."

"मला वाटतं मला आता समजलं. बाय द वे, मला एक प्रश्न आहे."

"JSON चा वापर ब्राउझरवरून सर्व्हरवर डेटा पाठवण्यासाठी केला जातो, पण XML कुठे वापरला जातो?"

"जेएसओएन वापरला जातो त्याच ठिकाणी: डेटा संचयित करण्यासाठी आणि पाठवण्यासाठी."

"ठीक आहे, सुरू ठेवूया."

"कल्पना करा की तुमच्याकडे एक शेअर केलेली XML फाईल आहे जी वीस लोकांद्वारे लिहिलेल्या प्रोग्रामसाठी डेटा संग्रहित करते. त्यांच्यापैकी प्रत्येकाचे स्वतःचे टॅग येतात आणि ते पटकन एकमेकांमध्ये हस्तक्षेप करू लागतात."

"टॅग अद्वितीय आहेत याची खात्री करण्यासाठी, उपसर्ग शोधण्यात आले. ते असे दिसतात:"

टॅग्ज वर्णन
< प्राणी :मांजर> प्राण्यांच्या उपसर्गासह मांजरीचा टॅग
< प्राणी : मांजर>
</ प्राणी: मांजर>
< प्राणीसंग्रहालय : मांजर>
</ प्राणीसंग्रहालय : मांजर>
भिन्न उपसर्गांसह दोन कॅट टॅग.
< प्राणी : मांजर  प्राणीसंग्रहालय : नाव = "एमएक्स"> प्राण्यांच्या उपसर्गासह मांजरीचा टॅग . प्राणीसंग्रहालय उपसर्गासह नाव विशेषता .

"उपसर्गांना नेमस्पेस देखील म्हटले जाते. जर आपण त्यांना नेमस्पेस म्हटले, तर सारणीतील शेवटचे वर्णन 'प्राण्यांच्या नेमस्पेससह एक मांजर टॅग. प्राणीसंग्रहालयाच्या नेमस्पेससह नाव विशेषता' असे होईल."

"तसे, तुम्हाला आठवत आहे का की Java मध्ये प्रत्येक वर्गाला एक लहान नाव आणि एक लांब अनन्य नाव आहे ज्यामध्ये पॅकेजचे नाव समाविष्ट आहे, जे पॅकेज आयात करताना देखील निर्दिष्ट केले आहे?"

"हो."

"ठीक आहे, उपसर्गांना देखील एक अद्वितीय लांब नाव असते आणि ते आयात केल्यावर देखील निर्दिष्ट केले जाते: "

उदाहरण
< data  xmlns:soap="http://cxf.apache.org/bindings/soap" >
 < soap :item> 
< soap :info/> 
</ soap :item> 
</ data >

"' xml ns :soap' म्हणजे ' XMLn ame s pace SOAP'"

"आपण कोणतेही उपसर्ग नसलेल्या टॅगचे अनन्य नाव देखील सेट करू शकता: "

उदाहरण
<data xmlns = "http://www.springframework.org/schema/beans" 
xmlns: soap = "http://cxf.apache.org/bindings/soap" 
xmlns:task = "http://www.springframework .org/schema/task" > 
< soap :item> 
< soap :info/> 
< task :info/> 
</ soap :item> 
</data>

"'xmlns=…' रिक्त उपसर्गासाठी नेमस्पेस सेट करते. दुसऱ्या शब्दांत, ते उपसर्गाशिवाय टॅगसाठी नेमस्पेस सेट करते, जसे की वरील उदाहरणातील डेटा."

"तुम्हाला हव्या तितक्या दस्तऐवजात नेमस्पेसेस असू शकतात, परंतु प्रत्येकाचे वेगळे नाव असणे आवश्यक आहे."

"मी पाहतो. या नेमस्पेसेसना अशी विचित्र अनोखी नावे का आहेत?"

"ते सहसा एक URL सूचित करतात जे एखाद्या दस्तऐवजाकडे निर्देश करतात जे नेमस्पेस आणि/किंवा त्याच्या XML टॅगचे वर्णन करतात."

"तू आज माझ्यावर खूप माहिती टाकलीस. अजून काय आहे?"

"अजून थोडं बाकी आहे."

"प्रथम, XML ला शीर्षलेख आहे. ही XML आवृत्ती आणि फाइल एन्कोडिंगचे वर्णन करणारी एक विशेष ओळ आहे. "हे सहसा असे दिसते:"

"हे सहसा असे दिसते:"

उदाहरण
<?xml  आवृत्ती = "1.0"  एन्कोडिंग = "UTF-8"?>
<data xmlns:soap = "http://cxf.apache.org/bindings/soap">
<soap:item>
<soap:info/>
</soap:item>
</data>

"तुम्ही XML मध्ये टिप्पण्या देखील जोडू शकता. टिप्पणी सुरू करण्यासाठी, '<!--' वापरा. ​​समाप्त करण्यासाठी, '-->' वापरा."

उदाहरण
<?xml version = "1.0" encoding = "UTF-8"?>
<data xmlns:soap = "http://cxf.apache.org/bindings/soap">
<soap:item>
<!-- <soap:info/> -->
</soap:item>
<!-- This is also a comment  -->
</data>

"मला आतापर्यंत समजले आहे."

"विशिष्ट चिन्हे (< > "&) चा XML मध्ये विशेष अर्थ आहे, त्यामुळे ते इतरत्र वापरले जाऊ शकत नाहीत. आम्ही हे निर्बंध एका एस्केप सीक्वेन्ससह मिळवू शकतो—अन्य वर्ण/चिन्हांचे प्रतिनिधित्व करण्यासाठी वापरल्या जाणार्‍या वर्णांचा संच. त्यापैकी काही येथे आहेत:"

सुटण्याचा क्रम ते बदलते असे प्रतीक
& आणि
" "
< <
> >
' '

"आणि येथे XML मध्ये एम्बेड केलेल्या कोडचे उदाहरण आहे:"

जावा कोड XML मध्ये जावा कोड
if (a < b)
System.out.println("a is minimum");
<code>
जर (a  <  b)
 System.out.println( " a किमान आहे " );
</code>

"अरे... ते सुंदर दिसत नाही."

"तुम्हाला आठवत असेल की जावामध्ये काही अक्षरे देखील सुटलेली आहेत? उदाहरणार्थ, "\". आणि स्ट्रिंगवर लिहिताना हा क्रम देखील दोनदा लिहिला गेला पाहिजे? त्यामुळे ही एक सामान्य घटना आहे."

"ठीक आहे."

"आज माझ्याकडे एवढेच आहे."

"हुर्रे. मी शेवटी ब्रेक घेऊ शकतो."