XML
XML (ఎక్స్టెన్సిబుల్ మార్కప్ లాంగ్వేజ్ ) డాక్యుమెంట్లను విద్యుత్తుపరంగా ఎన్కోడ్ చేసే నియమావళి. ఇది W3C మరియు అనేక ఇతర సంబంధిత స్పెసిఫికేషన్స్ ద్వారా ఉత్పత్తి అయిన XML 1.0 స్పెసిఫికేషన్లో నిర్వచించబడింది; అన్నీ చార్జీ-లేని బహిరంగ ప్రమాణములు.
XML యొక్క నిర్మాణ లక్ష్యాలు ఇంటర్నెట్ పైన సరళత్వము, సాధారణత్వము మరియు ఉపయోగ సౌలభ్యాలను ప్రస్పుటం చేస్తుంది. ఇది ప్రపంచంలోని భాషలకు యూనీకోడ్ ద్వారా ఎక్కువ మద్దతు ఇచ్చే ఒక వాచక దత్తాంశ అమరిక. XML యొక్క నిర్మాణము డాక్యుమెంట్ల పైన కేంద్రీకృతమైనప్పటికీ, వెబ్ సేవల వంటి స్వతంత్ర దత్తాంశ నిర్మాణాలను వర్ణించటానికి ఇది విస్తృతంగా ఉపయోగించబడుతుంది.
ఇందులో XML దత్తాంశమును సమీపించటానికి సాఫ్ట్వేర్ డెవలపర్లు ఉపయోగించే వివిధరకాల ప్రోగ్రామింగ్ అంతర్ముఖాలు, మరియు XML-ఆధారిత భాషల నిర్వచనంలో సహాయపడటానికి రూపొందించబడిన అనేక స్కీమ సిస్టమ్స్ ఉన్నాయి.
, వందలకొద్దీ XML-ఆధారిత లాంగ్వేజులు పుట్టుకొచ్చాయి, వాటిలో RSS, Atom, SOAP, మరియు XHTML మొదలైనవి ఉన్నాయి. XML-ఆధారిత అమరికలు అనేక కార్యాలయ-సమర్ధత ఉపకరణాలకు ప్రామాణికం అయ్యాయి, వీటిలో మైక్రోసాఫ్ట్ ఆఫీసు (ఆఫీసు ఓపెన్ XML), OpenOffice.org (ఓపెన్ డాక్యుమెంట్), మరియు ఆపిల్ యొక్క iWork ఉన్నాయి.
ఈ విభాగం లోని విషయం XML స్పెసిఫికేషన్ పై ఆధారపడింది. ఇది XML లోని అన్ని నిర్మాణాల కూలంకుష జాబితా కాదు; ఇది రోజువారీ వినియోగంలో తరచుగా అగుపించే కీలక నిర్మాణాలను పరిచయం చేస్తుంది.
ఈ దృష్టాంత డాక్యుమెంట్ లో ఐదు మూలకాలు ఉన్నాయి: codice_9, codice_10, codice_11, మరియు రెండు codice_12లు. codice_12 మూలకాలు ప్రధాన మూలకం codice_9 నుండి ఉద్భవించిన codice_11 నుండి పుట్టుకొచ్చాయి . codice_10 కి, codice_17 మరియు codice_18 అని రెండు విశేషణములు ఉన్నాయి.
XML డాక్యుమెంట్లు యూనికోడ్ సముదాయం లోని వర్ణాలను పూర్తిగా కలిగి ఉంటాయి. ప్రత్యేకంగా తొలగించబడిన కొన్ని నియంత్రణ వర్ణములు కొరకు తప్పించి, యూనీకోడ్ నిర్వచిచిన ఏ వర్ణం అయినా ఒక XML డాక్యుమెంట్ యొక్క కంటెంట్ లో అగుపించవచ్చు. మార్కప్ లోనే అగుపించే వర్ణాల ఎంపిక కొంతవరకు పరిమితమైనదే కానీ పెద్దది.
డాక్యుమెంట్ ను తయారుచేసే యూనీకోడ్ వర్ణాల "ఎన్కోడింగ్"ను గుర్తించటానికి, మరియు ఒకటి లేదా ఇతర కారణాల వలన నేరుగా ఉపయోగించలేని వర్ణాల వ్యక్తీకరణకు, సదుపాయాలను XML కలిగి ఉంది.
యూనీకోడ్ వర్ణాల సమూహము నిల్వ మరియు వివిధ విలక్షణ మార్గాలలో ప్రసారం కొరకు బైట్స్ గా ఎన్కోడ్ చేయబడవచ్చు, వీటినే "ఎన్కోడింగ్స్" అంటారు. సంపూర్ణ నైపుణ్యాలను కలిగిఉన్న ఎన్కోడింగ్ లను యూనీకోడ్ తనే నిర్వచిస్తుంది; ప్రసిద్ధమైన వాటిలో UTF-8 మరియు UTF-16 ఉన్నాయి. యూనీకోడ్ కు మునుపే ASCII మరియు ISO/IEC 8859 వంటి అనేక ఇతర వాచక ఎన్కోడింగ్ లు ఉన్నాయి; ప్రతి అంశంలోనూ ఆ వర్ణాల నైపుణ్యాలు యూనీకోడ్ వర్ణ సమూహం యొక్క ఉపసమితులు.
XML యూనీకోడ్-నిర్వచించిన ఎన్కోడింగ్స్ లో దేనినైనా, లేదా వాటి వర్ణాలు కూడా యూనీ కోడ్ లో అగుపించే ఇతర ఎన్కోడింగ్ల వినియోగానికి అనుమతిస్తుంది. XML ఒక యంత్రాంగాన్ని కూడా అందిస్తుంది, దీనిద్వారా ఒక XML ప్రాసెసర్ ఏమాత్రం పూర్వ జ్ఞానం లేకుండానే, ఏ ఎన్కోడింగ్ ఉపయోగించబడుతోందో నమ్మకంగా కనిపెడుతుంది. UTF-8 మరియు UTF-16 కాకుండా మిగిలిన ఎన్కోడింగ్ లు తప్పనిసరిగా ప్రతి XML పార్సర్ చేత గుర్తించబడాలని లేదు.
ఒక XML డాక్యుమెంట్ లో ఏదో ఒక వర్ణాన్ని చేర్చటం ఎందుకు కష్టమో లేదా ఎందుకు సాధ్యంకాదో చెప్పటానికి చాల కారణాలు ఉన్నాయి.ఈ కారణాల వల్ల, XML సమస్యాత్మకమైన లేదా అందుబాటులోలేని వర్ణాలను ప్రస్తావించటానికి "ఎస్కేప్" సదుపాయాలను అందిస్తుంది. ఇందులో ఐదు "ముందేనిర్వచించబడిన అస్తిత్వాలు" ఉన్నాయి: codice_21 ""ను వర్ణిస్తుంది, codice_23 "&"ను వర్ణిస్తుంది, codice_24 ' ను వర్ణిస్తుంది, మరియు codice_25 "ను వర్ణిస్తుంది. అనుమతించబడిన అన్ని యూనీకోడ్ వర్ణాలు ఒక సంఖ్యా వర్ణ ఉపప్రమాణం తో వర్ణించబడవచ్చు. చైనీస్ వర్ణం "中"ను గమనిస్తే, యూనీకోడ్ లో దాని సంఖ్యాకోడ్ షోడశాంశము 4E2D, లేదా దశాంశము 20,013. ఎ వాడుకదారు కీబోర్డ్ ఈ వర్ణాన్ని ప్రవేశ పెట్టటానికి ఏ విధానాన్ని అందించదో అది ఆ వర్ణాన్ని codice_26 లాగా కానీ లేదా codice_27 లాగా కానీ ఎన్కోడ్ అయిన ఒక XML డాక్యుమెంట్ లో చొప్పించగలదు. అదేవిధంగా, ఒక XML డాక్యుమెంట్ లో "codice_28" లాగా చేర్చటానికి "codice_29" అనే స్ట్రింగ్ ఎన్కోడ్ చేయబడవచ్చు.
ఏదిఏమైనప్పటికీ, సంఖ్యా వర్ణ ప్రసక్తిని ఉపయోగించినప్పుడు కూడా, శూన్య వర్ణము XML నుండి మినహాయించబడిన నియంత్రిత వర్ణాలలో ఒకటి కావటంవలన, "codice_30" అనుమతించబడదు. అటువంటి వర్ణాలను వర్ణించటానికి Base64 వంటి ప్రత్యామ్నాయ ఎన్కోడింగ్ ప్రక్రియలు అవసరమవుతాయి.
ఒక డాక్యుమెంట్ లో ఇతర మార్కప్ బయట ఎక్కడైనా వ్యాఖ్యానాలు అగుపించవచ్చు XML ప్రాసెసర్ పొందిక కోసం వ్యాఖ్యానాలు మొదటి లైనులో కానీ లేదా మరియొక విధంగా XML నివేదిక పైన కానీ అగుపించకూడదు. స్ట్రింగ్ "codice_31" (జంట-అడ్డగీత) అనుమతించబడదు(ఎందుకనగా ఇది వ్యాఖ్యానాలను ముగించటానికి ఉపయోగించబడుతుంది), మరియు వ్యాఖ్యానాలలోనే అస్తిత్వాలు గుర్తించబడవు.
ప్రామాణికమైన వ్యాఖ్యానానికి ఒక ఉదాహరణ:
"codice_32"
మూలక నామాలు, విశేషణములు, వ్యాఖ్యానాలు, వర్ణ దత్తాంశం, మరియు ఆదేశాల ప్రాసెసింగ్(XML లోనే ప్రత్యేక లాక్షణిక అర్ధం కలిగిఉన్న ఓపెన్ కార్నర్ బ్రాకెట్ "యూనీకోడ్ వర్ణాన్ని అయినా నేరుగా వినియోగించుకోవటాన్ని XML సమర్ధిస్తుంది. అందువలన, ఈ క్రింద దానిలో చైనీస్ మరియు సైరిల్లిక్ వర్ణాలు ఉన్నప్పటికీ, ఇది చక్కగా-రూపొందిన ఒక XML డాక్యుమెంట్.Китайська мова烏語>
</source>
XML స్పెసిఫికేషన్ ఒక XML డాక్యుమెంట్ ను చక్కగా-రూపొందిన వాచకంగా నిర్వచిస్తుంది, అనగా, ఆ స్పెసిఫికేషన్ లో ఉన్న వాక్యనిర్మాణ నియమాల జాబితాను ఇది సంతృప్తిపరుస్తుంది. ఈ జాబితా చాలా పెద్దది; కొన్ని కీలక అంశాలు ఇవి:ఒక "XML డాక్యుమెంట్" యొక్క నిర్వచనము చక్కగా-నియమాల ఉల్లంఘనలను కలిగిఉన్న వాచకాలను మినహాయిస్తుంది; అవి కేవలం XML కావు. ఆవిధమైన తప్పిదాలను నివేదించటానికి మరియు సాధారణ ప్రాసెసింగ్ ను నిలిపివేయటానికి ఆవిధమైన ఉల్లంఘనలను ఎదుర్కొనే ఒక XML ప్రాసెసర్ అవసరమవుతుంది. అప్పుడప్పుడు డ్రాకోనియన్గా ప్రస్తావించబడే ఈ పాలసీ, ఘోరమైన మార్కప్ తప్పిదాలు ఉన్నప్పుడు కూడా ఒక మంచి ఫలితాన్ని ఉత్పత్తి చేసే విధంగా రూపొందించబడిన HTMLను ప్రాసెస్ చేసే ప్రోగ్రాముల నడవడికకు కచ్చితంగా భిన్నంగా నిలుస్తుంది. ఈ స్థితిలో XML యొక్క పాలసీ పోస్టెల్స్ లా యొక్క ఉల్లంఘనగా విమర్శించబడుతుంది.
చక్కగా-రూపొందించబడటంతో పాటు, ఒక XML డాక్యుమెంట్ "సమ్మతమైనది" అవవచ్చు. అనగా ఇది డాక్యుమెంట్ టైప్ డెఫినిషన్ (DTD)కు ఒక ఉపప్రమాణమును కలిగిఉంటుంది, మరియు దానిమూలంగా దాని మూలకాలు మరియు విశేషణములు ఆ DTD లో నివేదించబడి ఆ DTD నిర్దేశించిన వ్యాకరణ నియమాలను అనుసరిస్తాయి.
XML డాక్యుమెంట్లను పరీక్షిస్తున్నాయో లేదో అనే దాని పైన ఆధారపడి XML ప్రాసెసర్లు "వాలిడేటింగ్" లేదా "నాన్-వాలిడేటింగ్"గా విభజించబడ్డాయి. ఒక క్రమబద్ధత తప్పిదాన్ని కనిపెట్టే ఒక ప్రాసెసర్ దానిని నివేదించగలిగి ఉండాలి, కానీ సాధారణ ప్రాసెసింగ్ చేస్తూనే ఉండవచ్చు.
"స్కేమ " లేదా "వ్యాకరణము" నకు DTD ఒక ఉదాహరణ. XML 1.0 మొదటిసారి ప్రచురితమైనప్పటినుండి, XML కొరకు స్కేమ భాషలు పనిచేసే చోట వాస్తవ్యమైన పని ఉంది. ఒక డాక్యుమెంట్ లో ఉపయోగించగలిగే మూలకాల సమూహమును ఈ విధమైన స్కీమ భాషలు విలక్షణంగా నిర్బంధిస్తాయి, వాటి విశేషణములు అవి అగుపించే క్రమంలోను, మరియు అనుమతించదగిన పేరెంట్/చైల్డ్ బంధాలలోను వాటికి అన్వయించబడతాయి.
XML కొరకు పురాతన స్కేమ భాష డాక్యుమెంట్ టైప్ డెఫినిషన్ (DTD), ఇది SGML నుండి సంక్రమించింది.
DTDలు క్రింది లాభాలను కలిగిఉన్నాయి:DTDలు ఈ క్రింది నిర్బంధాలను కలిగిఉన్నాయి:DTD లను ఇతర స్కీమ రకాల నుండి ప్రత్యేకంగా చూపే రెండు విలక్షణ లక్షణాలు ఏమిటంటే XML డాక్యుమెంట్ లోనే ఒక DTD ని చొప్పించటానికి మరియు "అస్తిత్వాలను" నిర్వచించటానికి వాక్యనిర్మాణ ఆసరా, ఈ అస్తిత్వాలు వాచకాల అనియత శకలాలు మరియు/లేదా XML ప్రాసెసర్ చొప్పించిన వాటిని, వాటి ప్రసక్తి వచ్చినప్పుడు, వర్ణ ఎస్కేప్స్ లాగా DTD లోనూ మరియు XML డాక్యుమెంట్ లోనూ చేసిన మార్కప్ లు.
DTD సాంకేతికత దాని సర్వవ్యాపకత్వం మూలంగా ఇప్పటికీ చాలా అప్లికేషనులలో ఉపయోగించబడుతోంది.
DTDలను అనుసరించి వచ్చేదానిగా W3C చే నిర్వచించబడిన ఒక కొత్త స్కీమ లాంగ్వేజ్, XML స్కీమ, ఇది తరచుగా XML స్కీమ ఇన్స్టాన్సెస్, XSD (XML స్కీమ డెఫినిషన్) లో ప్రేరకం చేత ప్రస్తావించబడుతుంది. XSDలు XML భాషలను నిర్వచించటంలో DTDల కన్నా చాలా శక్తివంతమైనవి. అవి గొప్ప డేటాటైపింగ్ వ్యవస్థను ఉపయోగించుకుంటాయి మరియు ఒక XML డాక్యుమెంట్ యొక్క తార్కిక నిర్మాణం పైన మరింత సవిస్తారమైన కట్టుబాట్లను అనుమతిస్తుంది. XSDలు కూడా ఒక XML-ఆధారిత అమరికను ఉపయోగించుకుంటాయి, ఇది వాటిని ప్రాసెస్ చేయటానికి సహాయం చేసే సాధారణ XML ఉపకరణాలను వినియోగించుకునే అవకాశం కల్పిస్తుంది.
RELAX NG మొదటగా OASIS చేత వివరించబడింది మరియు ప్రస్తుతానికి ఒక ISO అంతర్జాతీయ ప్రమాణము కూడా(DSDLలో ఒక భాగంగా). RELAX NG స్కీమాస్ ఒక XML ఆధారిత వాక్యనిర్మాణంలో కానీ లేదా XML-కాని వాక్యనిర్మాణంలో కానీ వ్రాయబడవచ్చు; ఆ రెండు వాక్య నిర్మాణములు సారూప్యాలు మరియు జేమ్స్ క్లార్క్ యొక్క ట్రాంగ్ మార్పిడి ఉపకరణం సమాచారాన్ని కోల్పోకుండా వాటిని ఒకదానినుండి ఒకదానికి మార్చగలదు. RELAX NG, XML స్కీమ కన్నా సరళమైన నిర్వచనాన్ని మరియు ప్రామాణీకరించే నియమావళిని కలిగిఉంది, అందువలన దీనిని ఉపయోగించటం మరియు అమలులో పెట్టటం సులభమవుతుంది. దీనికి దత్తాంశరూపాల నియమాల ప్లగ్-ఇన్ లను ఉపయోగించే సామర్ధ్యం కూడా ఉంది; ఉదాహరణకు,ఒక RELAX NG స్కీమ రూపకర్తకు XML స్కీమ దత్తాంశరూపాలలో నిర్వచనాలకు సరిపడటానికి ఒక XML డాక్యుమెంట్ లో విలువలు అవసరమవుతాయి.
స్కీమట్రాన్ ఒక XML డాక్యుమెంట్ లో నమూనాల యొక్క హాజరీ మరియు గైర్హాజరీల గురించిన స్థిరీకరణములను చేసే భాష. ఇది విలక్షణంగా XPath వ్యక్తీకరణములను ఉపయోగిస్తుంది.
ISO DSDL (డాక్యుమెంట్ స్కీమ డిస్క్రిప్క్షణ్ లాంగ్వేజెస్) ప్రమాణము విస్తారమైన ఒక చిన్న స్కీమ భాషల సమితిని తోడ్కొనివస్తుంది, ఇందులో ప్రతిదీ ఒక ప్రత్యేక సమస్య కొరకు లక్ష్యంకాబడి ఉంటుంది. DSDL లో RELAX NG సపూర్నమైన మరియు చిన్నదైన వాక్యనిర్మాణము, స్కీమట్రాన్ స్థాపన లాంగ్వేజ్, దత్తాంశరకాలను నిర్వచించటానికి లాంగ్వేజ్ లు, వర్ణాల నైపుణ్యాల కట్టుబాట్లు, పేరుమార్పు మరియు అస్తిత్వ విస్తరణ, మరియు వివిధ పరీక్షకాలకు డాక్యుమెంట్ శకలాల యొక్క నేమ్ స్పేస్-ఆధారిత రౌటింగ్. DSDL స్కీమ భాషలకు ఇప్పటికీ XML స్కీమాస్ యొక్క విక్రయదారు మద్దత్తు లేదు, మరియు ఇవి కొంతవరకు ప్రచురణ కొరకు XML స్కీమాస్ యొక్క నిరుపయోగానికి పారిశ్రామిక ప్రచురణకర్తల సాధారణ స్పందన అయిఉంటాయి.
కొన్ని స్కీమ లాంగ్వేజ్ లు కేవలం ప్రత్యేకమైన ఒక XML అమరిక యొక్క నిర్మాణాన్ని వర్ణించటమే కాకుండా ఈ అమరికకు బద్ధమైన స్వంతంత్ర XML ఫైల్స్ యొక్క ప్రాసెసింగ్ ను ప్రభావితం చేయటానికి మితమైన సదుపాయాలను అందిస్తాయి. DTDలు మరియు XSDలు రెండూ ఈ సామర్ధ్యాన్ని కలిగిఉన్నాయి; ఉదాహరణకు అవి ఇన్ఫోసెట్ అభివృద్ధి సదుపాయాన్ని మరియు విశేషణ అపక్రమాలను అందిస్తాయి. RELAX NG మరియు స్కీమట్రాన్ కావాలనే వీటిని అందించవు.
XML 1.0 యొక్క మొదటి ప్రచురణ వెంటనే XML తో దగ్గరి అనుబంధం ఉన్న స్పెసిఫికేషన్ల గుంపు వృద్ధిచేయబడుతోంది. ఇది "XML" అనే పదము, XML తో పాటు XML మూలాంశంలో ఒక భాగంగా పరిగణించబడే ఒకటి లేదా అంతకన్నా ఎక్కువ ఇతర సాంకేతికతలను కూడా కలిపి ప్రస్తావించటానికి తరచుగా వాడబడుతుంది."XML Core" యొక్క భాగంగా భావించిన కొన్ని ఇతర స్పెసిఫికేషన్లు విస్తృత అంగీకారం పొందటంలో విఫలమైనాయి, వీటిలో Xఇంక్లూడ్, Xలింక్, మరియుXపాయింటర్ ఉన్నాయి.
ఇంటర్నెట్ పైన దత్తాంశ మార్పిడిలో XML సాధారణంగా వినియోగించబడుతుంది. XML ను పంపించేటప్పుడు వినియోగానికి ఇంటర్నెట్ మీడియా టైప్స్ నిర్మాణమునకు RFC 3023 నియమాలను ఇస్తుంది. ఇది "అప్లికేషను/xml" లేదా "టెక్స్ట్/xml" రకాలను కూడా నిర్వచిస్తుంది, అవి కేవలం XML లో దత్తాంశం ఉందని చెపుతాయి, కానీ దాని అర్ధం గురించి ఏమీ చెప్పవు. "టెక్స్ట్/xml" యొక్క వినియోగం ప్రశ్నలను ఎన్కోడ్ చేసే ఒక సమర్ధవంతమైన మూలంగా విమర్శించబడింది మరియు ప్రస్తుతం అది ఆక్షేపను అందుకునే దిశలో ఉంది. XML-ఆధారిత లాంగ్వేజిలకు "అప్లికేషను/"లో మొదలై "+xml"లో ముగిసే మీడియా రకాలను ఇవ్వాలని కూడా RFC 3023 సిఫార్సు చేసింది; ఉదాహరణకు SVG కొరకు "అప్లికేషను/svg+xml".
ఒక నెట్వర్క్డ్ సందర్భంలో XML యొక్క వినియోగానికి తదుపరి సూచనలు, IETF BCP 70 గా కూడా ప్రసిద్ధమైన RFC 3470 లో కనుగొనబడవచ్చు; ఈ డాక్యుమెంట్ చాల విస్తృత-పరిధిలో ఉంది మరియు ఒక XML-ఆధారిత లాంగ్వేజ్ యొక్క నిర్మాణము మరియు నిర్వహణ యొక్క అనేక కోణాలను చుట్టబెడుతుంది.
XML యొక్క నిర్మాణ లక్ష్యాలలో ఇది ఉంది "XML డాక్యుమెంట్లను ప్రాసెస్ చేసే ప్రోగ్రాములను వ్రాయటానికి ఇది సులువుగా ఉండాలి." ఇది నిజం అయినప్పటికీ, ఈ XML స్పెసిఫికేషన్లో ఈ విధమైన ప్రాసెసింగ్ ను ప్రోగ్రామర్లు ఎలా చేస్తారు అనే దాని గురించి దాదాపు ఏ సమాచారము లేదు. XML ఇన్ఫోసెట్ ఒక XML డాక్యుమెంట్ లోని నిర్మాణములను ప్రస్తావించటానికి ఒక పదజాలాన్ని అందిస్తుంది, కానీ ఆ సమాచారాన్ని ఎలా సమీపించాలో తెలియజేసే ఏ సూచనను మరియొకసారి అందించదు. XML ను సమీపించటానికి వివిధరకాల APIలు వృద్ధిచేయబడ్డాయి మరియు వినియోగించబడ్డాయి, మరియు కొన్ని ప్రామాణీకరించబడ్డాయి.
XML ప్రాసెసింగ్ కొరకు ప్రస్తుతంఉన్న APIలు ఈ వర్గాలలో చేరవచ్చు:ప్రవాహ-పక్ష సదుపాయాలకు తక్కువ మెమొరీ అవసరమవుతుంది మరియు ఒక XML డాక్యుమెంట్ యొక్క తిన్ననైన ట్రావెర్సల్ పైన ఆధారపడిన కొన్ని లక్ష్యాలకు ఈ సదుపాయాలు, ఇతర ప్రత్యామ్నాయాల కన్నా వేగవంతంగా మరియు సరళంగా ఉంటాయి. ట్రీ-ట్రావెర్సల్ మరియు డేటా-బైండింగ్ APIలకు విలక్షణంగా మరింత ఎక్కువ మెమొరీ అవసరమవుతుంది, కానీ ఇవి ప్రోగ్రామర్లు ఉపయోగించుకోవటానికి ఎక్కువ సౌలభ్యంగా ఉంటాయని తెలిసింది; కొన్ని XPath వ్యక్తీకరణల వినియోగం ద్వారా డాక్యుమెంట్ అంశాలను నివేదిక బద్ధంగా తిరిగిపొందడాన్ని కలిగి ఉంటాయి.
XML డాక్యుమెంట్ పరిణామం యొక్క నివేదికాబద్ధమైన వర్ణన కొరకు XSLT రూపొందించబడింది, మరియు సర్వర్-సైడ్ ప్యాకేజీలలోను మరియు వెబ్ బ్రౌజర్లలోను విస్తారంగా అమలుచేయబడింది. XQuery దాని క్రియాశీలతలో XSLT కన్నా కొద్దిగా అధికంగా ఉంటుంది, కానీ పెద్ద XML డేటాబేస్ ల శోధన కొరకు ఎక్కువగా రూపొందించబడింది.
SAX అనేది మాటలకు సంబంధించిన, సందర్భానుసారంగా-నడిచే అంతర్ముఖము ఇందులో ఒక డాక్యుమెంట్ వరుసక్రమమలో చదువబడుతుంది మరియు దానిలోని అంశాలు వాడుకదారు నిర్మాణము యొక్క హాండ్లర్ ఆబ్జెక్ట్ పైన వివిధ విధానములకు కాల్ బ్యాక్(అడిగినప్పుడు సమాచారాన్ని తిరిగి అందించేవి) లుగా నమోదవుతాయి. SAX అమలుపరచటానికి చాల వేగవంతమైనది మరియు సమర్ధవంతమైనది, కానీ ఇది డాక్యుమెంట్ లో ఏ భాగం ప్రాసెస్ అవుతోందో నమోదుచేసుకోవటం ద్వారా అనువర్తనంకూర్పరిపై భారం పెంచటం వలన, XML నుండి క్రమరహితంగా సమాచారాన్ని రాబట్టటానికి ఉపయోగించటం కష్టం. ఒక డాక్యుమెంట్ లో అవి ఎక్కడ అగుపిస్తాయనే దానితో నిమిత్తం లేకుండా, కొన్ని రకాల సమాచారం ఎల్లప్పుడూ ఒకేవిధంగా నిర్వహించ బడుతుందో అలాంటి పరిస్థితులలో అది చక్కగా సరిపోతుంది.
పుల్ పార్సింగ్ డాక్యుమెంట్ ను మళ్ళీమళ్ళీ చెప్పే(ఇటెరేటర్) నిర్మాణ నమూనాను ఉపయోగించి ఒక క్రమంలో చదివే అంశాల శ్రేణిగా చూస్తుంది. ఇది రికర్సివ్-డిసెంట్ పార్సర్లను వ్రాయటానికి అనుమతిస్తుంది, ఇందులో పార్సర్ను నిర్వహించే కోడ్ యొక్క నిర్మాణం పార్సింగ్ అవుతున్న XML నిర్మాణాన్ని ప్రతిబింబిస్తుంది, పార్సింగ్ యొక్క మధ్యంతర ఫలితాలను పార్సింగ్ చేస్తున్న విధానాలలోనే స్థానిక వేరియబుల్స్ గా ఉపయోగించుకోవచ్చు లేదా సమీపించవచ్చు, లేదా అవి క్రింది-స్థాయి విధానాలకు పంపబడతాయి(విధాన పారామీటర్లుగా), లేదా పై-స్థాయి విధానాలకు తిరిగివస్తాయి(మెథడ్ రిటర్న్ విలువలుగా). పుల్ పార్సర్లకు ఉదాహరణలలో జావా ప్రోగ్రామింగ్ లాంగ్వేజ్ లో StAX, PHPలో SimpleXML మరియు .NET ఫ్రేంవర్క్లో System.Xml.XmlReader
ఒక పుల్ పార్సర్ ఒక XML డాక్యుమెంట్ లోని వివిధ మూలకాలను, విశేషణములను, మరియు దత్తాంశమును వరుసక్రమంలో సందర్శించే ఒక ఇటెరేటర్ ను తయారుచేస్తుంది. ఈ ఇటెరేటర్ ను ఉపయోగించుకొనే కోడ్ ప్రస్తుత అంశాన్ని పరీక్షించగలదు (ఉదాహరణకు, అది ఒక ప్రారంభ లేదా అంత్య మూలకమో, లేదా వాచకమో చెప్పటానికి), మరియు దాని విశేషణములను పరీక్షించగలదు (స్థానిక నామము, నేమ్ స్పేస్, XML విశేషణముల విలువలు, వాచక విలువ మొదలైనవి), మరియు ఆ ఇటెరేటర్ ను తర్వాతి అంశంలోనికి పంపగలదు. అందువలన ఆ కోడ్ దానిలో అడ్డంగా పోతున్నప్పుడే ఆ డాక్యుమెంట్ నుండి సమాచారాన్ని రాబట్టగలదు. రికర్సివ్-అవరోహణ విధానం పార్సింగ్ చేస్తున్న కోడ్ లో డేటాను టైప్ చేయబడిన స్థానిక వేరియబుల్స్ గా ఉంచటానికి దానికి అదే సహాయం చేసుకుంటుంది, అదే సమయంలో, ఉదాహరణకు SAX కు పార్సింగ్ అవుతున్న మూలకం యొక్క మాతృ అంశాలైన మూలకాల దొంతిలో మధ్యంతర దత్తాంశమును నిర్వహించటానికి ఒక పార్సర్ అవసరమవుతుంది. పుల్-పార్సింగ్ కోడ్ SAX పార్సింగ్ కోడ్ కన్నా అర్ధంచేసుకోవటానికి మరియు నిర్వహించటానికి ఎక్కువ రుజువర్తంగా ఉంటుంది.
DOM (డాక్యుమెంట్ ఆబ్జెక్ట్ మోడల్) ఒక అంతర్ముఖ-పక్ష అనువర్తన ప్రోగ్రామింగ్ ఇంటర్ఫేస్ ఇది డాక్యుమెంట్ అంతటినీ ఆ డాక్యుమెంట్ యొక్క అంశాలను ప్రదర్శించే "నోడ్" ఆబ్జెక్ట్ల వృక్షంగా భావిస్తూ దాని పరిశీలనకు అనుమతిస్తుంది. ఒక DOM డాక్యుమెంట్ పార్సర్ ద్వారా రూపొందవచ్చు, లేదా వాడుకదారులు వారే దానినిఉత్పత్తి చేయవచ్చు (కొన్ని పరిమితులతో). DOM నోడ్ లలోని దత్తాంశ రకాలు సంగ్రహమైనవి; అమలులు వాటి సొంత ప్రోగ్రామింగ్ లాంగ్వేజ్-కి ప్రత్యేకమైన బైండింగ్ లను అందిస్తాయి. DOM ఆచరణలు మెమొరీపై ఆధారపడవచ్చు, ఎందుకంటే అవి యాక్సెస్ చేయబడటానికి ముందే డాక్యుమెంట్ అంతటినీ మెమొరీ లోనికి లోడ్ చేసుకొని దానిని ఆబ్జెక్ట్ ల యొక్క వృక్షంగా చేయటం అవసరం.
XML ప్రాసెసింగ్ API యొక్క మరొక రూపు XML డేటా బైండింగ్, ఇందులో XML డేటా ఒక డాక్యుమెంట్ ఆబ్జెక్ట్ మోడల్ పార్సర్(వ్యాకరణాన్ని పరేక్షించేది) రూపొందించిన సాధారణ ఆబ్జెక్టులకు వ్యతిరేకంగా, ఒక నిర్దేశిత గురుపీటంగా అందుబాటులోకి తీసుకురాబడుతుంది. ఈ విధానం కోడ్ డెవలప్మెంట్ ను సరళతరం చేస్తుంది, మరియు చాలా సందర్భాలలో సమస్యలను రన్-టైం కన్నా కంపైల్ టైంలో గుర్తిస్తుంది. డేటా బైండింగ్ సిస్టమ్స్ కు ఉదాహరణలలో జావా ఆర్కిటెక్చర్ ఫర్ XML బైండింగ్ (JAXB), .NET లో XML సీరియలైజేషన్, మరియు C++ కొరకు కోడ్ సింథసిస్ XSD.
ఇతర లాంగ్వేజులలో XML ఒక మొదటి-తరగతి దత్తాంశ రకంగా కనిపించటం మొదలైంది. ECMAస్క్రిప్ట్/జావాస్క్రిప్ట్ లాంగ్వేజ్ కి కొనసాగింపు అయిన ECMAస్క్రిప్ట్ ఫర్ XML (E4X) జావాస్క్రిప్ట్ కొరకు రెండు ప్రత్యేక ఆబ్జెక్టులను (XML and XMLList) స్పష్టంగా నిర్వచిస్తుంది, ఇవి XML డాక్యుమెంట్ నోడ్స్ ను మరియు XML డాక్యుమెంట్ జాబితాలను ప్రత్యేకమైన ఆబ్జెక్టులుగా సమర్దిస్తాయి మరియు పేరెంట్-చైల్డ్ బంధాలను వివరించటానికి ఒక డాట్-నోటేషన్ ను ఉపయోగిస్తాయి. మొజిల్లా 2.5+ బ్రౌజర్లు మరియు అడోబ్ యాక్షన్ స్క్రిప్ట్లు E4X ను సమర్ధించాయి, కానీ విశ్వవ్యాప్తంగా అంత ఎక్కువగా స్వీకరించబడలేదు. Microsoft .NET 3.5 మరియు అంతకు పైన వాటిలో మరియు స్కాలలో (ఇది Java VM ను వాడుకుంటుంది) Microsoft యొక్క LINQ అమలుకు ఇదేవిధమైన సంజ్ఞా మానములు ఉపయోగించబడ్డాయి. XML నిర్వహణకు ప్రత్యేక లక్షణాలతో లినక్స్-వంటి షెల్ల్ ను అందించే, బహిరంగ-మూల xmlsh అనువర్తనం సంజ్ఞామానాన్ని ఉపయోగించి, XML ను ఒక దత్తాంశరకంగా అదేవిధంగా చూస్తుంది.
XML అనేది ఒక పెద్ద ISO ప్రమాణమైన SGML యొక్క ప్రొఫైల్ లేదా పునఃక్రియ.
సమాచారాన్ని చురుకుగా ప్రదర్శించటానికి SGML యొక్క సర్వతోముఖప్రజ్ఞ ఇంటర్నెట్ ఆవిర్భావానికి ముందే 1980 ల చివరలో పూర్వపు డిజిటల్ మీడియా ప్రచురణకర్తల ద్వారా అర్ధంచేసుకోబడింది. 1990ల మధ్య నాటికి SGML యొక్క వినియోగదారులు కొందరు అప్పటి కొత్తదైన వరల్డ్ వైడ్ వెబ్తో అనుభవం సంపాదించారు, మరియు వెబ్ అభివృద్ధి చెందుతున్న సమయంలో ఎదురోకవటానికి అవకాశం ఉన్న కొన్ని ఇబ్బందులకు SGML పరిష్కారాలను అందిస్తుందని నమ్మారు. డాన్ కన్నోల్లి 1995 లో తను ఆ సిబ్బందితో కలిసినప్పుడు SGML ను W3C యొక్క కార్యకలాపాల జాబితాలో చేర్చాడు; సన్ మైక్రో సిస్టమ్స్ ఇంజనీర్ జోన్ బోసాక్ ఒక ఒప్పందం కుదుర్చుకొని సహకారులను నియమించుకున్నప్పుడు 1996 మధ్యలో పని మొదలైంది. SGML మరియు వెబ్ రెండింటిలో అనుభవం ఉన్న అతితక్కువ మంది ప్రజల సమూహంతో బోసాక్ బాగా కలివిడిగా ఉండేవాడు.
XML పదకొండు మంది సభ్యుల కార్యనిర్వాహక వర్గంతో ఏర్పాటై, (సుమారు) 150-మంది సభ్యుల ఇంట్రెస్ట్ గ్రూప్ తో సమర్ధించబడుతోంది. ఇంట్రెస్ట్ గ్రూప్ యొక్క మెయిలింగ్ జాబితా పైన సాంకేతిక వివాదం చోటుచేసుకుంది మరియు వివాదాలు అభిప్రాయసామ్యం ద్వారా కానీ లేదా, అది విఫలమైనప్పుడు, కార్యవర్గం యొక్క అధికసంఖ్యాకుల ఎంపిక ద్వారా కానీ పరిష్కరించబడతాయి. నిర్మాణాల నిర్ణయాలు మరియు వాటి అన్వయాల నివేదిక 1997 డిసెంబరు 4 న మైఖేల్ స్పెర్బెర్గ్-మాక్ క్వీన్ చే కూర్చబడింది. జేమ్స్ క్లార్క్ కార్యవర్గానికి సాంకేతిక అగ్రగామిగా పనిచేసాడు, ఇతను ముఖ్యంగా శూన్య-మూలక "" వాక్యనిర్మాణము మరియు "XML" అనే పేరును అందించాడు. పరిగణలోకి తీసుకురాబడ్డ ఇతర పేర్లలో "MAGMA" (మినిమల్ ఆర్కిటెక్చర్ ఫర్ జనరలైజ్డ్ మార్కప్ అప్లికేషన్స్), "SLIM" (స్ట్రక్చర్డ్ లాంగ్వేజ్ ఫర్ ఇంటర్నెట్ మార్కప్) మరియు "MGML" (మినిమల్ జనరలైజ్డ్ మార్కప్ లాంగ్వేజ్) ఉన్నాయి. ఆ స్పెసిఫికేషన్ యొక్క సహ-సంపాదకులు నిజానికి టిం బ్రే మరియు మైఖేల్ స్పెర్బెర్గ్-మాక్ క్వీన్. ఆ ప్రణాళిక మధ్యలో బ్రే మైక్రోసాఫ్ట్ నుండి కేకలు వేసే నిరసనలను రేకెత్తిస్తూ, నెట్ స్కేప్తో ఒక సంప్రదింపుల ఒప్పందాన్ని చేసుకున్నాడు. బ్రేను తాత్కాలికంగా సపాదకీయం నుండి వైదొలగాలని అడిగారు. ఇది కార్యవర్గంలో తీవ్ర వివాదానికి దారితీసింది, చిట్టచివరకు మైక్రోసాఫ్ట్ యొక్క జేన్ పోలిను మూడవ సహ-సంపాదకునిగా నియమించటంతో పరిష్కరించబడింది.
XML కార్యవర్గం ఎప్పుడూ ఎదురెదురుగా కలుసుకోలేదు; ఆ నిర్మాణం ఈమెయిల్ మరియు వారంవారం జరిగే దూరసమాలోచనల కలయికను ఉపయోగించి సాధించబడింది. XML స్పెసిఫికేషన్ యొక్క మొదటి కార్యకారి ప్రతి ప్రచురించబడినప్పుడు, 1996 జూలై మరియు నవంబరు మధ్య ఇరవై వారాల పాటు తీవ్రంగా పని జరిగిన సమయంలో ముఖ్యమైన నిర్మాణ నిర్ణయాలు సాధించబడ్డాయి. తదుపరి నిర్మాణ కార్యక్రమాలన్నీ 1997 అంతా జరుగుతూనే ఉన్నాయి, మరియు XML 1.0 1998 ఫిబ్రవరి 10 న 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 లో అమలుచేయబడింది, అయినప్పటికీ ఇది ఎలక్ట్రానిక్ బుక్ టెక్నాలజీ "డైనాటెక్స్ట్" సాఫ్ట్వేర్లో విజయవంతంగా అమలుపరచబడింది; ఈ సాఫ్ట్వేర్ యూనివర్సిటి ఆఫ్ వాటర్లూ న్యూ ఆక్స్ఫర్డ్ ఇంగ్లీష్ డిక్షనరీ ప్రాజెక్ట్; యూనీస్కోప్, టోక్యో వద్ద RISP LISP SGML టెక్స్ట్ ప్రాసెసార్; US ఆర్మీ మిస్సైల్ కమాండ్ IADS హైపెర్ టెక్స్ట్ సిస్టం; మెంటార్ గ్రాఫిక్స్ కాంటెక్స్ట్; ఇంటర్లీఫ్ అండ్ జెరాక్స్ పబ్లిషింగ్ సిస్టం మొదలైన వాటిలో ఉపయోగించబడుతోంది.
ప్రస్తుతం XML లో రెండు రకాలు (వెర్షన్లు) ఉన్నాయి. మొదటిది, "XML 1.0", 1998 లో మొదటగా నిర్వచించబడింది. అప్పటి నుండి అది ఒక కొత్త వెర్షన్ నంబర్ అందుకోకుండానే దానిలో చిన్న సవరణలు జరిగాయి, 2008 నవంబరు 26 న ప్రచురించబడినట్లు, అది దాని ప్రస్తుతం దాని ఐదవ ఎడిషన్ లో ఉంది. ఇది విస్తారంగా అమలుపరచబడింది మరియు సాధారణ వినియోగం కొరకు ఇప్పటికీ సిఫార్సు చేయబడుతోంది.
రెండవ, "XML 1.1", ప్రారంభంలో XML 1.0 మూడవ ఎడిషన్ ప్రచురితమైన రోజే, 2004 ఫిబ్రవరి 4, న ప్రచురితమైంది, మరియు అది 2006 ఆగస్టు 16 న ప్రచురింతమైనట్లు, దాని రెండవ ఎడిషన్ లో ఉంది. ఇందులో కొన్ని తప్పనిసరి సందర్భాలలో XML వినియోగాన్ని సులభతరం చేయటానికి ఉద్దేశించబడిన – ముఖ్యంగా EBCDIC ప్లాట్ఫారంల పైన లైనును ఎన్కోడ్ చేసే వర్ణాల వినియోగానికి, మరియు యూనీకోడ్ 3.2 లో లేని స్క్రిప్ట్లు మరియు వర్ణాల వినియోగాన్ని ఆచరణలోకి తేవటానికి - కొన్ని వివాదాస్పదమైన – లక్షణాలు ఉంటాయి. XML 1.1 అంత విస్తారంగా అమలు చేయబడలేదు మరియు దాని ప్రత్యేక లక్షణాలు ఎవరికీ అవసరమవుతాయో వారికే అది సిఫార్సు చేయబడింది.
ఐదవ కూర్పు విడుదలకు ముందే, 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 నుండి యూనీకోడ్ కు జతచేయబడిన అనేక ఇతరమైన వాటితోపాటు బాలినెస్, ఛం, లేదా ఫోనేషియన్ స్క్రిప్ట్ లలోని వర్ణాలను కలిగి ఉండవచ్చు.
XML 1.0 లేదా 1.1 డాక్యుమెంట్ల యొక్క వర్ణ దత్తాంశం మరియు విశేషణముల విలువలలో, కోడ్ పాయింట్ కి అనురూపమైన వర్ణము యూనికోడ్ యొక్క ప్రస్తుత వర్షన్ లో నిర్వచించబడనప్పటికీ, దాదాపు ఏ యూనికోడ్ పాయింట్ ని అయినా ఉపయోగించుకోవచ్చు. వర్ణ దత్తాంశం మరియు విశేషణముల విలువలలో, XML 1.1 XML 1.0 కన్నా ఎక్కువ నియంత్రణ వర్ణముల వినియోగాన్ని అనుమతిస్తుంది, కానీ, "పుష్టి" కొరకు, XML 1.1 లో ప్రవేశపెట్టిన అనేక నియంత్రణ వర్ణములు సంఖ్యావర్ణ ప్రస్తావనలుగా వ్యక్తీకరించబడాలి (మరియు #x9F ద్వారా #x7F, XML 1.0 లో అనుమతించబడినవి సంఖ్యావర్ణ ప్రస్తావనలుగా వ్యక్తీకరించవలసిన అవసరం ఉన్నప్పటికీ, XML 1.1 లో ఉన్నాయి). 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 చూడుము).