Theory
એ line જે તમે વાંચ્યા વગર નકલ કરી છે
FestConnect ની દરેક XML ની file <?xml version="1.0" encoding="UTF-8"?> થી ખૂલે છે. તમે એ અનેક વાર લખી છે. હવે એને વાંચો: એ જાહેર કરે છે કે આ XML છે, કઈ આવૃત્તિ છે, અને text ને કયો character set encode કરે છે.
એ સામાન્ય લાગે છે, પણ એના નિયમો XML માં સૌથી કડક છે: એ પહેલી હોવી જોઈએ, નાના અક્ષરે હોવી જોઈએ, અને એનાં attributes નો ક્રમ નિશ્ચિત છે. પરીક્ષકોને એ બરાબર એટલા માટે જ ગમે છે કે એ આટલી નિયમબદ્ધ છે.
Theory
માલના ખોખા પરનું label
માલના ખોખા પર બહાર, આગળ અને વચ્ચે label ચોંટાડેલું હોય છે: 'સામગ્રી: કાચ. આ બાજુ ઉપર. આવૃત્તિ 1.'. એ માલનો ભાગ નથી; એ ઉપાડનારને કહે છે કે ખોખા સાથે કેવો વ્યવહાર કરવો. XML નું declaration એ જ label છે: data નહીં, પણ file વિશેની સૂચનાઓ (કઈ આવૃત્તિ, કયું encoding). અને label ની જેમ, એ છેક આગળ જ હોય, કશું ખોલાય એ પહેલાં વંચાય એ રીતે.
Theory
Declaration અને એના ભાગ
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
- version (જરૂરી, સામાન્ય રીતે
1.0): પહેલું આવવું જ જોઈએ. - encoding (મરજિયાત): character set, સામાન્ય રીતે
UTF-8. - standalone (મરજિયાત,
yes/no): document બહારની જાહેરાતો પર આધારિત છે કે નહીં.
એ processing instruction (<? ... ?>) છે, element નહીં, એટલે એને બંધ થતું tag નથી. બધાં values quote માં હોય છે. Declaration પોતે મરજિયાત છે, પણ ભલામણપાત્ર છે.
Practical
સાચાં અને ખોટાં declarations
<!-- CORRECT -->
<?xml version="1.0" encoding="UTF-8"?>
<registration> ... </registration>
<!-- WRONG: not the first thing (comment before it) -->
<!-- a fest file -->
<?xml version="1.0"?>
<!-- WRONG: uppercase XML -->
<?XML version="1.0"?>
<!-- WRONG: encoding before version -->
<?xml encoding="UTF-8" version="1.0"?>Think first
Declaration સુધારો
એક file કોરી line થી શરૂ થાય છે, પછી <?Xml encoding="UTF-8" version="1.0">. એ તોડે છે એ દરેક નિયમની List આપો, પછી સુધારેલી line લખો.
Show the answer
તૂટેલા નિયમો: (1) એની આગળ કોરી line છે, જ્યારે declaration સૌથી પહેલી જ વસ્તુ હોવી જોઈએ; (2) `Xml` ના અક્ષરોનું સ્વરૂપ ખોટું છે, એ નાના અક્ષરે `xml` હોવું જોઈએ; (3) encoding એ version પહેલાં છે, પણ version પહેલું આવવું જોઈએ; (4) એ ?> ને બદલે > થી પૂરું થાય છે. સુધારેલું: પહેલી line એ, એની આગળ કશું જ નહીં, એ રીતે <?xml version="1.0" encoding="UTF-8"?>. ચાર નાના નિયમો, ચાર સહેલા marks.
Quiz
કયું XML નું declaration બરાબર લખાયેલું છે?
- <?xml version="1.0" encoding="UTF-8"?>
- <?xml encoding="UTF-8" version="1.0"?>
- <?XML version="1.0"?>
- <?xml version=1.0 encoding=UTF-8?>
Show the answer
<?xml version="1.0" encoding="UTF-8"?>
Option A સાચો છે: નાના અક્ષરે xml, પહેલું version, બીજું encoding, બધાં values quote માં, અને ?> થી બંધ. B એ જરૂરી રીતે પહેલા આવતા version પહેલાં encoding મૂકે છે. C મોટા અક્ષરે XML વાપરે છે. D values ની આસપાસનાં quote છોડી દે છે, જે XML ને જોઈએ જ છે. Declaration ના ચીકણા નિયમો, એટલે કે પહેલી, નાના અક્ષરે, પહેલું version, quote માં, બરાબર એ જ આ પ્રશ્ન ચકાસે છે.
Watch out
Declaration ના ફાંદા
1. એની આગળ કશું પણ: <?xml ...?> ની આગળ કોરી જગ્યા કે ટિપ્પણી પણ ન હોઈ શકે. એ પહેલી line છે.
2. ખોટા અક્ષરો કે ક્રમ: એ નાના અક્ષરે xml છે, અને version એ encoding પહેલાં આવવું જોઈએ.
3. Quote વગરનાં values કે `?>` ને બદલે `>`: values quote માં હોય, અને એ ?> થી બંધ થાય કારણ કે એ processing instruction છે, element નહીં.
Theory
XML પાકું: ફરી બાંધવા તરફ
તમે હવે તમારા project ની કોઈ પણ XML વાંચી અને લખી શકો છો: layouts, manifest, strings નાં resources, અને data ની નોંધો. Unit 4 એને કામે લગાડે છે: તમે FestConnect ના પડદા પર પાછા જઈને ખરેખરાં Android નાં widgets ઉમેરો છો, મથાળાની પટ્ટી છુપાવો છો, દિશા બાંધો છો, text નાં fields અને onClick વાળું Button મૂકો છો, અને Toast કાઢો છો, અને એ દરેક તમે હવે સમજો છો એ XML માં વ્યાખ્યાયિત થાય છે અને Java માં જોડાય છે.
Summary
Key takeaways
- XML નું declaration છે <?xml version="1.0" encoding="UTF-8"?>: એ આવૃત્તિ અને character set જણાવે છે.
- version જરૂરી છે અને પહેલું આવે છે; encoding અને standalone મરજિયાત છે અને એ જ ક્રમમાં પછી આવે છે.
- હાજર હોય તો declaration સૌથી પહેલી line હોવી જોઈએ, અને એની આગળ કશું જ (કોરી જગ્યા કે ટિપ્પણી પણ) ન હોય.
- શબ્દ નાના અક્ષરે xml છે; બધાં values quote માં છે; એ ?> થી બંધ થાય છે (processing instruction, element નહીં).
- Declaration મરજિયાત છે પણ ભલામણપાત્ર છે.
- Memory hook: માલના ખોખા પરનું label, આગળ અને વચ્ચે, પહેલાં વંચાતું.