XML

వికీపీడియా నుండి
ఇక్కడికి గెంతు: మార్గసూచీ, వెతుకు
{{{name}}}
తెరపట్టు XML.svg
పొడిగింపు .xml
అంతర్జాలమాధ్యమ రకం application/xml[1], text/xml (deprecated)[2]
యజమాని World Wide Web Consortium
దీని నుండి పొడిగించబడింది SGML
ప్రమాణం 1.0 (Fifth Edition) నవంబరు 26, 2008; 7 సంవత్సరాలు క్రితం (2008-11-26)
1.1 (Second Edition) ఆగష్టు 16, 2006; 9 సంవత్సరాలు క్రితం (2006-08-16)
ఉచితమేనా Yes

మూస:Infobox W3C Standard XML (ఎక్స్టెన్సిబుల్ మార్కప్ లాంగ్వేజ్ ) డాక్యుమెంట్లను విద్యుత్తుపరంగా ఎన్కోడ్ చేసే నియమావళి. ఇది W3C మరియు అనేక ఇతర సంబంధిత స్పెసిఫికేషన్స్ ద్వారా ఉత్పత్తి అయిన XML 1.0 స్పెసిఫికేషన్ లో నిర్వచించబడింది; అన్నీ చార్జీ-లేని బహిరంగ ప్రమాణములు.[3]

XML యొక్క నిర్మాణ లక్ష్యాలు ఇంటర్నెట్ పైన సరళత్వము, సాధారణత్వము మరియు ఉపయోగ సౌలభ్యాలను ప్రస్పుటం చేస్తుంది.[4] ఇది ప్రపంచంలోని భాషలకు యూనీకోడ్ ద్వారా ఎక్కువ మద్దతు ఇచ్చే ఒక వాచక దత్తాంశ అమరిక. XML యొక్క నిర్మాణము డాక్యుమెంట్ల పైన కేంద్రీకృతమైనప్పటికీ, వెబ్ సేవల వంటి స్వతంత్ర దత్తాంశ నిర్మాణాలను వర్ణించటానికి ఇది విస్తృతంగా ఉపయోగించబడుతుంది.

ఇందులో XML దత్తాంశమును సమీపించటానికి సాఫ్ట్వేర్ డెవలపర్లు ఉపయోగించే వివిధరకాల ప్రోగ్రామింగ్ అంతర్ముఖాలు, మరియు XML-ఆధారిత భాషల నిర్వచనంలో సహాయపడటానికి రూపొందించబడిన అనేక స్కీమ సిస్టమ్స్ ఉన్నాయి.

As of 2009, వందలకొద్దీ XML-ఆధారిత లాంగ్వేజులు పుట్టుకొచ్చాయి,[5] వాటిలో RSS, Atom, SOAP, మరియు XHTML మొదలైనవి ఉన్నాయి. XML-ఆధారిత అమరికలు అనేక కార్యాలయ-సమర్ధత ఉపకరణాలకు ప్రామాణికం అయ్యాయి, వీటిలో మైక్రోసాఫ్ట్ ఆఫీసు (ఆఫీసు ఓపెన్ XML), OpenOffice.org (ఓపెన్ డాక్యుమెంట్), మరియు ఆపిల్ యొక్క iWork ఉన్నాయి.[6]

కీలక పదజాలం[మార్చు]

ఈ విభాగం లోని విషయం XML స్పెసిఫికేషన్ పై ఆధారపడింది. ఇది XML లోని అన్ని నిర్మాణాల కూలంకుష జాబితా కాదు; ఇది రోజువారీ వినియోగంలో తరచుగా అగుపించే కీలక నిర్మాణాలను పరిచయం చేస్తుంది.

(యూనికోడ్) క్యారెక్టర్(వర్ణము)
నిర్వచనం ప్రకారం, ఒక XML డాక్యుమెంట్ వర్ణముల సమూహము. దాదాపు ప్రతి చట్టబద్ధ యూనికోడ్ క్యారెక్టర్ ఒక XML డాక్యుమెంట్ లో అగుపిస్తుంది.
ప్రాసెసార్ మరియు అనువర్తనం
XML డాక్యుమెంట్ ను ప్రాసెస్ చేసే ఒక సాఫ్ట్వేర్. ఒక అనువర్తనం యొక్క సేవలో ఒక ప్రాసెసర్ పనిచేస్తుందని అంచనా. ఒక XML ప్రాసెసర్ ఏమి చేయాలో లేదా ఏమి చేయకూడదో అనేదానికి కొన్ని ప్రత్యేక కాంక్షితాలు ఉన్నాయి, కానీ ఆ అనువర్తనం యొక్క నడవడిక గురించి ఏమీ లేవు. ఆ ప్రాసెసర్ (ఆ స్పెసిఫికేషన్ దానిని పిలిచేటట్లు) తరచుగా ఒక XML పార్సర్ అని సామాన్యముగా ప్రస్తావించబడుతుంది.
మార్కప్ మరియు కంటెంట్
ఒక XML డాక్యుమెంట్ ను తయారుచేసే వర్ణాలు మార్కప్ మరియు కంటెంట్ గా విభజించబడ్డాయి. సరళమైన వాక్యనిర్మాణములను ప్రయోగించటం ద్వారా మార్కప్ మరియు కంటెంట్ మధ్య భేదం కనుగొనబడుతుంది. మార్కప్ ను కలిగి ఉండే అన్ని స్ట్రింగ్స్(వర్ణసమూహాలు) క్యారెక్టర్ "<" తో మొదలై ">" తో ముగుస్తాయి, లేదా "&" తో మొదలై ";" తో ముగుస్తాయి. మార్కప్ కాని వర్ణాల సమూహాలు కంటెంట్ అవుతాయి.
ట్యాగ్
"<" తో మొదలై ">" తో ముగిసే ఒక మార్కప్ నిర్మాణం. టాగ్స్ మూడు విధాలుగా ఉంటాయి: ప్రారంభ-టాగ్స్ , ఉదాహరణకు , మరియు శూన్య-మూలక టాగ్స్ , ఉదాహరణకు <line-break/>.
అంశము
ఒక ప్రారంభ-ట్యాగ్ తో మొదలై దానికి సరిపడే ముగింపు-ట్యాగ్ తో ముగిసే, లేదా కేవలం ఒక శూన్య-మూలక ట్యాగ్ ను కలిగి ఉండే డాక్యుమెంట్ యొక్క తార్కిక అంశం. ప్రారంభ- మరియు అంత్య-టాగ్స్ మధ్య వర్ణాలు, ఏమైనా ఉంటే, అవి ఆ మూలకాల కంటెంట్ , మరియు చైల్డ్ ఎలిమెంట్స్ గా పిలవబడే ఇతర మూలకాలతో పాటు, మార్కప్ ను కలిగి ఉంటాయి. ఒక ఎలిమెంట్ కు ఒక ఉదాహరణ <Greeting>Hello, world.</Greeting>. వేరొకటి <line-break/>.
విశేషణము
ఒక స్టార్ట్-ట్యాగ్ లేదా శూన్య-మూలక ట్యాగ్ లోనే ఉండే పేరు/విలువ జంట ను కలిగిఉండే ఒక మార్కప్ నిర్మాణము. ఈ (క్రింది) ఉదాహరణలో img మూలకానికి src మరియు alt అనే రెండు విశేషణములు ఉన్నాయి: <img src="madonna.jpg" alt='by Raphael'/>. ఇంకొక ఉదాహరణ <step number="3">Connect A to B.</step> ఇందులో విశేషణము యొక్క పేరు "number" మరియు దాని విలువ "3":
XML ప్రకటన
ఈ క్రింది ఉదాహరణలో వలె XML డాక్యుమెంట్లు వాటి గురించిన కొంత సమాచారాన్ని ప్రకటించుకొని ప్రారంభం అవ్వచ్చు.

<source lang="xml"><?xml version="1.0" encoding="utf-8"?&gt;).&lt;/source&gt;

ఉదాహరణ[మార్చు]

ఈ నిర్మాణాలను మరియు భావనలను అన్నింటినీ ఉపయోగించుకునే ఒక పరిపూర్ణమైన చిన్న XML డాక్యుమెంట్ ఇక్కడ ఉంది.

<source lang="xml"> <?xml version="1.0" encoding="utf-8"?&gt;).> <painting>

<img src="madonna.jpg" alt='Foligno Madonna, by Raphael'/>
This is Raphael's "Foligno" Madonna, painted in
<date>1511</date>-<date>1512</date>.

చిత్రలేఖనం &lt;/source&gt;

ఈ దృష్టాంత డాక్యుమెంట్ లో ఐదు మూలకాలు ఉన్నాయి: painting, img, caption, మరియు రెండు dateలు. date మూలకాలు ప్రధాన మూలకం painting నుండి ఉద్భవించిన caption నుండి పుట్టుకొచ్చాయి . img కి, src మరియు alt అని రెండు విశేషణములు ఉన్నాయి.

క్యారెక్టర్లు మరియు ఎస్కేపింగ్[మార్చు]

XML డాక్యుమెంట్లు యూనికోడ్ సముదాయం లోని వర్ణాలను పూర్తిగా కలిగి ఉంటాయి. ప్రత్యేకంగా తొలగించబడిన కొన్ని నియంత్రణ వర్ణములు కొరకు తప్పించి, యూనీకోడ్ నిర్వచిచిన ఏ వర్ణం అయినా ఒక XML డాక్యుమెంట్ యొక్క కంటెంట్ లో అగుపించవచ్చు. మార్కప్ లోనే అగుపించే వర్ణాల ఎంపిక కొంతవరకు పరిమితమైనదే కానీ పెద్దది.

డాక్యుమెంట్ ను తయారుచేసే యూనీకోడ్ వర్ణాల ఎన్కోడింగ్ ను గుర్తించటానికి, మరియు ఒకటి లేదా ఇతర కారణాల వలన నేరుగా ఉపయోగించలేని వర్ణాల వ్యక్తీకరణకు, సదుపాయాలను XML కలిగి ఉంది.

ఎన్కోడింగ్ శోధన[మార్చు]

యూనీకోడ్ వర్ణాల సమూహము నిల్వ మరియు వివిధ విలక్షణ మార్గాలలో ప్రసారం కొరకు బైట్స్ గా ఎన్కోడ్ చేయబడవచ్చు, వీటినే "ఎన్కోడింగ్స్" అంటారు. సంపూర్ణ నైపుణ్యాలను కలిగిఉన్న ఎన్కోడింగ్ లను యూనీకోడ్ తనే నిర్వచిస్తుంది; ప్రసిద్ధమైన వాటిలో UTF-8 మరియు UTF-16 ఉన్నాయి.[7] యూనీకోడ్ కు మునుపే ASCII మరియు ISO/IEC 8859 వంటి అనేక ఇతర వాచక ఎన్కోడింగ్ లు ఉన్నాయి; ప్రతి అంశంలోనూ ఆ వర్ణాల నైపుణ్యాలు యూనీకోడ్ వర్ణ సమూహం యొక్క ఉపసమితులు.

XML యూనీకోడ్-నిర్వచించిన ఎన్కోడింగ్స్ లో దేనినైనా, లేదా వాటి వర్ణాలు కూడా యూనీ కోడ్ లో అగుపించే ఇతర ఎన్కోడింగ్ల వినియోగానికి అనుమతిస్తుంది. XML ఒక యంత్రాంగాన్ని కూడా అందిస్తుంది, దీనిద్వారా ఒక XML ప్రాసెసర్ ఏమాత్రం పూర్వ జ్ఞానం లేకుండానే, ఏ ఎన్కోడింగ్ ఉపయోగించబడుతోందో నమ్మకంగా కనిపెడుతుంది.[8] UTF-8 మరియు UTF-16 కాకుండా మిగిలిన ఎన్కోడింగ్ లు తప్పనిసరిగా ప్రతి XML పార్సర్ చేత గుర్తించబడాలని లేదు.

ఎస్కేపింగ్[మార్చు]

ఒక XML డాక్యుమెంట్ లో ఏదో ఒక వర్ణాన్ని చేర్చటం ఎందుకు కష్టమో లేదా ఎందుకు సాధ్యంకాదో చెప్పటానికి చాల కారణాలు ఉన్నాయి.

  • "<" మరియు "&" లు కీలక వాక్యనిర్మాణ గుర్తులు మరియు కంటెంట్(విషయం) లో ఎప్పుడూ కనిపించకపోవచ్చు.[9]
  • కొన్ని వర్ణాల ఎన్కోడింగ్ లు కేవలం యూనికోడ్ యొక్క ఉపసమితిని సమర్ధిస్తాయి: ఉదాహరణకు, ASCII లో ఒక XML డాక్యుమెంట్ ను ఎన్కోడ్ చేయటం చట్టబద్ధం, కానీ "é" వంటి యూనీకోడ్ వర్ణాలకు ASCII లో కోడ్ పాయింట్స్ లేవు.
  • కూర్పరి యొక్క యంత్రం పైన వర్ణాన్ని టైప్ చేయటం సాధ్యం కాకపోవచ్చు.
  • కొన్ని వర్ణాలు ఇతర వర్ణాల నుండి దృష్టిపరంగా ప్రత్యేకించలేని మూలాకారములను కలిగిఉంటాయి: ఉదాహరణకు విరామంలేని స్పేస్ (&#xa0;) మరియు సైరిల్లిక్ పెద్ద అక్షరం A (&#x410;).

ఈ కారణాల వల్ల, XML సమస్యాత్మకమైన లేదా అందుబాటులోలేని వర్ణాలను ప్రస్తావించటానికి ఎస్కేప్ సదుపాయాలను అందిస్తుంది. ఇందులో ఐదు ముందేనిర్వచించబడిన అస్తిత్వాలు ఉన్నాయి: &lt; "<" ను వర్ణిస్తుంది, &gt; ">" ను వర్ణిస్తుంది, &amp; "&" ను వర్ణిస్తుంది, &apos; ' ను వర్ణిస్తుంది, మరియు &quot; " ను వర్ణిస్తుంది. అనుమతించబడిన అన్ని యూనీకోడ్ వర్ణాలు ఒక సంఖ్యా వర్ణ ఉపప్రమాణం తో వర్ణించబడవచ్చు. చైనీస్ వర్ణం "中" ను గమనిస్తే, యూనీకోడ్ లో దాని సంఖ్యాకోడ్ షోడశాంశము 4E2D, లేదా దశాంశము 20,013. ఎ వాడుకదారు కీబోర్డ్ ఈ వర్ణాన్ని ప్రవేశ పెట్టటానికి ఏ విధానాన్ని అందించదో అది ఆ వర్ణాన్ని &#20013; లాగా కానీ లేదా &#x4e2d; లాగా కానీ ఎన్కోడ్ అయిన ఒక XML డాక్యుమెంట్ లో చొప్పించగలదు. అదేవిధంగా, ఒక XML డాక్యుమెంట్ లో "I &lt;3 J&#xF6;rg" లాగా చేర్చటానికి "I <3 Jörg" అనే స్ట్రింగ్ ఎన్కోడ్ చేయబడవచ్చు.

ఏదిఏమైనప్పటికీ, సంఖ్యా వర్ణ ప్రసక్తిని ఉపయోగించినప్పుడు కూడా, శూన్య వర్ణము XML నుండి మినహాయించబడిన నియంత్రిత వర్ణాలలో ఒకటి కావటంవలన, "&#0;" అనుమతించబడదు.[10] అటువంటి వర్ణాలను వర్ణించటానికి Base64 వంటి ప్రత్యామ్నాయ ఎన్కోడింగ్ ప్రక్రియలు అవసరమవుతాయి.

వ్యాఖ్యానాలు[మార్చు]

ఒక డాక్యుమెంట్ లో ఇతర మార్కప్ బయట ఎక్కడైనా వ్యాఖ్యానాలు అగుపించవచ్చు XML ప్రాసెసర్ పొందిక కోసం వ్యాఖ్యానాలు మొదటి లైనులో కానీ లేదా మరియొక విధంగా XML నివేదిక పైన కానీ అగుపించకూడదు. స్ట్రింగ్ "--" (జంట-అడ్డగీత) అనుమతించబడదు(ఎందుకనగా ఇది వ్యాఖ్యానాలను ముగించటానికి ఉపయోగించబడుతుంది), మరియు వ్యాఖ్యానాలలోనే అస్తిత్వాలు గుర్తించబడవు.

ప్రామాణికమైన వ్యాఖ్యానానికి ఒక ఉదాహరణ: ""

అంతర్జాతీయ వినియోగము[మార్చు]

మూలక నామాలు, విశేషణములు, వ్యాఖ్యానాలు, వర్ణ దత్తాంశం, మరియు ఆదేశాల ప్రాసెసింగ్(XML లోనే ప్రత్యేక లాక్షణిక అర్ధం కలిగిఉన్న ఓపెన్ కార్నర్ బ్రాకెట్ "<" వంటివి కాకుండా ఇతరములు) ల లోని దాదాపు ఏ యూనీకోడ్ వర్ణాన్ని అయినా నేరుగా వినియోగించుకోవటాన్ని XML సమర్ధిస్తుంది. అందువలన, ఈ క్రింద దానిలో చైనీస్ మరియు సైరిల్లిక్ వర్ణాలు ఉన్నప్పటికీ, ఇది చక్కగా-రూపొందిన ఒక XML డాక్యుమెంట్. <source lang="xml"> <?xml version="1.0" encoding="utf-8"?&gt;).> <烏語>Китайська мова</烏語> &lt;/source&gt;

చక్కని-అమరిక మరియు తప్పిదాల-నిర్వహణ[మార్చు]

XML స్పెసిఫికేషన్ ఒక XML డాక్యుమెంట్ ను చక్కగా-రూపొందిన వాచకంగా నిర్వచిస్తుంది, అనగా, ఆ స్పెసిఫికేషన్ లో ఉన్న వాక్యనిర్మాణ నియమాల జాబితాను ఇది సంతృప్తిపరుస్తుంది. ఈ జాబితా చాలా పెద్దది; కొన్ని కీలక అంశాలు ఇవి:

  • ఇందులో కేవలం సరిగా-ఎన్కోడ్ అయిన లీగల్ యూనీకోడ్ వర్ణాలు
  • వాటి మార్కప్-వివరణ పాత్రలను పోషించేటప్పుడు తప్ప "<" మరియు "&" వంటి ఏ ప్రత్యేక వాక్యనిర్మాణ వర్ణాలు అగుపించవు.
  • మూలకాలను నియంత్రించే ప్రారంభ, అంత్య, మరియు శూన్య-మూలక ట్యాగ్ లు, ఏదీ కోల్పోకుండా మరియు ఏదీ ఒకదానిపై ఒకటి పరుచుకోకుండా సక్రమంగా అల్లుకుంటాయి.
  • ఈ మూలక ట్యాగులు వర్ణాల రెండు బడుల (అప్పర్ మరియు లోవర్ కేసెస్) మధ్య వ్యత్యాసాన్ని గుర్తించగలవు; ప్రారంభ మరియు అంత్య ట్యాగ్ లు సరిగ్గా సరిపడాలి.
  • ఇందులో అన్ని ఇతర మూలకాలను కలిగిఉన్న ఒక ఏకైక "రూట్" మూలకం ఉంది.

ఒక XML డాక్యుమెంట్ యొక్క నిర్వచనము చక్కగా-నియమాల ఉల్లంఘనలను కలిగిఉన్న వాచకాలను మినహాయిస్తుంది; అవి కేవలం XML కావు. ఆవిధమైన తప్పిదాలను నివేదించటానికి మరియు సాధారణ ప్రాసెసింగ్ ను నిలిపివేయటానికి ఆవిధమైన ఉల్లంఘనలను ఎదుర్కొనే ఒక XML ప్రాసెసర్ అవసరమవుతుంది. అప్పుడప్పుడు డ్రాకోనియన్ గా ప్రస్తావించబడే ఈ పాలసీ, ఘోరమైన మార్కప్ తప్పిదాలు ఉన్నప్పుడు కూడా ఒక మంచి ఫలితాన్ని ఉత్పత్తి చేసే విధంగా రూపొందించబడిన HTML ను ప్రాసెస్ చేసే ప్రోగ్రాముల నడవడికకు ఖచ్చితంగా భిన్నంగా నిలుస్తుంది. ఈ స్థితిలో XML యొక్క పాలసీ పోస్టెల్స్ లా యొక్క ఉల్లంఘనగా విమర్శించబడుతుంది.[11]

స్కేమాస్ మరియు ప్రమాణీకరణము[మార్చు]

చక్కగా-రూపొందించబడటంతో పాటు, ఒక XML డాక్యుమెంట్ సమ్మతమైనది అవవచ్చు. అనగా ఇది డాక్యుమెంట్ టైప్ డెఫినిషన్ (DTD) కు ఒక ఉపప్రమాణమును కలిగిఉంటుంది, మరియు దానిమూలంగా దాని మూలకాలు మరియు విశేషణములు ఆ DTD లో నివేదించబడి ఆ DTD నిర్దేశించిన వ్యాకరణ నియమాలను అనుసరిస్తాయి.

XML డాక్యుమెంట్లను పరీక్షిస్తున్నాయో లేదో అనే దాని పైన ఆధారపడి XML ప్రాసెసర్లు వాలిడేటింగ్ లేదా నాన్-వాలిడేటింగ్ గా విభజించబడ్డాయి. ఒక క్రమబద్ధత తప్పిదాన్ని కనిపెట్టే ఒక ప్రాసెసర్ దానిని నివేదించగలిగి ఉండాలి, కానీ సాధారణ ప్రాసెసింగ్ చేస్తూనే ఉండవచ్చు.

స్కేమ లేదా వ్యాకరణము నకు DTD ఒక ఉదాహరణ. XML 1.0 మొదటిసారి ప్రచురితమైనప్పటినుండి, XML కొరకు స్కేమ భాషలు పనిచేసే చోట వాస్తవ్యమైన పని ఉంది. ఒక డాక్యుమెంట్ లో ఉపయోగించగలిగే మూలకాల సమూహమును ఈ విధమైన స్కీమ భాషలు విలక్షణంగా నిర్బంధిస్తాయి, వాటి విశేషణములు అవి అగుపించే క్రమంలోను, మరియు అనుమతించదగిన పేరెంట్/చైల్డ్ బంధాలలోను వాటికి అన్వయించబడతాయి.

DTD[మార్చు]

XML కొరకు పురాతన స్కేమ భాష డాక్యుమెంట్ టైప్ డెఫినిషన్ (DTD), ఇది SGML నుండి సంక్రమించింది.

DTDలు క్రింది లాభాలను కలిగిఉన్నాయి:

  • XML 1.0 స్టాండర్డ్ లో కలవటం వలన DTD ఆసరా సర్వవ్య్యాప్తమైంది.
  • మూలక-ఆధారిత స్కేమ భాషలతో పోల్చితే DTDలు సంక్షిప్తమైనవి మరియు తత్ఫలితంగా ఒక ఒంటరి తెరలో ఎక్కువ సమాచారాన్ని ఉంచుతాయి.
  • వర్ణాల ప్రచురణకు స్టాండర్డ్ పబ్లిక్ ఎంటిటి సెట్స్ యొక్క ప్రకటనను DTDలు అనుమతిస్తాయి.
  • ఒక నేమ్ స్పేస్ వినియోగించే రకాల బదులు DTDలు ఒక డాక్యుమెంట్ టైప్ ను నిర్వచిస్తాయి, తద్వారా ఒక డాక్యుమెంట్ యొక్క అన్ని నిబంధనలను సంయుక్తంగా ఒకే సమూహంలో మిళితం చేస్తాయి.

DTDలు ఈ క్రింది నిర్బంధాలను కలిగిఉన్నాయి:

  • వీటిలో XML యొక్క సరికొత్త లక్షణములకు మరీ ముఖ్యంగా నేమ్ స్పేస్ లకు, స్పష్టమైన ఆసరా లేదు.
  • వాటిలో వ్యక్తీకరణ ఉండదు. XML DTDలు SGML DTDల కన్నా సరళంగా ఉంటాయి మరియు అక్కడ సాధారణ వ్యాకరణములతో వ్యక్తపరచలేని ఖాయమైన నిర్మాణాలు ఉన్నాయి. DTDలు కేవలము ప్రాధమిక దత్తాంశరూపాలను మాత్రమే సమర్ధిస్తుంది.
  • వాటిని చదవలేము. DTD రూపకర్తలు విలక్షణంగా పారామీటర్(గణిత రాసి) అస్తిత్వాలను ఎక్కువగా ఉపయోగించుకుంటారు (ఇవి తప్పనిసరిగా వాచక మాక్రోస్ గా ప్రవర్తిస్తాయి), దీనితో స్పష్టత సరిగా లేకపోయినా క్లిష్టమైన వ్యాకరణాలను నిర్వచించటం తేలికఅవుతుంది.
  • అవి స్కీమ ను నిర్వచించటానికి, SGML నుండి ఉద్భవించిన సాధారణ వ్యక్తీకరణ వాక్య నిర్మాణము పైన ఆధారపడిన ఒక వాక్యనిర్మాణాన్ని ఉపయోగించుకుంటాయి. SAX వంటి విలక్షణ XML APIలు అప్లికేషనులకు వాక్యనిర్మాణం యొక్క నిర్మాణాత్మక వర్ణనను అందించటానికి ప్రయత్నించవు, అందువలన ఇది ప్రోగ్రామర్లకు బహుశా ఒక మూలక-ఆధారిత వాక్యనిర్మాణం కన్నా తక్కువ అందుబాటులో ఉండవచ్చు.

DTD లను ఇతర స్కీమ రకాల నుండి ప్రత్యేకంగా చూపే రెండు విలక్షణ లక్షణాలు ఏమిటంటే XML డాక్యుమెంట్ లోనే ఒక DTD ని చొప్పించటానికి మరియు అస్తిత్వాలను నిర్వచించటానికి వాక్యనిర్మాణ ఆసరా, ఈ అస్తిత్వాలు వాచకాల అనియత శకలాలు మరియు/లేదా XML ప్రాసెసర్ చొప్పించిన వాటిని, వాటి ప్రసక్తి వచ్చినప్పుడు, వర్ణ ఎస్కేప్స్ లాగా DTD లోనూ మరియు XML డాక్యుమెంట్ లోనూ చేసిన మార్కప్ లు.

DTD సాంకేతికత దాని సర్వవ్యాపకత్వం మూలంగా ఇప్పటికీ చాలా అప్లికేషనులలో ఉపయోగించబడుతోంది.

XML స్కీమ[మార్చు]

DTDలను అనుసరించి వచ్చేదానిగా W3C చే నిర్వచించబడిన ఒక కొత్త స్కీమ లాంగ్వేజ్, XML స్కీమ, ఇది తరచుగా XML స్కీమ ఇన్స్టాన్సెస్, XSD (XML స్కీమ డెఫినిషన్) లో ప్రేరకం చేత ప్రస్తావించబడుతుంది. XSDలు XML భాషలను నిర్వచించటంలో DTDల కన్నా చాలా శక్తివంతమైనవి. అవి గొప్ప డేటాటైపింగ్ వ్యవస్థను ఉపయోగించుకుంటాయి మరియు ఒక XML డాక్యుమెంట్ యొక్క తార్కిక నిర్మాణం పైన మరింత సవిస్తారమైన కట్టుబాట్లను అనుమతిస్తుంది. XSDలు కూడా ఒక XML-ఆధారిత అమరికను ఉపయోగించుకుంటాయి, ఇది వాటిని ప్రాసెస్ చేయటానికి సహాయం చేసే సాధారణ XML ఉపకరణాలను వినియోగించుకునే అవకాశం కల్పిస్తుంది.

RELAX NG[మార్చు]

RELAX NG మొదటగా OASIS చేత వివరించబడింది మరియు ప్రస్తుతానికి ఒక ISO అంతర్జాతీయ ప్రమాణము కూడా(DSDL లో ఒక భాగంగా). RELAX NG స్కీమాస్ ఒక XML ఆధారిత వాక్యనిర్మాణంలో కానీ లేదా XML-కాని వాక్యనిర్మాణంలో కానీ వ్రాయబడవచ్చు; ఆ రెండు వాక్య నిర్మాణములు సారూప్యాలు మరియు జేమ్స్ క్లార్క్ యొక్క ట్రాంగ్ మార్పిడి ఉపకరణం సమాచారాన్ని కోల్పోకుండా వాటిని ఒకదానినుండి ఒకదానికి మార్చగలదు. RELAX NG, XML స్కీమ కన్నా సరళమైన నిర్వచనాన్ని మరియు ప్రామాణీకరించే నియమావళిని కలిగిఉంది, అందువలన దీనిని ఉపయోగించటం మరియు అమలులో పెట్టటం సులభమవుతుంది. దీనికి దత్తాంశరూపాల నియమాల ప్లగ్-ఇన్ లను ఉపయోగించే సామర్ధ్యం కూడా ఉంది; ఉదాహరణకు,ఒక RELAX NG స్కీమ రూపకర్తకు XML స్కీమ దత్తాంశరూపాలలో నిర్వచనాలకు సరిపడటానికి ఒక XML డాక్యుమెంట్ లో విలువలు అవసరమవుతాయి.

స్కీమట్రాన్[మార్చు]

స్కీమట్రాన్ ఒక XML డాక్యుమెంట్ లో నమూనాల యొక్క హాజరీ మరియు గైర్హాజరీల గురించిన స్థిరీకరణములను చేసే భాష. ఇది విలక్షణంగా XPath వ్యక్తీకరణములను ఉపయోగిస్తుంది.

ISO DSDL మరియు స్కీమ లాంగ్వేజులు[మార్చు]

ISO DSDL (డాక్యుమెంట్ స్కీమ డిస్క్రిప్క్షణ్ లాంగ్వేజెస్) ప్రమాణము విస్తారమైన ఒక చిన్న స్కీమ భాషల సమితిని తోడ్కొనివస్తుంది, ఇందులో ప్రతిదీ ఒక ప్రత్యేక సమస్య కొరకు లక్ష్యంకాబడి ఉంటుంది. DSDL లో RELAX NG సపూర్నమైన మరియు చిన్నదైన వాక్యనిర్మాణము, స్కీమట్రాన్ స్థాపన లాంగ్వేజ్ , దత్తాంశరకాలను నిర్వచించటానికి లాంగ్వేజ్ లు, వర్ణాల నైపుణ్యాల కట్టుబాట్లు, పేరుమార్పు మరియు అస్తిత్వ విస్తరణ, మరియు వివిధ పరీక్షకాలకు డాక్యుమెంట్ శకలాల యొక్క నేమ్ స్పేస్-ఆధారిత రౌటింగ్. DSDL స్కీమ భాషలకు ఇప్పటికీ XML స్కీమాస్ యొక్క విక్రయదారు మద్దత్తు లేదు, మరియు ఇవి కొంతవరకు ప్రచురణ కొరకు XML స్కీమాస్ యొక్క నిరుపయోగానికి పారిశ్రామిక ప్రచురణకర్తల సాధారణ స్పందన అయిఉంటాయి.

కొన్ని స్కీమ లాంగ్వేజ్ లు కేవలం ప్రత్యేకమైన ఒక XML అమరిక యొక్క నిర్మాణాన్ని వర్ణించటమే కాకుండా ఈ అమరికకు బద్ధమైన స్వంతంత్ర XML ఫైల్స్ యొక్క ప్రాసెసింగ్ ను ప్రభావితం చేయటానికి మితమైన సదుపాయాలను అందిస్తాయి. DTDలు మరియు XSDలు రెండూ ఈ సామర్ధ్యాన్ని కలిగిఉన్నాయి; ఉదాహరణకు అవి ఇన్ఫోసెట్ అభివృద్ధి సదుపాయాన్ని మరియు విశేషణ అపక్రమాలను అందిస్తాయి. RELAX NG మరియు స్కీమట్రాన్ కావాలనే వీటిని అందించవు.

అనుబంధ స్పెసిఫికేషన్లు[మార్చు]

XML 1.0 యొక్క మొదటి ప్రచురణ వెంటనే XML తో దగ్గరి అనుబంధం ఉన్న స్పెసిఫికేషన్ల గుంపు వృద్ధిచేయబడుతోంది. ఇది "XML" అనే పదము, XML తో పాటు XML మూలాంశంలో ఒక భాగంగా పరిగణించబడే ఒకటి లేదా అంతకన్నా ఎక్కువ ఇతర సాంకేతికతలను కూడా కలిపి ప్రస్తావించటానికి తరచుగా వాడబడుతుంది.

  • XML నేమ్ స్పేస్ లు అదే డాక్యుమెంట్ లో XML మూలకాలు మరియు ఏవిధమైన నేమింగ్ అభిఘాతములు జరగకుండా, వివిధ శబ్దజాలాల నుండి తీసుకోబడిన విశేషణములు ఉండేటట్లు చేస్తాయి. XML ను సమర్ధించేదిగా ప్రచారంచేయబడిన సాఫ్ట్వేర్ అంతా తప్పనిసరిగా XML నేమ్ స్పేస్ లను కూడా సమర్ధించాలి.
  • XML బేస్ xml:base విశేషణమును నిర్వచిస్తుంది, ఇది ఒక ఏకైక XML మూలకం యొక్క పరిధిలోని సాపేక్ష URI రిఫరెన్సుల యొక్క సంకల్పానికి ఆధారాన్ని పెట్టటానికి ఉపయోగించబడవచ్చు.
  • XML ఇన్ఫర్మేషన్ సెట్ లేదా XML ఇన్ఫోసెట్ XML డాక్యుమెంట్ల కొరకు ఇన్ఫర్మేషన్ ఐటమ్స్ దృష్ట్యా ఒక సంగ్రహ దత్తాంశ నమూనాను నిర్వచిస్తుంది. ఈ లాంగ్వేజ్ లు అనుమతించే XML నిర్మాణాల పైన ఆంక్షలను నిర్వచించటంలో సౌలభ్యం కొరకు, ఈ ఇన్ఫోసెట్ XML లాంగ్వేజ్ ల స్పెసిఫికేషన్లలో సాధారణంగా వినియోగించబడుతుంది.
  • xml:id, xml:id అనే పేరుగల విశేషణము ఒక DTD లో ఉపయోగించిన విధంగా ఒక "ID విశేషణము" గా పనిచేసేటట్లు దృవీకరిస్తుంది.
  • XPath XPath ఎక్స్ప్రెషన్స్ అనే పేరుగల వాక్యనిర్మాణాన్ని నిర్వచిస్తుంది ఇది ఒక XML డాక్యుమెంట్ లో ఉండే అంతర్గత అంశాలను (మూలకాలు, విశేషణములు మొదలైనవి) గుర్తిస్తుంది. XPath ఇతర మూలాంశ-XML స్పెసిఫికేషన్లలోను మరియు XML-ఎన్కోడెడ్ దత్తాంశమును సమీపించటానికి ప్రోగ్రామింగ్ లైబ్రరీలలోను విస్తారంగా ఉపయోగించబడతాయి.
  • XSLT అనేది ఒక XML-ఆధారిత వాక్యనిర్మాణము, ఇది XML డాక్యుమెంట్లను ఇతర XML డాక్యుమెంట్లు, HTML, లేదా సరళమైన వాచకము లేదా RTF వంటి ఇతర నిర్మాణంలేని అమరికల లోనికి రూపాంతరం చేయటానికి ఉపయోగించబడుతుంది. XSLT, ప్రవేశాంశ XML డాక్యుమెంట్ యొక్క అంశాలను ముఖ్యంగా మూలకాలు మరియు విశేషణముల గురించి చెప్పటానికి ఉపయోగించే XPath తో చాలా గట్టిగా జతకూర్చబడింది.
  • XSL ఫార్మాటింగ్ ఆబ్జెక్ట్స్, లేదా XSL-FO, XML డాక్యుమెంట్ల అమరికకు ఒక మార్కప్ లాంగ్వేజ్, ఇది PDFల తయారీలో చాలా తరచుగా వినియోగించబడుతుంది.
  • XQuery అనేది XPath and XML స్కీమా లలో బలంగా పాతుకుపోయిన ఒక XML-పక్షపు పృచ్చక భాష. ఇది XML ను సమీపించటానికి, నిర్వహించటానికి మరియు తిరిగిపంపటానికి విధానాలను అందిస్తుంది.
  • XML సిగ్నేచర్ XML కంటెంట్ పైన అంక సంతకాల కొరకు వాక్యనిర్మాణమును మరియు ప్రాసెసింగ్ నియమాలను నిర్వచిస్తుంది.
  • XML ఎన్క్రిప్క్షన్ XML కంటెంట్ ను ఎన్క్రిప్ట్ చేయటానికి వాక్యనిర్మాణమును మరియు ప్రాసెసింగ్ నియమాలను నిర్వచిస్తుంది.

"XML Core" యొక్క భాగంగా భావించిన కొన్ని ఇతర స్పెసిఫికేషన్లు విస్తృత అంగీకారం పొందటంలో విఫలమైనాయి, వీటిలో Xఇంక్లూడ్, Xలింక్, మరియుXపాయింటర్ ఉన్నాయి.

ఇంటర్నెట్ పై వినియోగము[మార్చు]

ఇంటర్నెట్ పైన దత్తాంశ మార్పిడిలో XML సాధారణంగా వినియోగించబడుతుంది. XML ను పంపించేటప్పుడు వినియోగానికి ఇంటర్నెట్ మీడియా టైప్స్ నిర్మాణమునకు RFC 3023 నియమాలను ఇస్తుంది. ఇది "అప్లికేషను/xml" లేదా "టెక్స్ట్/xml" రకాలను కూడా నిర్వచిస్తుంది, అవి కేవలం XML లో దత్తాంశం ఉందని చెపుతాయి, కానీ దాని అర్ధం గురించి ఏమీ చెప్పవు. "టెక్స్ట్/xml" యొక్క వినియోగం ప్రశ్నలను ఎన్కోడ్ చేసే ఒక సమర్ధవంతమైన మూలంగా విమర్శించబడింది మరియు ప్రస్తుతం అది ఆక్షేపను అందుకునే దిశలో ఉంది.[12] XML-ఆధారిత లాంగ్వేజిలకు "అప్లికేషను/" లో మొదలై "+xml" లో ముగిసే మీడియా రకాలను ఇవ్వాలని కూడా RFC 3023 సిఫార్సు చేసింది; ఉదాహరణకు SVG కొరకు "అప్లికేషను/svg+xml".

ఒక నెట్వర్క్డ్ సందర్భంలో XML యొక్క వినియోగానికి తదుపరి సూచనలు, IETF BCP 70 గా కూడా ప్రసిద్ధమైన RFC 3470 లో కనుగొనబడవచ్చు; ఈ డాక్యుమెంట్ చాల విస్తృత-పరిధిలో ఉంది మరియు ఒక XML-ఆధారిత లాంగ్వేజ్ యొక్క నిర్మాణము మరియు నిర్వహణ యొక్క అనేక కోణాలను చుట్టబెడుతుంది.

ప్రోగ్రామింగ్ అంతర్ముఖాలు[మార్చు]

XML యొక్క నిర్మాణ లక్ష్యాలలో ఇది ఉంది "XML డాక్యుమెంట్లను ప్రాసెస్ చేసే ప్రోగ్రాములను వ్రాయటానికి ఇది సులువుగా ఉండాలి."[4] ఇది నిజం అయినప్పటికీ, ఈ XML స్పెసిఫికేషన్లో ఈ విధమైన ప్రాసెసింగ్ ను ప్రోగ్రామర్లు ఎలా చేస్తారు అనే దాని గురించి దాదాపు ఏ సమాచారము లేదు. XML ఇన్ఫోసెట్ ఒక XML డాక్యుమెంట్ లోని నిర్మాణములను ప్రస్తావించటానికి ఒక పదజాలాన్ని అందిస్తుంది, కానీ ఆ సమాచారాన్ని ఎలా సమీపించాలో తెలియజేసే ఏ సూచనను మరియొకసారి అందించదు. XML ను సమీపించటానికి వివిధరకాల APIలు వృద్ధిచేయబడ్డాయి మరియు వినియోగించబడ్డాయి, మరియు కొన్ని ప్రామాణీకరించబడ్డాయి.

XML ప్రాసెసింగ్ కొరకు ప్రస్తుతంఉన్న APIలు ఈ వర్గాలలో చేరవచ్చు:

  • ఒక ప్రోగ్రామింగ్ లాంగ్వేజ్ నుండి సమీపించగలిగిన ప్రవాహ-పక్ష APIలు, ఉదాహరణకు SAX మరియు StAX.
  • ఒక ప్రోగ్రామింగ్ లాంగ్వేజ్ నుండి సమీపించగలిగిన ట్రీ-ట్రావెర్సల్ APIలు, ఉదాహరణకు DOM.
  • XML డేటా బైండింగ్, ఇది ఒక XML డాక్యుమెంట్ కు మరియు ప్రోగ్రామింగ్-లాంగ్వేజ్ ఆబ్జెక్ట్ లకు మధ్య స్వకీయమైన అనువాదాన్ని అందిస్తుంది.
  • XSLT మరియు XQuery వంటి డిక్లెరేటివ్ ట్రాన్స్ఫర్మేషన్ లాంగ్వేజులు.

ప్రవాహ-పక్ష సదుపాయాలకు తక్కువ మెమొరీ అవసరమవుతుంది మరియు ఒక XML డాక్యుమెంట్ యొక్క తిన్ననైన ట్రావెర్సల్ పైన ఆధారపడిన కొన్ని లక్ష్యాలకు ఈ సదుపాయాలు, ఇతర ప్రత్యామ్నాయాల కన్నా వేగవంతంగా మరియు సరళంగా ఉంటాయి. ట్రీ-ట్రావెర్సల్ మరియు డేటా-బైండింగ్ APIలకు విలక్షణంగా మరింత ఎక్కువ మెమొరీ అవసరమవుతుంది, కానీ ఇవి ప్రోగ్రామర్లు ఉపయోగించుకోవటానికి ఎక్కువ సౌలభ్యంగా ఉంటాయని తెలిసింది; కొన్ని XPath వ్యక్తీకరణల వినియోగం ద్వారా డాక్యుమెంట్ అంశాలను నివేదిక బద్ధంగా తిరిగిపొందడాన్ని కలిగి ఉంటాయి.

XML డాక్యుమెంట్ పరిణామం యొక్క నివేదికాబద్ధమైన వర్ణన కొరకు XSLT రూపొందించబడింది, మరియు సర్వర్-సైడ్ ప్యాకేజీలలోను మరియు వెబ్ బ్రౌజర్లలోను విస్తారంగా అమలుచేయబడింది. XQuery దాని క్రియాశీలతలో XSLT కన్నా కొద్దిగా అధికంగా ఉంటుంది, కానీ పెద్ద XML డేటాబేస్ ల శోధన కొరకు ఎక్కువగా రూపొందించబడింది.

XML కొరకు సింపుల్ API (SAX)[మార్చు]

SAX అనేది మాటలకు సంబంధించిన, సందర్భానుసారంగా-నడిచే అంతర్ముఖము ఇందులో ఒక డాక్యుమెంట్ వరుసక్రమమలో చదువబడుతుంది మరియు దానిలోని అంశాలు వాడుకదారు నిర్మాణము యొక్క హాండ్లర్ ఆబ్జెక్ట్ పైన వివిధ విధానములకు కాల్ బ్యాక్(అడిగినప్పుడు సమాచారాన్ని తిరిగి అందించేవి) లుగా నమోదవుతాయి. SAX అమలుపరచటానికి చాల వేగవంతమైనది మరియు సమర్ధవంతమైనది, కానీ ఇది డాక్యుమెంట్ లో ఏ భాగం ప్రాసెస్ అవుతోందో నమోదుచేసుకోవటం ద్వారా అనువర్తనంకూర్పరిపై భారం పెంచటం వలన, XML నుండి క్రమరహితంగా సమాచారాన్ని రాబట్టటానికి ఉపయోగించటం కష్టం. ఒక డాక్యుమెంట్ లో అవి ఎక్కడ అగుపిస్తాయనే దానితో నిమిత్తం లేకుండా, కొన్ని రకాల సమాచారం ఎల్లప్పుడూ ఒకేవిధంగా నిర్వహించ బడుతుందో అలాంటి పరిస్థితులలో అది చక్కగా సరిపోతుంది.

పుల్ పార్సింగ్[మార్చు]

పుల్ పార్సింగ్[13] డాక్యుమెంట్ ను మళ్ళీమళ్ళీ చెప్పే(ఇటెరేటర్) నిర్మాణ నమూనాను ఉపయోగించి ఒక క్రమంలో చదివే అంశాల శ్రేణిగా చూస్తుంది. ఇది రికర్సివ్-డిసెంట్ పార్సర్లను వ్రాయటానికి అనుమతిస్తుంది, ఇందులో పార్సర్ను నిర్వహించే కోడ్ యొక్క నిర్మాణం పార్సింగ్ అవుతున్న XML నిర్మాణాన్ని ప్రతిబింబిస్తుంది, పార్సింగ్ యొక్క మధ్యంతర ఫలితాలను పార్సింగ్ చేస్తున్న విధానాలలోనే స్థానిక వేరియబుల్స్ గా ఉపయోగించుకోవచ్చు లేదా సమీపించవచ్చు, లేదా అవి క్రింది-స్థాయి విధానాలకు పంపబడతాయి(విధాన పారామీటర్లుగా), లేదా పై-స్థాయి విధానాలకు తిరిగివస్తాయి(మెథడ్ రిటర్న్ విలువలుగా). పుల్ పార్సర్లకు ఉదాహరణలలో జావా ప్రోగ్రామింగ్ లాంగ్వేజ్ లో StAX, PHP లో SimpleXML మరియు .NET ఫ్రేంవర్క్ లో System.Xml.XmlReader

ఒక పుల్ పార్సర్ ఒక XML డాక్యుమెంట్ లోని వివిధ మూలకాలను, విశేషణములను, మరియు దత్తాంశమును వరుసక్రమంలో సందర్శించే ఒక ఇటెరేటర్ ను తయారుచేస్తుంది. ఈ ఇటెరేటర్ ను ఉపయోగించుకొనే కోడ్ ప్రస్తుత అంశాన్ని పరీక్షించగలదు (ఉదాహరణకు, అది ఒక ప్రారంభ లేదా అంత్య మూలకమో, లేదా వాచకమో చెప్పటానికి), మరియు దాని విశేషణములను పరీక్షించగలదు (స్థానిక నామము, నేమ్ స్పేస్, XML విశేషణముల విలువలు, వాచక విలువ మొదలైనవి), మరియు ఆ ఇటెరేటర్ ను తర్వాతి అంశంలోనికి పంపగలదు. అందువలన ఆ కోడ్ దానిలో అడ్డంగా పోతున్నప్పుడే ఆ డాక్యుమెంట్ నుండి సమాచారాన్ని రాబట్టగలదు. రికర్సివ్-అవరోహణ విధానం పార్సింగ్ చేస్తున్న కోడ్ లో డేటాను టైప్ చేయబడిన స్థానిక వేరియబుల్స్ గా ఉంచటానికి దానికి అదే సహాయం చేసుకుంటుంది, అదే సమయంలో, ఉదాహరణకు SAX కు పార్సింగ్ అవుతున్న మూలకం యొక్క మాతృ అంశాలైన మూలకాల దొంతిలో మధ్యంతర దత్తాంశమును నిర్వహించటానికి ఒక పార్సర్ అవసరమవుతుంది. పుల్-పార్సింగ్ కోడ్ SAX పార్సింగ్ కోడ్ కన్నా అర్ధంచేసుకోవటానికి మరియు నిర్వహించటానికి ఎక్కువ రుజువర్తంగా ఉంటుంది.

డాక్యుమెంట్ ఆబ్జెక్ట్ మోడల్ (DOM)[మార్చు]

DOM (డాక్యుమెంట్ ఆబ్జెక్ట్ మోడల్) ఒక అంతర్ముఖ-పక్ష అనువర్తన ప్రోగ్రామింగ్ ఇంటర్ఫేస్ ఇది డాక్యుమెంట్ అంతటినీ ఆ డాక్యుమెంట్ యొక్క అంశాలను ప్రదర్శించే "నోడ్" ఆబ్జెక్ట్ల వృక్షంగా భావిస్తూ దాని పరిశీలనకు అనుమతిస్తుంది. ఒక DOM డాక్యుమెంట్ పార్సర్ ద్వారా రూపొందవచ్చు, లేదా వాడుకదారులు వారే దానినిఉత్పత్తి చేయవచ్చు (కొన్ని పరిమితులతో). DOM నోడ్ లలోని దత్తాంశ రకాలు సంగ్రహమైనవి; అమలులు వాటి సొంత ప్రోగ్రామింగ్ లాంగ్వేజ్-కి ప్రత్యేకమైన బైండింగ్ లను అందిస్తాయి. DOM ఆచరణలు మెమొరీపై ఆధారపడవచ్చు, ఎందుకంటే అవి యాక్సెస్ చేయబడటానికి ముందే డాక్యుమెంట్ అంతటినీ మెమొరీ లోనికి లోడ్ చేసుకొని దానిని ఆబ్జెక్ట్ ల యొక్క వృక్షంగా చేయటం అవసరం.

దత్తాంశ బంధనము[మార్చు]

XML ప్రాసెసింగ్ API యొక్క మరొక రూపు XML డేటా బైండింగ్, ఇందులో XML డేటా ఒక డాక్యుమెంట్ ఆబ్జెక్ట్ మోడల్ పార్సర్(వ్యాకరణాన్ని పరేక్షించేది) రూపొందించిన సాధారణ ఆబ్జెక్టులకు వ్యతిరేకంగా, ఒక నిర్దేశిత గురుపీటంగా అందుబాటులోకి తీసుకురాబడుతుంది. ఈ విధానం కోడ్ డెవలప్మెంట్ ను సరళతరం చేస్తుంది, మరియు చాలా సందర్భాలలో సమస్యలను రన్-టైం కన్నా కంపైల్ టైం లో గుర్తిస్తుంది. డేటా బైండింగ్ సిస్టమ్స్ కు ఉదాహరణలలో జావా ఆర్కిటెక్చర్ ఫర్ XML బైండింగ్ (JAXB), .NET లో XML సీరియలైజేషన్,[14] మరియు C++ కొరకు కోడ్ సింథసిస్ XSD.[15][16]

ఒక దత్తాంశ రూపంగా XML[మార్చు]

ఇతర లాంగ్వేజులలో XML ఒక మొదటి-తరగతి దత్తాంశ రకంగా కనిపించటం మొదలైంది. ECMAస్క్రిప్ట్/జావాస్క్రిప్ట్ లాంగ్వేజ్ కి కొనసాగింపు అయిన ECMAస్క్రిప్ట్ ఫర్ XML (E4X) జావాస్క్రిప్ట్ కొరకు రెండు ప్రత్యేక ఆబ్జెక్టులను (XML and XMLList) స్పష్టంగా నిర్వచిస్తుంది, ఇవి XML డాక్యుమెంట్ నోడ్స్ ను మరియు XML డాక్యుమెంట్ జాబితాలను ప్రత్యేకమైన ఆబ్జెక్టులుగా సమర్దిస్తాయి మరియు పేరెంట్-చైల్డ్ బంధాలను వివరించటానికి ఒక డాట్-నోటేషన్ ను ఉపయోగిస్తాయి. మొజిల్లా 2.5+ బ్రౌజర్లు మరియు అడోబ్ యాక్షన్ స్క్రిప్ట్ లు E4X ను సమర్ధించాయి, కానీ విశ్వవ్యాప్తంగా అంత ఎక్కువగా స్వీకరించబడలేదు. Microsoft .NET 3.5 మరియు అంతకు పైన వాటిలో మరియు స్కాలలో (ఇది Java VM ను వాడుకుంటుంది) Microsoft యొక్క LINQ అమలుకు ఇదేవిధమైన సంజ్ఞా మానములు ఉపయోగించబడ్డాయి. XML నిర్వహణకు ప్రత్యేక లక్షణాలతో లినక్స్-వంటి షెల్ల్ ను అందించే, బహిరంగ-మూల xmlsh అనువర్తనం<[ ]> సంజ్ఞామానంను ఉపయోగించి, XML ను ఒక దత్తాంశరకంగా అదేవిధంగా చూస్తుంది.[17]

చరిత్ర[మార్చు]

XML అనేది ఒక పెద్ద ISO ప్రమాణమైన SGML యొక్క ప్రొఫైల్ లేదా పునఃక్రియ.

సమాచారాన్ని చురుకుగా ప్రదర్శించటానికి SGML యొక్క సర్వతోముఖప్రజ్ఞ ఇంటర్నెట్ ఆవిర్భావానికి ముందే 1980 ల చివరలో పూర్వపు డిజిటల్ మీడియా ప్రచురణకర్తల ద్వారా అర్ధంచేసుకోబడింది.[18][19] 1990ల మధ్య నాటికి SGML యొక్క వినియోగదారులు కొందరు అప్పటి కొత్తదైన వరల్డ్ వైడ్ వెబ్ తో అనుభవం సంపాదించారు, మరియు వెబ్ అభివృద్ధి చెందుతున్న సమయంలో ఎదురోకవటానికి అవకాశం ఉన్న కొన్ని ఇబ్బందులకు SGML పరిష్కారాలను అందిస్తుందని నమ్మారు. డాన్ కన్నోల్లి 1995 లో తను ఆ సిబ్బందితో కలిసినప్పుడు SGML ను W3C యొక్క కార్యకలాపాల జాబితాలో చేర్చాడు; సన్ మైక్రో సిస్టమ్స్ ఇంజనీర్ జోన్ బోసాక్ ఒక ఒప్పందం కుదుర్చుకొని సహకారులను నియమించుకున్నప్పుడు 1996 మధ్యలో పని మొదలైంది. SGML మరియు వెబ్ రెండింటిలో అనుభవం ఉన్న అతితక్కువ మంది ప్రజల సమూహంతో బోసాక్ బాగా కలివిడిగా ఉండేవాడు.[20]

XML పదకొండు మంది సభ్యుల కార్యనిర్వాహక వర్గంతో ఏర్పాటై,[21] (సుమారు) 150-మంది సభ్యుల ఇంట్రెస్ట్ గ్రూప్ తో సమర్ధించబడుతోంది. ఇంట్రెస్ట్ గ్రూప్ యొక్క మెయిలింగ్ జాబితా పైన సాంకేతిక వివాదం చోటుచేసుకుంది మరియు వివాదాలు అభిప్రాయసామ్యం ద్వారా కానీ లేదా, అది విఫలమైనప్పుడు, కార్యవర్గం యొక్క అధికసంఖ్యాకుల ఎంపిక ద్వారా కానీ పరిష్కరించబడతాయి. నిర్మాణాల నిర్ణయాలు మరియు వాటి అన్వయాల నివేదిక డిసెంబర్ 4, 1997 న మైఖేల్ స్పెర్బెర్గ్-మాక్ క్వీన్ చే కూర్చబడింది.[22] జేమ్స్ క్లార్క్ కార్యవర్గానికి సాంకేతిక అగ్రగామిగా పనిచేసాడు, ఇతను ముఖ్యంగా శూన్య-మూలక "<empty/>" వాక్యనిర్మాణము మరియు "XML" అనే పేరును అందించాడు. పరిగణలోకి తీసుకురాబడ్డ ఇతర పేర్లలో "MAGMA" (మినిమల్ ఆర్కిటెక్చర్ ఫర్ జనరలైజ్డ్ మార్కప్ అప్లికేషన్స్), "SLIM" (స్ట్రక్చర్డ్ లాంగ్వేజ్ ఫర్ ఇంటర్నెట్ మార్కప్) మరియు "MGML" (మినిమల్ జనరలైజ్డ్ మార్కప్ లాంగ్వేజ్) ఉన్నాయి. ఆ స్పెసిఫికేషన్ యొక్క సహ-సంపాదకులు నిజానికి టిం బ్రే మరియు మైఖేల్ స్పెర్బెర్గ్-మాక్ క్వీన్. ఆ ప్రణాళిక మధ్యలో బ్రే మైక్రోసాఫ్ట్ నుండి కేకలు వేసే నిరసనలను రేకెత్తిస్తూ, నెట్ స్కేప్ తో ఒక సంప్రదింపుల ఒప్పందాన్ని చేసుకున్నాడు. బ్రేను తాత్కాలికంగా సపాదకీయం నుండి వైదొలగాలని అడిగారు. ఇది కార్యవర్గం లో తీవ్ర వివాదానికి దారితీసింది, చిట్టచివరకు మైక్రోసాఫ్ట్ యొక్క జేన్ పోలి ను మూడవ సహ-సంపాదకునిగా నియమించటంతో పరిష్కరించబడింది.

XML కార్యవర్గం ఎప్పుడూ ఎదురెదురుగా కలుసుకోలేదు; ఆ నిర్మాణం ఈమెయిల్ మరియు వారంవారం జరిగే దూరసమాలోచనల కలయికను ఉపయోగించి సాధించబడింది. XML స్పెసిఫికేషన్ యొక్క మొదటి కార్యకారి ప్రతి ప్రచురించబడినప్పుడు, 1996 జూలై మరియు నవంబర్ మధ్య ఇరవై వారాల పాటు తీవ్రంగా పని జరిగిన సమయంలో ముఖ్యమైన నిర్మాణ నిర్ణయాలు సాధించబడ్డాయి.[23] తదుపరి నిర్మాణ కార్యక్రమాలన్నీ 1997 అంతా జరుగుతూనే ఉన్నాయి, మరియు XML 1.0 ఫిబ్రవరి 10, 1998 న W3C సిఫార్సు అయింది.

మూలములు[మార్చు]

XML ఒక ISO స్టాండర్డ్ SGML యొక్క ఒక ప్రొఫైల్, మరియు XML లో చాలాభాగం ఏమార్పూలేకుండా SGML నుండి వస్తుంది. SGML నుండి తార్కిక మరియు భౌతిక నిర్మాణాల విభజన (మూలకాలు మరియు అస్తిత్వాలు), వ్యాకరణ-ఆధారిత సక్రమ పరీక్ష యొక్క అందుబాటు (DTDs), డేటా మరియు మెటాడేటా యొక్క విభజన (మూలకాలు మరియు విశేషణములు), మిళితఅంశం, ప్రదర్శన నుండి ప్రాసెసింగ్ యొక్క విభజన (ప్రాసెసింగ్ ఆదేశాలు), మరియు ప్రామాణికమైన యాంగిల్-బ్రాకెట్ సింటాక్స్. తొలగించబడినవి SGML డిక్లెరేషన్ (XML ఒక స్థిరమైన డీలిమిటర్ సమూహాన్ని కలిగి ఉండి యూనీకోడ్ ను డాక్యుమెంట్ వర్ణ సముదాయం గా స్వీకరిస్తుంది).

XML కు ఇతర సాంకేతిక ఆధారాలు టెక్స్ట్ ఎన్కోడింగ్ ఇనీషిఏటివ్ (TEI), ఇది SGML యొక్క ప్రొఫైల్ ను 'బదిలీ వాక్యనిర్మాణము' గా వినియోగించేవిధంగా నిర్వచిస్తుంది; HTML, ఇందులో మూలకాలు వాటి ఉత్పత్తి స్థానాలతోనూ, ఉత్పత్తి స్థానాల ఎన్కోడింగ్ నుండి డాక్యుమెంట్ వర్ణాల సమూహం తోనూ ఏకకాలికంగా ఉంటాయి, xml:lang విశేషణము మరియు HTTP ఆలోచన ప్రకారం మెటాడేటా ఒక లింక్ యొక్క ప్రకటన సమయంలో అవసరమవటానికి బదులుగా ఉత్పత్తిస్థానంతో జతచేరుతుంది. ISO-సంబంధిత చైనా/జపాన్/కొరియా డాక్యుమెంట్ ప్రాసెసింగ్ ఎక్స్పర్ట్ గ్రూప్ ప్రాజెక్ట్ అయిన SPREAD (స్టాండర్డైజేషన్ ప్రాజెక్ట్ రిగార్దింగ్ ఈస్ట్ ఆసియన్ డాక్యుమెంట్స్) యొక్క ఎక్స్టెన్డెడ్ రిఫరెన్స్ కాంక్రీట్ సింటాక్స్ (ERCS) ప్రాజెక్ట్ XML 1.0 యొక్క పేరుపెట్టటంలో ఉండే నియమాలకు మూలం; SPREAD షోడశాంశ సంఖ్యా వర్ణాల ప్రస్తావనను మరియు అన్ని యూనీకోడ్ వర్ణాలను అందుబాటులోకి తెచ్చే ఆలోచనను కూడా ప్రవేశపెట్టింది. ERCS, XML మరియు HTML లను చక్కగా సమర్ధించటానికి, SGML ప్రమాణం IS 8879, 1996 మరియు 1998 లలో WebSGML అడాప్టేషన్(పొందిక)లతో సవరించబడింది. XML శిరోవాక్యం ISO హైటైం ను అనుసరిస్తుంది.

చర్చల సమయంలో XML లో వృద్ధిచెందిన అద్భుతమైన ఆలోచనలలో శోధనను మరియు సిరోవాక్యాన్ని ఎన్కోడ్ చేయటానికి అల్గారిథం(చేయవలసిన పనుల క్రమము), ప్రాసెస్ అవుతున్న ఆదేశ లక్ష్యం, xml:స్పేస్ విశేషణము, మరియు శూన్య-మూలక టాగ్స్ కొరకు సరికొత్త ముకుళిత డీలిమిటర్(దత్తాంశ ప్రవాహాన్ని అడ్డుకునేది) మొదలైనవి ఉంటాయి. క్రమబద్ధతకు ప్రతిగా చక్కని-అమరిక యొక్క ఆలోచన (ఇది స్కీమ లేకుండానే పార్సింగ్(వ్యాకరణ పరీక్ష) కు వీలుకల్పిస్తుంది) మొట్టమొదట XML లో అమలుచేయబడింది, అయినప్పటికీ ఇది ఎలక్ట్రానిక్ బుక్ టెక్నాలజీ "డైనాటెక్స్ట్" సాఫ్ట్వేర్[24] లో విజయవంతంగా అమలుపరచబడింది; ఈ సాఫ్ట్వేర్ యూనివర్సిటి ఆఫ్ వాటర్లూ న్యూ ఆక్స్ఫర్డ్ ఇంగ్లీష్ డిక్షనరీ ప్రాజెక్ట్; యూనీస్కోప్, టోక్యో వద్ద RISP LISP SGML టెక్స్ట్ ప్రాసెసార్; US ఆర్మీ మిస్సైల్ కమాండ్ IADS హైపెర్ టెక్స్ట్ సిస్టం; మెంటార్ గ్రాఫిక్స్ కాంటెక్స్ట్; ఇంటర్లీఫ్ అండ్ జెరాక్స్ పబ్లిషింగ్ సిస్టం మొదలైన వాటిలో ఉపయోగించబడుతోంది.

విధాలు[మార్చు]

ప్రస్తుతం XML లో రెండు రకాలు (వెర్షన్లు) ఉన్నాయి. మొదటిది, XML 1.0 , 1998 లో మొదటగా నిర్వచించబడింది. అప్పటి నుండి అది ఒక కొత్త వెర్షన్ నంబర్ అందుకోకుండానే దానిలో చిన్న సవరణలు జరిగాయి, నవంబర్ 26, 2008 న ప్రచురించబడినట్లు, అది దాని ప్రస్తుతం దాని ఐదవ ఎడిషన్ లో ఉంది. ఇది విస్తారంగా అమలుపరచబడింది మరియు సాధారణ వినియోగం కొరకు ఇప్పటికీ సిఫార్సు చేయబడుతోంది.

రెండవ, XML 1.1 , ప్రారంభంలో XML 1.0 మూడవ ఎడిషన్ ప్రచురితమైన రోజే, ఫిబ్రవరి 4, 2004, న ప్రచురితమైంది[25], మరియు అది ఆగష్టు 16, 2006 న ప్రచురింతమైనట్లు, దాని రెండవ ఎడిషన్ లో ఉంది. ఇందులో కొన్ని తప్పనిసరి సందర్భాలలో XML వినియోగాన్ని సులభతరం చేయటానికి ఉద్దేశించబడిన[26] – ముఖ్యంగా EBCDIC ప్లాట్ఫారంల పైన లైనును ఎన్కోడ్ చేసే వర్ణాల వినియోగానికి, మరియు యూనీకోడ్ 3.2 లో లేని స్క్రిప్ట్లు మరియు వర్ణాల వినియోగాన్ని ఆచరణలోకి తేవటానికి - కొన్ని వివాదాస్పదమైన – లక్షణాలు ఉంటాయి. XML 1.1 అంత విస్తారంగా అమలు చేయబడలేదు మరియు దాని ప్రత్యేక లక్షణాలు ఎవరికీ అవసరమవుతాయో వారికే అది సిఫార్సు చేయబడింది.[27]

ఐదవ కూర్పు విడుదలకు ముందే, XML 1.0 మూలకము మరియు విశేషణముల పేర్లు మరియు అద్వితీయ గుర్తింపుదారులలో వినియోగానికి అందుబాటులోఉన్న వర్ణాలకు ఖచ్చితమైన కాంక్షితాలను కలిగి ఉండటంలో XML 1.1 నుండి విభేదించబడుతోంది: XML 1.0 యొక్క మొదటి నాలుగు కూర్పులలో యూనీకోడ్ ప్రమాణం (యూనీకోడ్ 2.0 నుండి యూనీకోడ్ 3.2 వరకు.) యొక్క ఒక ప్రత్యేక వర్షన్ ను ఉపయోగించి కేవలం ఆ వర్ణాలు లెక్కించబడ్డాయి. ఐదవ కూర్పు XML 1.1 యొక్క యంత్రాంగాన్ని ప్రతిక్షేపిస్తుంది, ఇది భవిష్యత్తుకు భరోసా కలిగినదే కానీ అతిశయమును తగ్గిస్తుంది. XML 1.0 యొక్క ఐదవ కూర్పులోను మరియు XML 1.1 యొక్క అన్ని కూర్పులలోను అవలంబించిన పధ్ధతి ఏమిటంటే యూనీకోడ్ యొక్క భవిష్యత్త్ వర్షన్ లలో సరైన పేరు వర్ణాల వినియోగాన్ని సర్దుబాటు చేయటానికి, కేవలం కొన్ని తప్పనిసరి వర్ణాలు మాత్రమే కట్టడి చేయబడ్డాయి మరియు మిగిలినవి అన్నీ అనుమతించబడ్డాయి. ఐదవ కూర్పులో, XML పేర్లు యూనీకోడ్ 3.2 నుండి యూనీకోడ్ కు జతచేయబడిన అనేక ఇతరమైన వాటితోపాటు బాలినెస్, ఛం, లేదా ఫోనేషియన్ స్క్రిప్ట్ లలోని వర్ణాలను కలిగి ఉండవచ్చు.[28]

XML 1.0 లేదా 1.1 డాక్యుమెంట్ల యొక్క వర్ణ దత్తాంశం మరియు విశేషణముల విలువలలో, కోడ్ పాయింట్ కి అనురూపమైన వర్ణము యూనికోడ్ యొక్క ప్రస్తుత వర్షన్ లో నిర్వచించబడనప్పటికీ, దాదాపు ఏ యూనికోడ్ పాయింట్ ని అయినా ఉపయోగించుకోవచ్చు. వర్ణ దత్తాంశం మరియు విశేషణముల విలువలలో, XML 1.1 XML 1.0 కన్నా ఎక్కువ నియంత్రణ వర్ణముల వినియోగాన్ని అనుమతిస్తుంది, కానీ, "పుష్టి" కొరకు, XML 1.1 లో ప్రవేశపెట్టిన అనేక నియంత్రణ వర్ణములు సంఖ్యావర్ణ ప్రస్తావనలుగా వ్యక్తీకరించబడాలి (మరియు #x9F ద్వారా #x7F, XML 1.0 లో అనుమతించబడినవి సంఖ్యావర్ణ ప్రస్తావనలుగా వ్యక్తీకరించవలసిన అవసరం ఉన్నప్పటికీ, XML 1.1 లో ఉన్నాయి[29]). XML 1.1 లో సమర్ధించబడిన నియంత్రణ వర్ణాలలో వైట్ స్పేస్ గా పరిగణించాల్సిన రెండు లైను బ్రేక్ కోడ్లు ఉన్నాయి. వైట్ స్పేస్ వర్ణాలు నేరుగా వ్రాయగలిగిన ఏకైక నియంత్రణ కోడ్లు.

XML 2.0 గురించి చర్చలు జరిగాయి, కానీ ఏ సంస్థా ఆ విధమైన ప్రణాళిక పై పనిచేస్తామనే ఆలోచనను ప్రకటించలేదు. XML యొక్క అసలు డెవలపర్లలో ఒకరి చేత వ్రాయబడిన, XML-SW (SW అనగా స్కంక్ వర్క్స్), XML 2.0 ఏవిధంగా కనిపించబోతోంది అనే దాని గురించిన కొన్ని ప్రతిపాదనలను కలిగిఉంది: వాక్యనిర్మాణం నుండి DTDల తొలగింపు, నేమ్ స్పేస్ ల సమన్వయము, మూల ప్రమాణంలోకి XML బేస్ మరియు XML ఇన్ఫర్మేషన్ సెట్ (ఇన్ఫోసెట్ ).

వరల్డ్ వైడ్ వెబ్ కన్సార్టియం XML ఇన్ఫో సెట్ యొక్క బైనరీ ఎన్దొఇన్గ కొరకు వినియోగ సందర్భాలు మరియు లక్షణాలపై ప్రాధమిక పరిశోధన చేస్తున్న ఒక XML బైనరీ క్యారెక్టరైజేషణ్ వర్కింగ్ గ్రూప్ ను కూడా కలిగిఉంది. ఆ కార్యవర్గం ఏ అధికారిక ప్రమాణాలను ఉత్పత్తి చేయటానికి ఒప్పందం చేసుకోలేదు. నిర్వచనం ప్రకారం XML వాచక-ఆధారితం అవటంవలన, ITU-T మరియు ISO లు గందరగోళాన్ని తప్పించుకోవటానికి వాటి సొంత బైనరీ ఇన్ఫోసెట్ కొరకు ఫాస్ట్ ఇన్ఫోసెట్ అనే పేరును ఉపయోగించుకుంటున్నాయి (ITU-T Rec. X.891 | ISO/IEC 24824-1 చూడుము).

ఇవి కూడా చూడండి[మార్చు]

ఉపప్రమాణాలు[మార్చు]

  1. "XML Media Types, RFC 3023". IETF. 2001-01. pp. 9–11. Retrieved 2010-01-04.  Check date values in: |date= (help)
  2. "XML Media Types, RFC 3023". IETF. 2001-01. pp. 7–9. Retrieved 2010-01-04.  Check date values in: |date= (help)
  3. "W3C® DOCUMENT LICENSE". 
  4. 4.0 4.1 "XML 1.0 Origin and Goals". Retrieved July 2009. 
  5. "XML Applications and Initiatives". 
  6. "Introduction to iWork Programming Guide. Mac OS X Reference Library". Apple. 
  7. "Characters vs. Bytes". 
  8. "Autodetection of Character Encodings". 
  9. XML అస్తిత్వ విలువలలో "<" వినియోగం అనుమతించబడుతుంది, కానీ సిఫార్సు చేయబడదు: ఎక్స్టెన్సిబుల్ మార్కప్ లాంగ్వేజ్ (XML) 1.0 (ఐదవ కూర్పు): ఎంటిటివాల్యూ డెఫినిషన్
  10. "W3C I18N FAQ: HTML, XHTML, XML and Control Codes". 
  11. "Articles tagged with “draconian”". 
  12. "xml-dev — Fw: An I-D for text/xml, application/xml, etc". Lists.xml.org. 2004-07-25. Retrieved 2009-07-31. 
  13. పుష్, పుల్, నెక్స్ట్! బై బాబ్ డుచార్మే, ఎట్ XML.com
  14. "XML Serialization in the .NET Framework". Msdn.microsoft.com. Retrieved 2009-07-31. 
  15. "An Introduction to XML Data Binding in C". Artima.com. 2007-05-04. Retrieved 2009-07-31. 
  16. "CodeSynthesis XSD — XML Data Binding for C". Codesynthesis.com. Retrieved 2009-07-31. 
  17. http://www.xmlsh.org/CoreSyntax
  18. Bray, Tim (February 2005). "A conversation with Tim Bray: Searching for ways to tame the world’s vast stores of information". Association for Computing Machinery's "Queue site". Retrieved April 16, 2006. 
  19. edited by Sueann Ambron and Kristina Hooper ; foreword by John Sculley. (1988). "Publishers, multimedia, and interactivity". Interactive multimedia. Cobb Group. ISBN 1-55615-124-1. 
  20. Eliot Kimber (2006). "XML is 10". 
  21. ఆ కార్య వర్గం అసలు "ఎడిటోరియల్ రివ్యూ బోర్డు" అని పిలవబడింది. అసలు సభ్యులు మరియు మొదటి కూర్పు పూర్తీ అవటానికి ముందే జతకూడిన ఏడుగురు, XML రికమండేషన్ యొక్క మొదటి కూర్పు ఆఖరులో http://www.w3.org/TR/1998/REC-xml-19980210 వద్ద జాబితా చేయబడ్డారు.
  22. "Reports From the W3C SGML ERB to the SGML WG And from the W3C XML ERB to the XML SIG". W3.org. Retrieved 2009-07-31. 
  23. "Extensible Markup Language (XML)". W3.org. 1996-11-14. Retrieved 2009-07-31. 
  24. Jon Bosak, Sun Microsystems (2006-12-07). "Closing Keynote, XML 2006". 2006.xmlconference.org. Retrieved 2009-07-31. 
  25. ఎక్స్టెన్సిబుల్ మార్కప్ లాంగ్వేజ్ (XML) 1.0 (మూడవ కూర్పు)
  26. "Extensible Markup Language (XML) 1.1 (Second Edition) – Rationale and list of changes for XML 1.1". W3C. Retrieved 2006-12-21. 
  27. Harold, Elliotte Rusty (2004). Effective XML. Addison-Wesley. pp. 10–19. ISBN 0321150406. 
  28. "Extensible Markup Language (XML) 1.1 (Second Edition) – Rationale and list of changes for XML 1.1". W3C. Retrieved 2009-12-11. 
  29. http://www.w3.org/TR/xml11/#sec-xml11

మరింత చదవడానికి[మార్చు]

వెలుపటి వలయము[మార్చు]

మూస:W3C Standards

"https://te.wikipedia.org/w/index.php?title=XML&oldid=1705881" నుండి వెలికితీశారు