XML syntax (Declaration, Tags, elements)

Well-formed XML एक declaration से शुरू होता है, फिर elements से बनता है: हर element एक start tag, content, और एक matching end tag है (या एक अकेला self-closing tag), attribute values हमेशा quotes में और tags सही से nested और closed।

9 min read · 9 cards · 2 checks

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


Theory

एक ग़लत tag, कोई build नहीं

Android एक FestConnect layout को build नहीं करेगा अगर एक भी tag malformed है: एक missing close, एक unquoted value, एक crossed nesting। XML जानबूझकर strict है, और rules कम हैं।

यह lesson parts को नाम देता है, declaration, tags, और elements, और वे मुट्ठी भर rules जो XML को well-formed बनाते हैं। इन्हें पकड़िए और आप अपने project या किसी exam में कोई भी XML file पढ़ और fix कर सकते हैं।

Theory

गणित में matching brackets

गणित में, हर opening bracket को एक closing चाहिए, और वे cross नहीं होनी चाहिए: (a + [b]) ठीक है, (a + [b)] ग़लत है। XML tags वही हैं। <a><b></b></a> साफ़ nest होता है; <a><b></a></b> cross करता है और invalid है। अगर आप brackets balance कर सकते हैं, आप XML tags nest कर सकते हैं, यह वही discipline है, open फिर सही order में close करना।

Theory

Declaration, tags, elements

  • Declaration: पहली line, <?xml version="1.0" encoding="UTF-8"?> (details अगले lesson में)।
  • Tag: markup ख़ुद, एक start tag <year> और एक end tag </year>। एक empty element self-close हो सकता है: <line/>।
  • Element: एक start tag, इसका content, और इसका end tag साथ: <year>2</year>। Elements nest हो सकते हैं।
  • Attribute: एक start tag के अंदर एक name="value" pair; value हमेशा quoted है।

Well-formed का मतलब है: हर tag close होता है, nesting cross नहीं होती, और attributes quoted हैं।

Practical

Elements, attributes, self-closing

<?xml version="1.0" encoding="UTF-8"?>
<registration id="F-108">        <!-- id is an ATTRIBUTE (quoted) -->
  <name>Aditi Shah</name>          <!-- element: start + content + end -->
  <year>2</year>
  <events>
    <event>Robotics</event>        <!-- nested elements -->
    <event>Dance</event>
  </events>
  <confirmed/>                      <!-- empty, self-closing element -->
</registration>

Think first

Spot कीजिए इसे well-formed क्या बनाता है

Snippet में, एक element, एक attribute, और एक self-closing (empty) element बताइए। फिर बताइए <name>Aditi Shah अकेला file क्यों तोड़ देगा।

Show the answer

एक element: <year>2</year> (start tag, content 2, end tag)। एक attribute: <registration> start tag के अंदर id="F-108", value quoted। एक self-closing element: <confirmed/>। <name>Aditi Shah अकेला file तोड़ता है क्योंकि इसका कोई closing </name> नहीं है; XML को हर element close होना चाहिए, तो एक unclosed tag document को well-formed नहीं रहने देता और Android इसे build करने से मना करता है।

Quiz

कौन सी line well-formed XML NAHIN है?

  1. <event name=Robotics> (attribute value quoted नहीं है)
  2. <event name="Robotics"></event>
  3. <confirmed/>
  4. <year>2</year>
Show the answer

<event name=Robotics> (attribute value quoted नहीं है)

XML को attribute values quotes में चाहिए, तो बिना quotes के name=Robotics well-formed नहीं है (A)। Quoted version (B) सही है। एक self-closing empty element <confirmed/> valid है (C), और content वाला एक normal element <year>2</year> valid है (D)। Unquoted attributes, unclosed tags, और crossed nesting तीन तरीक़े हैं जिनसे XML सबसे ज़्यादा well-formed होने में fail होता है।

Watch out

Syntax traps

1. Unquoted attribute values: width=match_parent fail होता है; XML को width="match_parent" चाहिए।

2. Unclosed tags: हर element को एक end tag चाहिए, या self-close करना ज़रूरी है (<confirmed/>)। HTML <br> माफ़ कर देता है; XML नहीं।

3. Crossed nesting: <a><b></a></b> invalid है; matched brackets की तरह inner element को outer से पहले close कीजिए।

Theory

दो rules अपने lessons deserve करते हैं

दो well-formedness rules अकेले study करने लायक़ बड़े हैं। अगला lesson single root element (एक XML document में exactly एक outermost element होना ज़रूरी है) और case sensitivity (<Name> और <name> अलग tags हैं, और इनका open/close match होना ज़रूरी है) cover करता है। दोनों guaranteed exam points हैं और कई 'यह build क्यों नहीं होगा' moments का कारण हैं।

Summary

Key takeaways

  • XML एक declaration से शुरू हो सकता है: <?xml version="1.0" encoding="UTF-8"?>।
  • एक tag markup है (start <year> और end </year>); एक empty element self-close करता है: <confirmed/>।
  • एक element है start tag + content + end tag, जैसे <year>2</year>; elements nest हो सकते हैं।
  • Attributes start tag में name="value" pairs हैं, और values quoted होने ज़रूरी हैं।
  • Well-formed का मतलब है हर tag close होता है, nesting cross नहीं होती, और attributes quoted हैं।
  • Memory hook: XML tags गणित के brackets की तरह balance होते हैं।

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 XML (Extensible Markup Language)

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

XML syntax (Declaration, Tags, elements) · Mobile Application Development - 1 (option B) · Gri-Learn