Theory
બે અડધા ભાગવાળી file
FestConnect ની આખી XML ની file ફરી જુઓ. ટોચે file પોતાના વિશેની line છે (<?xml ...?>), કદાચ એક ટિપ્પણી. એની નીચે ખરેખરો data બેસે છે, એક મૂળ element માં વીંટાયેલો.
XML આ બે અડધા ભાગને formal નામ આપે છે: prolog નો વિભાગ (મથાળાની સામગ્રી) અને document element નો વિભાગ (data). કયું કયું છે અને prolog પહેલાં આવે છે એ જાણવું એ નાનો પણ ભરોસાપાત્ર પરીક્ષાનો પ્રશ્ન છે અને દરેક XML ની file કેવી ગોઠવાય છે એ સ્પષ્ટ કરે છે.
Theory
પત્રનું મથાળું અને એનું શરીર
Formal પત્રને ટોચે મથાળું હોય છે: તારીખ, સંદર્ભનો ક્રમાંક, કદાચ કાગળ વિશેની નોંધ. પછી શરીર આવે છે, એટલે કે ખરેખરો સંદેશો. મથાળું વર્ણવે છે અને પહેલાં આવે છે; શરીર સામગ્રી વહન કરે છે. XML નું document એવું જ છે: prolog એ મથાળું છે (declaration, ટિપ્પણીઓ, schema), અને document element એ શરીર છે (મૂળ અને એનો data).
Theory
બે વિભાગ
- Prolog નો વિભાગ (મરજિયાત, ટોચે): XML નું declaration (
<?xml version="1.0" encoding="UTF-8"?>), વત્તા મરજિયાત ટિપ્પણીઓ, processing instructions, અને DTD/schema નો ઉલ્લેખ (DOCTYPE). એ document નું વર્ણન કરે છે. - Document element નો વિભાગ (શરીર): એક જ મૂળ element અને એની અંદરનાં બધાં સંતાનો તથા સામગ્રી. આ જ ખરેખરો data છે.
ક્રમ મહત્ત્વનો છે: પહેલાં prolog; પછી બરાબર એક મૂળ. જો declaration હાજર હોય, તો એ સૌથી પહેલી line હોવી જ જોઈએ.
Practical
Prolog અને શરીર, label સાથે
<!-- ===== PROLOG SECTION ===== -->
<?xml version="1.0" encoding="UTF-8"?>
<!-- a fest registration record -->
<!-- ===== DOCUMENT ELEMENT SECTION ===== -->
<registration>
<name>Aditi Shah</name>
<year>2</year>
<event>Robotics</event>
</registration>At a glance
બે વિભાગ એક નજરમાં
| વિભાગ | શું છે એમાં | જરૂરી? |
|---|---|---|
| Prolog | declaration, ટિપ્પણીઓ, DTD/schema | મરજિયાત |
| Document element | એક જ મૂળ વત્તા એનો data | જરૂરી |
Think first
કયો ભાગ data છે?
આ ટુકડામાં કયો વિભાગ ખરેખરાં નોંધણીનાં values રાખે છે, અને કયો ફક્ત file નું વર્ણન કરે છે? અને જો તમે આખું prolog કાઢી નાખો, તો શું file હજી પોતાનો data રાખશે?
Show the answer
Document element નો વિભાગ (<registration>...</registration>) ખરેખરો data રાખે છે: નામ, વર્ષ, અને event. Prolog (<?xml ...?> ની line અને ટિપ્પણી) ફક્ત file નું વર્ણન કરે છે, એ નોંધણીનો કોઈ data વહન કરતું નથી. જો તમે આખું prolog કાઢી નાખો, તો file હજી પોતાનો data રાખશે અને હજી well-formed હોઈ શકે, કારણ કે prolog મરજિયાત છે. તમે જે એક વસ્તુ છોડી ન શકો એ છે એક જ મૂળ element, એ જ જરૂરી શરીર છે.
Quiz
XML ના document માં prolog ક્યાં દેખાય છે, અને XML નું declaration હાજર હોય તો શું સાચું હોવું જોઈએ?
- Prolog ટોચે છે, મૂળ પહેલાં; declaration સૌથી પહેલી line હોવી જ જોઈએ
- Prolog તળિયે છે, મૂળ element પછી
- Prolog મૂળ element ની જગ્યા સાવ લઈ લે છે
- Declaration મૂળની અંદર ગમે ત્યાં દેખાઈ શકે
Show the answer
Prolog ટોચે છે, મૂળ પહેલાં; declaration સૌથી પહેલી line હોવી જ જોઈએ
Prolog એ file ની ટોચે, document element (મૂળ) પહેલાંનો મથાળાનો વિભાગ છે, અને જો XML નું declaration સામેલ હોય તો એ સૌથી પહેલી line હોવી જ જોઈએ, એની આગળ કશું નહીં (A). Prolog ક્યારેય તળિયે હોતું નથી (B), અને એ મૂળની જગ્યા લેતું નથી (C), જે જરૂરી data નું શરીર છે. Declaration મૂળની અંદર તરી શકતું નથી (D). પહેલાં prolog, પછી એક મૂળ.
Watch out
Document ની રચનાના ફાંદા
1. Declaration પહેલાં સામગ્રી: <?xml ...?> ની આગળ કોરી line કે ટિપ્પણી પણ એને invalid બનાવે છે. Declaration, હાજર હોય તો, પહેલી line છે.
2. Prolog ને 'data' કહેવું: prolog ફક્ત file નું વર્ણન કરે છે; data document element રાખે છે.
3. શરીરમાં બે મૂળ: document element નો વિભાગ પણ આગલા પાઠના એક-મૂળના નિયમને પાળે જ છે.
Theory
આગળ: declaration ની line નજીકથી
Prolog નો સૌથી મહત્ત્વનો ટુકડો છે XML નું declaration. XML નો છેલ્લો પાઠ એમાં ઊંડે ઊતરે છે: version અને encoding નો શું અર્થ છે, કયા ભાગ જરૂરી છે, એનાં attributes નો ક્રમ, અને એ નાના અક્ષરે અને પહેલી કેમ હોવી જોઈએ. પછી તમે Unit 4 માં ખરેખરાં Android નાં widgets સાથે FestConnect નો પડદો બાંધવા પાછા ફરો છો.
Summary
Key takeaways
- XML ના document ના બે વિભાગ છે: prolog (ટોચે) અને document element (શરીર).
- Prolog (મરજિયાત): XML નું declaration, ટિપ્પણીઓ, processing instructions, અને કોઈ DTD/schema.
- Document element (જરૂરી): એક જ મૂળ element અને એની અંદરનો બધો data.
- Prolog પહેલાં આવે છે; declaration હાજર હોય તો એ સૌથી પહેલી line હોવી જોઈએ, એની આગળ કશું નહીં.
- Prolog કાઢી નાખવા છતાં file માન્ય રહી શકે; મૂળ કાઢી નાખવાથી નહીં.
- Memory hook: પત્રનું મથાળું (prolog) અને એનું શરીર (document element).