Characteristic and use of XML

XML data को self-describing, user-defined tags में carry करता है: platform-neutral, presentation-free, और strict, यही वजह है fest की event list एक file से website और app दोनों को feed कर सकती है।

9 min read · 10 cards · 2 checks

Read in: English · हिन्दी · ગુજરાતી


Theory

Event List 4 जगहों पर रहती है

FestConnect, BCA305-01 में आपने जो fest site बनाई थी, success का एक problem रखती है। Event list home page के HTML में hardcoded है। और schedule page में। और registration page में। और BCA305-02 का Android app अपनी खुद की copy carry करता है।

Fest committee Garba Night का venue बदलती है, और 4 copies edit करनी पड़ती हैं; एक miss कीजिए और students ग़लत ground पर चले जाते हैं।

Data ONCE रहना चाहता है, ऐसे form में जिसे सब कुछ पढ़ सके। इस unit का answer है XML।

Theory

Labelled Dabbas, Printed Plates नहीं

एक HTML page एक printed plate है: food एक table के लिए arranged, presentation included।

एक XML file labelled dabbas का एक tiffin है: हर container बताता है अंदर क्या है (<venue>, <time>), कुछ भी नहीं बताता इसे कैसे serve किया जाए। Website उन्हीं dabbas को एक तरीके से plate करती है, app दूसरे तरीके से, और कल का नया consumer (एक notice-board display?) खुद अपने-आप serve कर लेता है।

XML carry करता है; consumers present करते हैं।

Theory

XML, Formally

XML (eXtensible Markup Language) self-describing text में data store और transport करने के लिए एक markup language है।

Exam जो characteristics list करता है:

  • User-Defined Tags: <event>, <venue> आप invent करते हैं; कुछ भी predefined नहीं (यही eXtensible है)
  • Self-Describing: tag names data को document करते हैं
  • Platform और Language Independent: plain text; कोई भी OS, कोई भी language इसे parse करता है
  • Data को Presentation से Separate करता है: कोई fonts नहीं, कोई colours नहीं, सिर्फ़ meaning
  • Strict: rules (अगले lessons) जिन्हें parsers bend करने से मना कर देते हैं

Practical

events.xml: Fest का Single Source of Truth

<?xml version="1.0" encoding="UTF-8"?>
<events>
  <event id="1">
    <name>Garba Night</name>
    <venue>Main Ground</venue>
    <time>19:30</time>
    <seats>350</seats>
  </event>
  <event id="2">
    <name>Coding Contest</name>
    <venue>Lab 2</venue>
    <time>10:00</time>
    <seats>60</seats>
  </event>
</events>

At a glance

HTML बनाम XML (Standard Comparison)

AspectHTMLXML
PurposeData DISPLAY करनाData CARRY और store करना
TagsPredefined (<h1>, <p>)User-defined (<event>, <venue>)
RulesForgiving: browsers guess करते हैंStrict: parsers errors refuse करते हैं
CaseInsensitiveSensitive: <Name>, <name> नहीं है
PresentationBuilt inकोई नहीं: consumers decide करते हैं

Quiz

XML primarily क्या करने के लिए designed है?

  1. Browser में data को attractively display करना
  2. Self-describing form में data store और transport करना
  3. Web pages बनाने के लिए HTML को replace करना
  4. Faster networks के लिए data compress करना
Show the answer

Self-describing form में data store और transport करना

XML labelled dabba है: यह meaning के साथ data carry करता है और looks के बारे में कुछ नहीं कहता। Option A HTML का job है, और display-vs-carry ही 2 के बीच THE exam distinction है। Option C इनके relationship को misread करता है: वे अलग jobs वाले colleagues हैं, और FestConnect दोनों इस्तेमाल करती है (दिखाने के लिए HTML, store करने के लिए XML)। Option D almost backwards है: self-describing tags XML files को raw data से LARGER बनाते हैं, readability और independence के लिए willingly दी गई एक price।

Think first

आप पूरे Semester XML लिख चुके हैं

Tap करने से पहले: BCA305-02, Android subject में, आप इस unit की theory के बिना कहाँ पहले से XML files लिख रहे थे?

Show the answer

हर जगह: हर layout file (activity_main.xml, LinearLayouts और TextViews) और AndroidManifest.xml XML documents हैं: Google-द्वारा-user-defined tags, एक root element, strict nesting, quotes में attributes। Android ने exactly उन characteristics के लिए XML चुना जो इस lesson ने list किए: self-describing, platform-neutral, data-not-presentation। तो अगले 4 lessons के rules कोई नई discipline नहीं हैं; वे वही grammar हैं जिसे आप पहले से follow कर रहे थे, अब नाम दी गई।

Watch out

पहले Week के दो Misconceptions

"XML advanced HTML है": नहीं। अलग purpose (carry बनाम display), अलग tag origin (आपका बनाम predefined), अलग strictness। Comparison table ही answer scheme है; इसकी rows सीखिए।

"Browser मेरा XML fix कर देगा": browsers रोज़ broken HTML को rescue करते हैं, और उस mercy ने bad habits train कीं। XML parsers ill-formed documents को सीधा REFUSE करते हैं: एक unclosed tag और पूरी file reject हो जाती है। Strictness ही feature है: data exchange करने वाली machines guesses afford नहीं कर सकतीं।

Theory

यह Unit कहाँ जाती है

events.xml अब FestConnect का single source of truth है, और subject का बाकी हिस्सा इसके चारों तरफ़ machinery बनाता है: pages को react कराने के लिए jQuery (Unit 2), same job के लिए XML का leaner modern rival JSON (Unit 3), बिना reload data fetch करने के लिए AJAX (Unit 4), और इसे serve करने के लिए Node.js (Unit 5)। पर पहले, grammar: exactly क्या एक XML file को legal बनाता है, अगले lesson declarations, tags और elements से शुरू होते हुए।

Summary

Key takeaways

  • XML self-describing, user-defined tags में data store और transport करता है; यह कभी presentation dictate नहीं करता।
  • eXtensible = आप tags invent करते हैं: <event>, <venue>, data को जो भी चाहिए।
  • Plain text, platform और language independent: एक file site, app, और आगे जो भी आए उसे feed करती है।
  • HTML predefined, forgiving tags से display करता है; XML user-defined, strict tags से carry करता है।
  • Uses: data storage, systems के बीच exchange, configuration (Android layouts और manifest), RSS, SVG।
  • Parsers ill-formed XML refuse करते हैं: strictness ही machine exchange को trustworthy बनाती है।
  • Memory hook: HTML plate है, XML labelled dabba है।

Study this properly

This page is the lesson to read. In Gri-Learn the same topic is a graded deck: the self-checks are scored and your weak topics are tracked. Free to start.

Start this topic

Already have an account? Sign in

More from Introduction of XML

Gri-Learn · syllabus-mapped B.C.A. lessons in English, Hindi and Gujarati

Characteristic and use of XML · Web Designing-2 (option A) · Gri-Learn