Root element, case sensitivity

XML ના દરેક document માં બરાબર એક જ મૂળ element હોવું જોઈએ જે બાકીનાં બધાંને વીંટે, અને XML case-sensitive છે, એટલે <Event> અને <event> જુદાં tags છે અને શરૂ થતું tag બરાબર એ જ સ્વરૂપના બંધ થતા tag થી બંધ થવું જોઈએ.

8 min read · 9 cards · 2 checks

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


Theory

બે ભૂલો જે કશું જ ન લાગે

XML ની file તોડવાની બે સૌથી સહેલી રીતો એને લગભગ સાચી દેખાડે છે. પહેલી, કોઈ એક જ આવરણ વગર ટોચે બે elements બેસાડવાં. બીજી, <name> ના tag ને </Name> થી બંધ કરવું.

બંને ઉપરછલ્લી નજરમાં પસાર થઈ જાય છે અને બંને document ને well-formed રહેવા દેતાં નથી, એટલે Android layout ની ના પાડે છે. એ બે નિયમો પર આવે છે: બરાબર એક જ મૂળ element, અને XML case-sensitive છે. નાના નિયમો, વારંવારના marks.

Theory

એક થડ, ચોક્કસ નામ

વંશવૃક્ષને ટોચે એક જ થડ હોય છે જેમાંથી બધું ફંટાય છે; એક જ વૃક્ષમાં બે અલગ થડ ન હોઈ શકે. XML એવું જ છે: એક મૂળ element બાકીના બધાને સમાવે છે. અને લેબલ passwords જેવાં છે: અક્ષરોનું સ્વરૂપ મહત્ત્વનું છે. Aditi અને aditi જુદાં logins છે; <Event> અને <event> જુદાં tags છે. Tag ને ખોટા સ્વરૂપે બંધ કરો અને XML કહે છે 'એ એ જ નામ નથી'.

Theory

બે નિયમો

  • એક જ મૂળ element: XML ના document માં બરાબર એક જ સૌથી બહારનું element હોવું જોઈએ જે બાકીના બધાને વીંટે. ટોચે બે elements હોવાં એ અમાન્ય છે.
  • Case sensitivity: tag અને attribute નાં નામ case-sensitive છે. <Note>, <note>, અને <NOTE> એ ત્રણ જુદાં tags છે. શરૂ થતું tag બરાબર એ જ સ્વરૂપના બંધ થતા tag થી બંધ થવું જોઈએ: <name>...</name>, ક્યારેય </Name> નહીં.

Android માં આ attributes પર પણ કરડે છે: એ android:layout_width છે, android:Layout_Width નહીં.

Practical

સાચું અને ખોટું

<!-- WRONG: two elements at the top, no single root -->
<name>Aditi</name>
<year>2</year>

<!-- RIGHT: one root <registration> wraps both -->
<registration>
  <name>Aditi</name>
  <year>2</year>
</registration>

<!-- WRONG: case mismatch on open/close -->
<Event>Robotics</event>    <!-- <Event> vs </event> -->

<!-- RIGHT: identical case -->
<event>Robotics</event>

This example runs in Gri-Learn on the web, where you can edit it and see the output.

Think first

Android નું layout હંમેશા એક જ tag થી કેમ શરૂ થાય છે?

FestConnect નું કોઈ પણ layout ખોલો અને આખું એક જ <LinearLayout>...</LinearLayout> (કે એક ConstraintLayout) ની અંદર છે. એને મૂળ element ના નિયમ સાથે જોડો. શું layout માં TextView અને Button બંને છેક ટોચના સ્તરે હોઈ શકે?

Show the answer

ના. XML ને બરાબર એક જ મૂળ element જોઈતું હોવાથી, layout ની file માં એક જ સૌથી બહારનું પાત્ર હોવું જોઈએ, એટલે LinearLayout (કે ConstraintLayout) બધું વીંટે છે. TextView અને Button બંને ટોચના સ્તરે બેસી શકતાં નથી; એમણે એ એક મૂળ પાત્રની અંદર વસવું પડે. એટલા માટે જ Android નું દરેક layout એક જ layout ના tag થી ખૂલે અને બંધ થાય છે: એ XML નું મૂળ છે, જે એક-મૂળના નિયમને પાળે છે.

Quiz

XML નો કયો ટુકડો well-formed છે?

  1. <data><a>1</a><b>2</b></data>
  2. <a>1</a><b>2</b>
  3. <Name>Aditi</name>
  4. <data><a>1</a><b>2</data></b>
Show the answer

<data><a>1</a><b>2</b></data>

વિકલ્પ A માં એક જ મૂળ <data> એ <a> અને <b> ને વીંટે છે, બરાબર અંદરોઅંદર ગોઠવાયેલું અને બંધ થયેલું, એટલે એ well-formed છે. B માં ટોચના સ્તરે બે elements છે અને કોઈ મૂળ નથી (અમાન્ય). C માં અક્ષરોનું સ્વરૂપ મળતું નથી: <Name> ને </name> થી બંધ કરાયું છે (અમાન્ય). D ગોઠવણ ઓળંગે છે: </b> પહેલાં </data> (અમાન્ય). ફક્ત A એકસાથે એક-મૂળ, મળતું સ્વરૂપ, અને સ્વચ્છ ગોઠવણ પાળે છે.

Watch out

મૂળ અને સ્વરૂપના ફાંદા

1. બે મૂળ: એક જ આવરણનું element ભૂલી જવું. ભાઈબંધોને હંમેશા એક મૂળમાં (જેમ કે <registration> કે <LinearLayout>) સમાવો.

2. બંધ કરતી વખતે સ્વરૂપ ન મળવું: <name>...</Name> નિષ્ફળ જાય છે. બરાબર એ જ સ્વરૂપ મેળવો.

3. ખોટા સ્વરૂપનાં Android નાં attributes: android:Text ઓળખાશે નહીં; એ android:text છે. XML ની case sensitivity ફક્ત tags પર નહીં, attribute નાં નામ પર પણ લાગુ પડે છે.

Theory

આગળ: document ના બે વિભાગ

તમને હવે ખબર છે કે document ને એક મૂળ હોય છે. પણ મૂળની પહેલાં પણ સામગ્રી હોય છે: declaration અને મરજિયાત ટિપ્પણીઓ. હવે પછીનો પાઠ XML ના document ના બે ભાગનાં નામ આપે છે, એટલે કે prolog નો વિભાગ (declaration અને એના સાથીઓ) અને document element નો વિભાગ (મૂળ અને એની સામગ્રી), અને એ રીતે આખી XML ની file કેવી ગોઠવાય છે એ સુઘડ કરે છે.

Summary

Key takeaways

  • XML ના document માં બરાબર એક જ મૂળ element હોવું જોઈએ જે બાકીના બધાને વીંટે; ટોચે બે elements અમાન્ય છે.
  • XML case-sensitive છે: <Event> અને <event> જુદાં tags છે.
  • શરૂ થતું tag બરાબર એ જ સ્વરૂપના બંધ થતા tag થી બંધ થવું જોઈએ (<name>...</name>, </Name> નહીં).
  • એક-મૂળના નિયમને કારણે Android નાં layouts માં એક જ મૂળ પાત્ર (LinearLayout/ConstraintLayout) હોય છે.
  • Case sensitivity attribute નાં નામ પર પણ લાગુ પડે છે: android:text, android:Text નહીં.
  • Memory hook: એક થડ, ચોક્કસ નામ.

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

Root element, case sensitivity · Mobile Application Development - 1 (option B) · Gri-Learn