Theory
आपने पूरी unit XML पहले ही पढ़ी है
FestConnect Mobile की हर layout और manifest XML थी। पर XML Android से बड़ा है: यह data store और move करने का एक general तरीक़ा है। अब सोचिए app से एक college server को एक fest registration भेजना। आपको दोनों तरफ़ समझ आने वाला एक format चाहिए, जो हर piece को साफ़ label करे: नाम, event, year।
यही XML का असली काम है। यह HTML जैसा दिखता है (angle-bracket tags), पर इसका purpose अलग है, और वह फ़र्क़ इस lesson का दिल है।
Theory
Labelled jars, एक printed poster नहीं
HTML एक printed poster है: यह decide करता है चीज़ें कैसी दिखती हैं, headings बड़े, paragraphs नीचे। XML labelled jars का एक set है: हर jar 'name', 'event', 'year' mark है, एक value रखते हुए, appearance के बारे में कुछ नहीं कहते हुए। आप एक database को poster नहीं पढ़ते, और आप jars दीवार पर नहीं टाँगते। Display बनाम data के लिए अलग tools।
Theory
XML को XML क्या बनाता है
XML (eXtensible Markup Language) tags में data structure करता है:
- Extensible: आप अपने ख़ुद tag names invent करते हैं (
<event>), HTML के fixed set (<p>,<h1>) के उलट। - Self-describing: tag names अंदर के data को describe करते हैं।
- Text-based और platform-independent: कोई भी system, कोई भी language इसे पढ़ सकता है।
- Data को presentation से अलग करता है: यह data carry करता है; इसे display नहीं करता।
Uses: systems के बीच data exchange, configuration files, और Android में, layouts, manifest, और string resources।
Practical
एक FestConnect registration XML की तरह
<registration>
<name>Aditi Shah</name>
<year>2</year>
<event>Robotics</event>
<paid>false</paid>
</registration>
<!-- Note: <name>, <year>, <event> are tags WE invented.
XML does not display this; it just structures the data
so any program can read each labelled value. -->This example runs in Gri-Learn on the web, where you can edit it and see the output.
At a glance
XML बनाम HTML
| Aspect | XML | HTML |
|---|---|---|
| Purpose | data structure करना | content display करना |
| Tags | आप इन्हें invent करते हैं | एक fixed set |
| Rules | strict (well-formed) | forgiving |
| Renders? | नहीं, सिर्फ़ data | हाँ, एक browser में |
Think first
'Self-describing' क्यों matter करता है
एक server ऊपर वाला XML बिना attached किसी manual के receive करता है। यह कैसे जानता है 'Robotics' event है और '2' year है? Explain कीजिए 'self-describing' आपको क्या देता है।
Show the answer
क्योंकि हर value एक tag में wrapped है जो इसे नाम देता है: <event>Robotics</event>, <year>2</year>। Data अपने ख़ुद के labels carry करता है, तो receiving program हर value का मतलब जानने के लिए tag पढ़ता है, बिना किसी अलग legend के। यही 'self-describing' है। एक बिना header वाली CSV line Aditi,2,Robotics से compare कीजिए, जिसे एक external note चाहिए बताने को कौन सा column क्या है। XML के labels data के साथ travel करते हैं।
Quiz
कौन सा statement XML और HTML के बीच फ़र्क़ सबसे अच्छे से पकड़ता है?
- XML custom tags से data structure करता है; HTML predefined tags से content display करता है
- XML और HTML अलग file names वाली same language हैं
- HTML आपको कोई भी tag invent करने देता है; XML का एक fixed tag set है
- XML browser में web pages render करता है जैसे HTML करता है
Show the answer
XML custom tags से data structure करता है; HTML predefined tags से content display करता है
XML आपके define किए tags इस्तेमाल करते हुए data structure करने के लिए है, जबकि HTML एक fixed, predefined tag set इस्तेमाल करते हुए content display करने के लिए है (A)। वे related हैं (दोनों markup) पर same language नहीं (B)। XML है, HTML नहीं, जो आपको tags invent करने देता है (C उल्टा है)। और XML अपने आप एक page render नहीं करता, यह सिर्फ़ data रखता है (D)। Data बनाम display, custom बनाम fixed, exam answer है।
Watch out
XML concept traps
1. 'XML data display करता है': नहीं। XML data store/structure करता है; कोई और चीज़ (एक program, एक stylesheet) कोई भी display decide करती है। HTML वह है जो render करता है।
2. 'XML के built-in tags हैं': नहीं हैं। आप अपने ख़ुद define करते हैं; यही 'extensible' का मतलब है।
3. XML को HTML जितना loose treat करना: XML strict है। Browsers sloppy HTML माफ़ कर देते हैं, पर XML well-formed होना ज़रूरी है (हर tag closed, एक root), जो अगले lessons cover करते हैं।
Theory
अगला: वे rules जो इसे valid बनाते हैं
XML की power strict rules के साथ आती है। अगला lesson XML syntax cover करता है, declaration line, tags, और elements, और 'well-formed' का मतलब: हर tag close कीजिए, हर attribute quote कीजिए, सही nest कीजिए। चूँकि Android एक भी malformed tag वाला layout build करने से मना करता है, यह practical है, सिर्फ़ theory नहीं।
Summary
Key takeaways
- XML (eXtensible Markup Language) आपके invent किए self-describing tags इस्तेमाल करते हुए data structure और carry करता है।
- HTML एक fixed tag set से content display करता है; XML data structure करता है और ख़ुद कुछ render नहीं करता।
- XML text-based, platform-independent है, और data को presentation से अलग करता है।
- Self-describing का मतलब है हर value अपना ख़ुद label (tag) carry करती है, तो कोई भी program इसे बिना legend के पढ़ सकता है।
- Uses: data exchange, config files, और Android layouts/manifest/string resources।
- Memory hook: labelled jars (XML data) बनाम एक printed poster (HTML display)।