డాక్యుమెంట్ టైప్ డెఫినిషన్
డాక్యుమెంట్ టైప్ డెఫినిషన్ (DTD ) ఒక "మార్క్అప్ ప్రకటనల" సముదాయం, ఇది SGML-ఫ్యామిలీ మార్కప్ లాంగ్వేజ్‌ల (SGML, XML, HTML) కోసం ఒక "డాక్యుమెంట్ టైప్‌" ని నిర్వచిస్తుంది. DTDలు XML వ్యూహంకి పూర్వగామిగా ఉండేవి, అలాగే వివిధ సామర్థ్య స్థాయిలు ఉన్నప్పటికీ ఒకే విధమైన పనితీరును కలిగి ఉంటున్నాయి.
ఒక నిర్దిష్ట రీతిలోని డాక్యుమెంట్‌లో ఎలిమెంట్లు మరియు ప్రస్తావనలు ప్రధానంగా ఎక్కడ కనిపిస్తాయి మరియు ఆ ఎలిమెంట్‌ల విషయాలు, లక్షణాలు ఏవి అనే విషయాన్ని ప్రకటించే చిన్న లాంఛనప్రాయ వ్యాక్య నిర్మాణాన్ని DTDలు ఉపయోగిస్తాయి. "ఉదాహరణ" డాక్యుమెంట్‌లో ఉపయోగించబడే వస్తుతత్వాలను కూడా DTDలు ప్రకటిస్తాయి.
XML ఒక SGML DTD ఉప సముదాయాన్ని ఉపయోగిస్తుంది.
డాక్యుమెంట్ టైప్ డిక్లరేషన్ XML డాక్యుమెంట్‌తో కూడిన DTDతో అనుబంధంలో ఉంటుంది. డాక్యుమెంట్ టైప్ డిక్లరేషన్‌లు ఒక XML డాక్యుమెంట్ యొక్క ప్రారంభానికి సమీపంలో ఉన్న వాక్యనిర్మాణపు భాగం "డాక్టిపెడెకల్‌" లో కనబడుతుంటాయి. డాక్యుమెంట్ అనేది ప్రస్తాపించబడిన DTD ద్వారా నిర్వచించబడిన రకపు ఉదాహరణను ప్రకటన అమరుస్తుంది.
DTDలు రెండు ప్రకటన రూపాలను రూపొందిస్తాయి.
అంతర్గత ఉపసముదాయం రూపంలోని ప్రకటనలు స్వయంగా డ్యాక్యుమెంట్‌లోని డాక్యుమెంట్ టైప్ డిక్లరేషన్‌లో భాగంగా ఉంటాయి. బాహ్య ఉపసముదాయంలోని ప్రకటనలు ఒక విడి టెక్స్‌ట్ ఫైల్‌లో గుర్తించబడ్డాయి. బాహ్య ఉపసముదాయం ఒక "పబ్లిక్ ఐడెంటిఫైయర్" మరియు/లేదా ఒక "సిస్టమ్ ఐడెంటిఫైయర్" ద్వారా ప్రస్తావించబడవచ్చు. డాక్యుమెంట్లను చదివే ప్రోగ్రాములు బాహ్య ఉపసముదాయాన్ని చదవడానికి అవసరం కాకపోవచ్చు.
తన DTDలో "బాహ్య ఉపసముదాయా" న్ని ప్రస్తావించే ఏదైనా ప్రామాణిక SGML లేదా XML డాక్యుమెంట్ లేదా తన DTDలో (తమ "అంతర్గత ఉపసముదాయం" లో ప్రకటించబడిన "శబ్దలక్షణాన్వయ బాహ్య తత్వాల" కు ప్రస్తావనలు కలిగిన బాడీ అనేవి పాక్షికంగా మాత్రమే శబ్దలక్షణాన్వయంతో ఉంటాయి) కాని తమ "స్వతంత్ర నిర్వహణ" లోని "ప్రామాణిక" SGML లేదా XML శబ్దలక్షణాన్వయాలతో పూర్తిగా ప్రామాణీకరించబడాలి (దీనర్థం ఈ ప్రామాణిక శబ్దలక్షణాన్వయాలు ఈ బాహ్య ఎంటిటీలను తిరిగి పొందే ప్రయత్నం చేయవు మరియు వాటిస్థానంలో వచ్చే టెక్స్ట్ ప్రవేశించడానికి వీలుగా ఉండదు.)
అయితే, అటువంటి డాక్యుమెంట్ ఇప్పటికీ శబ్దలక్షణాన్వయాన్ని లెక్కించడంలో స్వతంత్ర "రహిత" - రీతిలో పూర్తిగా శబ్దలక్షణాన్వయంతో ఉంటుంది, ఇది ఈ బాహ్య తత్వాలు వాటి నిర్దిష్ట "పబ్లిక్ ఐడెంటిఫైయర్" (FPI) మరియు/లేదా "సిస్టమ్ ఐడెంటిఫైయర్" (ఒక URI) లలో నెలకొని ఉండదు లేక దీనిలో ప్రవేశానికి వీలు కాదు. DTDలో ప్రకటించబడిన టిప్పణిలు కూడా బాహ్య తత్వాలను ప్రస్తావిస్తాయి కాని ఈ శబ్దలక్షణంలేని తత్వాలు ఈ శబ్దలక్షణపు "స్వతంత్ర" రీతిలోని డాక్యుమెంట్ల ధృవీకరణకు అవసరం లేదుః టిప్పణిల చేత ప్రస్తావించబడిన అన్ని బాహ్య తత్వాల ధృవీకరణ అనేది SGML లేదా XML శబ్దలక్షణాన్వయను ఉపయోగించే అనువర్తనకు వదిలి వేయబడింది. ధృవీకరణ రహిత శబ్దలక్షణ అన్వయాలు స్వతంత్ర"రహిత" - రీతిలోని ఈ బాహ్య వస్తుతత్వాలను గుర్తించడానికి క్రమంగా ప్రయత్నిస్తాయి (వాటి ప్రకటిత శబ్దలక్షణాన్వయ వస్తుతత్వాలను పరిష్కరించడానికి మాత్రమే DTDని పాక్షికంగా వ్యాఖ్యానించడం ద్వారా), కాని ఈ డాక్యుమెంట్ల విషయ నమూనాను ధృవీకరించవు.
డాక్యుమెంట్ టైప్ డిక్లరేషన్‌కి చెందిన కింది ఉదాహరణ పబ్లిక్ మరియు సిస్టమ్ ఐడెంటిఫైయర్స్ రెంటినీ కలిగి ఉంటుందిః
అన్ని HTML 4.01 డాక్యుమెంట్లూ మూడు SGML DTDలలో ఒకదాన్ని నిర్ధారిస్తాయి. ఈ DTDల యొక్క పబ్లిక్ ఐడెంటిఫైయర్లు స్థిరమైనవి మరియు కింది విధంగా ఉంటాయిఃఈ DTDల యొక్క సిస్టమ్ ఐడెంటిఫైయర్లు, డాక్యుమెంట్ టైప్ డిక్లరేషన్‌లో సమర్పించబడినట్లయితే, URI ప్రస్తావనలుగా ఉంటాయి. సిస్టమ్ ఐడెంటిఫైయర్లు విభిన్నంగా, పరిష్కరించదగిన ప్రాంతంలోని నిర్దిష్ట ప్రకటనల సముదాయానికి సాధారణ బిందువుగా ఉంటాయి. డాక్యుమెంట్ శబ్దలక్షణాన్వయ సాఫ్ట్‌వేర్ ద్వారా ఉపయోగించి పరిష్కరిస్తున్న URIకి ఐచ్ఛికంగా అందుబాటులో ఉండే విభాగాలలోని సిస్టమ్ ఐడెంటిఫైయర్లకు పబ్లిక్ ఐడెంటిఫైయర్లు మ్యాప్ చేయబడటాన్ని SGML అనుమతిస్తుంది.
డాక్యుమెంట్ వాక్యనిర్మాణం XMLకి నిర్ధారించబడినట్లయితే, ఈ డాక్యుమెంట్ టైప్ డిక్లరేషన్ ఐచ్ఛికమైన XML డిక్లరేషన్ "తర్వాత" మరియు డాక్యుమెంట్ బాడీకి ముందు మాత్రమే కనిపిస్తుందని గుర్తించాలి. ఇది XHTML డాక్యుమెంట్లను కూడా కలిగి ఉంటుంది:
బాహ్య ఉప సముదాయం తర్వాత అదనపు ఇంటర్నెట్ ఉపసముదాయం కూడా అందించబడుతుంది:
ప్రత్యామ్నాయంగా, అంతర్గత ఉపసముదాయం మాత్రమే అందించబడవచ్చు:
చివరగా, డాక్యుమెంట్ టైప్ డెఫనిషన్ ఏ ఉపసమితిని పొందుపర్చక పోవచ్చుః డాక్యుమెంట్ ఒక సింగిల్ టాప్-లెవల్ ఎలిమెంట్‌ని కలిగి ఉంటుందని మాత్రమే అది పేర్కొనవచ్చు (ఇది అన్ని ధృవీకృత XML మరియు HTML డాక్యుమెంట్లకు తప్పనిసరి అవసరం) కాని డాక్యుమెంట్ విడిభాగాలకు లేదా అన్ని SGML డాక్యుమెంట్లకు కాదు, వీటి అగ్రగామి ఎలిమెంట్లు నిర్దేశించిన రూట్ ఎలిమెంట్ నుండి విభేదించవచ్చు) మరియు ఇది రూట్ ఎలిమెంట్ యొక్క రకం పేరును సూచిస్తుందిః
DTDలు, ఎలిమెంట్ మరియు లక్షణ-జాబితా ప్రకటనల ద్వారా డాక్యుమెంట్‌ల వర్గ నిర్మాణాన్ని వర్ణిస్తాయి. ఎలిమెంట్ ప్రకటనలు డాక్యుమెంట్ లోపల అనుమతించదగిన ఎలిమెంట్ల సముదాయాన్ని పేర్కొంటాయి మరియు ప్రకటిత ఎలిమెంట్లు మరియు అక్షరాల డేటా ప్రతి ఎలిమెంట్‌లోనూ ఎలా కలిగి ఉంటాయనే అంశాన్ని పొందుపర్చబడి ఉంటాయి. లక్షణ-జాబితా ప్రకటనలు ప్రతి ప్రకటిత ఎలిమెంట్ కోసం అనుమతించదగిన లక్షణ సముదాయానికి పేరు పెడతాయి, ధృవీకృత విలువ సముదాయంగా స్పష్టం కానట్లయితే, ప్రతి లక్షణ విలువ రకంని కూడా పొందుపరుస్తుంది.
DTD మార్కప్ డిక్లరేషన్లు XML డాక్యుమెంట్ల యొక్క సంబంధిత వర్గ నిర్మాణంలో ఏ ఎలిమెంట్ రకాలు, లక్షణ జాబితాలు, ఎంటిటీలు మరియు టిప్పణిలు అనుమతించబడతాయనే అంశాన్ని ప్రకటిస్తాయి.
ఎలిమెంట్ టైప్ డిక్లరేషన్ ఒక ఎలిమెంట్ మరియు దాని సంభావ్య విషయాన్ని నిర్వచిస్తుంది. ఒక ధృవీకృత XML డాక్యుమెంట్ DTDలో నిర్వచించబడిన ఎలిమెంట్లను మాత్రమే కలిగి ఉంటుంది.
వివిధ కీలకపదాలు మరియు అక్షరాలు ఒక ఎలిమెంట్ కంటెట్‌ను పేర్కొంటాయిః ఇవి ఈ రంకంగా ఉండగలవుః
| "ఎలిమెంట్ పేరు" | ... )*: ఇద్దరు లేదా మరింతమంది బాల ఎలిమెంట్ల యొక్క పరిమిత ఎంపిక (పేరంథసిస్ మరియు "| " గొలుసు అక్షరాల ద్వారా విడదీయబడతాయి మరియు అవసరమైన "*" క్వాంటిఫైయర్) ద్వారా తొలగించబడుతుంది (పాఠ ఎలిమెంట్లను లేదా పేర్కొనబడిన పేరు ఎలిమెంట్లనుతోపాటుగా ఉంటుంది) ఇది విషయంలో ఏ క్రమంలో అయినా, ఏ సంఖ్యలో అయినా సంభవించవచ్చు.
జాబితా" పేరుగా కూడా ఉండగలదు. ఇది ఒక ఐచ్ఛిక "క్వాంటిఫైయర్‌" తో అనుసరించబడుతుంది. 
"," కామా అక్షరం మధ్య నిర్దేశించబడతుంది) : అన్ని "కంటెంట్ పార్టికల్స్" కూడా నిర్దిష్ట స్థానంలో మరియు సాపేక్ష 
క్రమంలో నిర్వచించబడిన ఎలిమెంట్ కంటెంట్‌లోని ప్రత్యక్ష పిల్లలలా విజయవంతంగా కనిపించాలి;
రెండు లేక ఎక్కువ "కంటెంట్ పార్టికల్స్" యొక్క |" గొలుసు అక్షరం) ఎ " చే విడదీయబడింది: వీటిలో ఒకదానిలో మాత్రమే "కంటెంట్ పార్టికల్స్" అదే స్థితిలో నిర్వచించబడిన ఎలిమెంట్ యొక్క విషయంలో కనిపించవచ్చు.
ఉదాహరణకు:
ఎలిమెంట్ టైప్ డిక్లరేషన్‌లు "ధృవీకరణేతర" SGML మరియు XML శబ్దలక్షణాన్వయాల చేత విస్మరించబడతాయి (ఇలాంటి సందర్భాలలో ఏ ఎలిమెంట్లయినా ఏ క్రమంలో అయినా అంగీకరించబడతాయి మరియు శబ్దలక్షణాన్వయ డాక్యుమెంట్‌లో ఎన్ని సార్లయినా అంగీకరించబడతాయి.) కానీ, ఈ ప్రకటనలు ఇప్పటికీ స్పష్టమైన రూపంకోసం మరియు ధృవీకరణ కోసం తనిఖీ చేయబడతాయి.
ఒక లక్షణ జాబితా నిర్దిష్ట ఎలిమెంట్ రకం కోసం ఆ రకంతో ముడిపడి ఉన్న అన్ని లక్షణాల జాబితాను పేర్కొంటుంది. ప్రతి సంభావ్య లక్షణానికి సంబంధించి, అది వీటిని కలిగి ఉంటుంది :
ఉదాహరణకు:
ఇక్కడ SGML మరియు XML రెండింటి మద్ధతు కలిగిన కొన్ని లక్షణ రకాలున్నవి:
|" గొలుసు అక్షరం మధ్య నిర్దేశించబడుతుంది) అది సాధారణ పేరు టోకెన్ కానట్లయితే, గణనలోని ప్రతి విలువ 'సింగిల్' లేదా "డబుల్" ఉల్లేఖన చిహ్నాల మధ్య నిర్దేశించబడుతుంది;
|" గొలుసు అక్షరంచే వేరుచేయబడింది) గణనలోని ప్రతి టిప్పణి పేరు తప్పకుండా డాక్యుమెంట్ టైప్ డిక్లరేషన్‌లో ప్రకటించబడాలి; ఈ రకానికి HTML శబ్దలక్షణ అన్వయాలలో మద్దతు లేదు కాని, ఇది SGML మరియు XML 1.0 లేదా 1.1 లలో (XHTML మరియు SVGతోపాటు) ధృవీకరించబడుతుంది.
నిర్దిష్ట లక్షణం XML ట్యాగ్‌లో వదిలివేయబడిన సందర్భంలో, ఒక లక్షణం తప్పనిసరిగా సంభవిస్తుందా (#REQUIRED) లేక సంభవించదా (#IMPLIED) అనే అంశాన్ని డిఫాల్ట్ విలువ నిర్వచిస్తుంది లేదా ఇది స్థిర విలువను కలిగి ఉంటుందా (#FIXED) లేక ఏ విలువ డిఫాల్ట్ విలువగా ఉపయోగించబడుతుంది అనే అంశాన్ని నిర్వచిస్తుంది ("…")
లక్షణ జాబితా ప్రకటనలు "ధృవీకరణేతర" SGML మరియు XML శబ్దలక్షణాన్వయాలచేత విస్మరించబడతాయి (ఏ సందర్భాలలో ఏ లక్షణమైనా శబ్దలక్షణాన్వయ డాక్యుమెంట్ యొక్క అన్ని ఎలిమెంట్లలో ఆమోదించబడుతుంది), కాని ఈ ప్రకటనలు ఇప్పటికీ చక్కటి రూపం మరియు ధృవీకరణకోసం తనిఖీ చేయబడతాయి.
ఎంటిటీలు అనేవి పొట్టి పేరుగల చరరాశి, ఇవి ప్రత్యేకంగా నిర్వచించబడిన ఇతర డేటాను ప్రస్తావించడానికి ఉపయోగించబడతాయి; దీని ప్రత్యేక ఉపయోగం ఏదంటే, ప్రత్యేక అక్షరాలకోసం యూజర్-రీడబుల్ పేర్లు.
అందుచేత, ఎంటిటీలు పునరుక్తిని అధిగమించి ఎడిటింగ్‌ను సులభతరం చేస్తాయి. సర్వసాధారణంగా, ఇవి ప్రాథమికంగా రెండు విభిన్న రకాలు:అంతర్గత ఎంటిటీ ప్రకటనలకు ఒక ఉదాహరణ (ఇక్కడ SGML డాక్యుమెంట్ యొక్క అంతర్గత DTD ఉపసమితి):
DTDలో లేదా డాక్యుమెంట్ ప్రధాన భాగంలో ప్రస్తావించబడనంతవరకు, పదనిరూపణ చేయబడనంతవరకు అంతర్గత ఎంటిటీలు ఏ క్రమంలో అయినా నిర్వచించబడతాయి : ఒక పదనిరూపణ చేయబడిన ఎంటిటీ విషయంలో ఇప్పటికీ నిర్వచించబడని ఎంటిటీని ప్రస్తావించడం చెల్లుబాటవుతుంది కాని ఈ ఎంటిటీ పూర్తిస్థాయిలో నిర్వచించబడటానికి ముందు దాని నిర్వచిత కంటెంటులో ప్రస్తావించబడిన ఇతర అంతర్గత ఎంటిటీలతో పాటుగా ఇది ఎక్కడైనా ఏదైనా పేరు పెట్టబడిన ఎంటిటీ ప్రస్తావనలో పొందుపర్చడం చెల్లుబాటు కాదు. (ఇది కూడా అంతర్గత ఎంటిటీల వృత్త లేదా పునరావృత నిర్వచనాలను నిరోధిస్తుంది). ఈ డాక్యుమెంట్ ఇలా ఉంటే పదనిరూపణ చేయబడుతుంది:
రచయిత అంతర్గత ఎంటిటీకి ప్రస్తావన "సిగ్నేచర్" అంతర్గత ఎంటిటీ యొక్క పాఠ్య భర్తీలో ప్రత్యామ్నాయం చేయబడదని గుర్తించాలి. తద్భిన్నంగా, "sgml" ఎలిమెంట్‌ యొక్క కంటెంట్ లోపల "సిగ్నేచర్" ఎంటిటీ ప్రస్తావన పదనిరూపణ చేయబడినప్పుడు మాత్రమే ఇది భర్తీ చేయబడుతుంది కాని పదనిరూపణలను ధృవీకరించడం ద్వారా మాత్రమే ఇది జరుగుతుంది (ఎలిమెంట్ యొక్క కంటెంట్‌లో లేదా లక్షణ విలువలలో సంభవించే ఎంటిటీ ప్రస్తావనలకు, ధృవీకరించబడని పదనిరూపణలు ప్రత్యామ్నాయం కావు.
అంతర్గత ఎంటిటీ నిర్వచనాలలో పేర్కొన్న పాఠ్య భర్తీ పరామితి అనేది ఎంటిటీ ప్రస్తావనలకు ("%"అక్షరం ద్వారా పరిచయం చేయబడినవి మరియు పదనిరూపణ చేయబడే DTD కంటెంటుకు వర్తింపచేయబడే భర్తీలు) మరియు సాధారణ ఎంటిటీ ప్రస్తావనలకు ("&" అక్షరం ద్వారా పరిచయం చేయబడినవి మరియు అవి పదనిరూపణ చేయబడి, ధృవీకరించబడేంతవరకు భర్తీ ప్రక్రియ జాప్యం చేయబడేవి) మధ్య వ్యత్యాసాన్ని అనుమతిస్తుంది. DTDలోని పరామితి ఎంటిటీ ప్రస్తావనను పరిచయం చేసే "%" అక్షరం DTD వెలుపల తన ప్రత్యేక పాత్రను కోల్పోతుంది మరియు ఇది కేవల అక్షరంగా మారిపోతుంది.
అయితే, ముందే నిర్వచించబడిన సంఖ్యాత్మక అక్షర ఎంటిటీల ప్రస్తావనలు ధృవీకృత పదనిరూపణ అవసరం లేకుండానే, అవి సంభవించినప్పుడల్లా మార్చబడుతుంటాయి, (ఇవి "&" అక్షరం ద్వారా మాత్రమే పరిచయం చేయబడుతుంటాయి).
టిప్పణులు SGML లేదా XML‌లో ఉపయోగించబడతాయి. ఇవి పదనిరూపణ చేయబడని బాహ్య ఎంటిటీలకు పూర్తి ప్రస్తావనలను అందచేస్తాయి, వీటి వ్యాఖ్యానం వీటికి డాక్యుమెంట్‌ యొక్క ప్రధాన భాగంలో ఉపయోగపడేలా సాధారణ పేరును కేటాయించడం ద్వారా అప్లికేషన్‌కు వదిలివేయబడుతుంది (ఇది వీటిని నేరుగా వ్యాఖ్యానిస్తుంది లేదా బాహ్య ఎంటిటీని తిరిగి పొందుతుంది). ఉదాహరణకు, టిప్పణులు XML 1.1 డాక్యుమెంట్‌లోని XML యేతర డేటాను ప్రస్తావించడానికి ఉపయోగించబడుతుంది. ఉదాహరణకు, ప్రత్యేక రెండరర్‌తో వాటిని ముడిపెట్టడానికి గాను SVG ఇమేజీలను వ్యాఖ్యానించడం:
ఇది ఈ రకంతో కూడిన MIME రకం బాహ్య ఇమేజీలను ప్రకటిస్తుంది మరియు "type-image-svg" టిప్పణి పేరుకు దాన్ని ముడిపెడుతుంది. అయితే టిప్పణి పేర్లు సాధారణంగా ఒక నేమింగ్ కన్వెన్షన్‌ని అనుసరిస్తుంటాయి, ఇవి టిప్పణిను రూపొందిస్తున్న లేక ఉపయోగిస్తున్న అప్లికేషన్‌కు ప్రత్యేకించబడి ఉంటాయి: టిప్పణులు అదనపు మెటా-డేటాగా వ్యాఖ్యానించబడుతుంది, వీటి సమర్థ కంటెంట్ ఒక బాహ్య ఎంటిటీ మరియు XML లేదా SGML పదనిరూపణలచే వాడబడే కేటగిరీలను నమోదు చేసే PUBLIC FPI గా ఉంటుంది. దీని వ్యాఖ్యానం అప్లికేషన్ ఆధారంతో ఉంటుంది (ఇక్కడ MIME రకం, సాపేక్ష URIగా వ్యాఖ్యానించబడుతుంది కాని ఇది నిర్దిష్ట రెండరర్‌కి పరిపూర్ణ URIగా ఉంటుంది లేదా UUID వంటి OS ప్రత్యేక ఆబ్జెక్ట్ ఐడెంటిఫైయర్‌ను సూచించే URNగా ఉంటుంది.
ప్రకటించిన టిప్పణి పేరు అన్ని డాక్యుమెంట్ టైప్ డిక్లరేషన్లలోనూ అద్వితీయమైనదిగా ఉండాలి, ఉదాహరణకు బాహ్య ఉపసముదాయం మరియు అంతర్గత ఉపసముదాయం రెండింటిలోనూ కనీసం XMLతో అనుగుణంగా అయినా ఉండాలి.
టిప్పణులు SGML లేదా XML డాక్యుమెంట్ యొక్క ప్రధాన భాగంలో పొందుపర్చబడిన, పదనిరూపణ చేయని బాహ్య ఎంటిటీలతో సంబంధంలో ఉండవచ్చు. ఈ బాహ్య ఎంటిటీల యొక్క PUBLIC లేదా SYSTEM పరామితి, బాహ్య ఎంటిటీ పదనిరూపణ చేయబడని డేటా ఉన్నచోట FPI మరియు/లేదా URIని పేర్కొంటుంది మరియు ఈ నిర్వచించబడిన ఎంటిటీల అదనపు NDATA పరామితి అదనపు టిప్పణిని పేర్కొంటుంది (ఉదా.కు ఇక్కడ సమర్థవంతమైన MIME రకం). ఉదాహరణకు:
SGML డాక్యుమెంట్ ప్రధానభాగం లోపల, ఈ ప్రస్తావించబడిన బాహ్య ఎంటిటీలు ("&" మరియు ";" మధ్య పేర్కొనబడిన పేరు) సాధారణంగా పేరు పెట్టబడిన ఎంటిటీల వలే భర్తీ "చేయబడవు" (CDATA విలువతో నిర్వచించబడవు) అయితే విశిష్టమైన పదనిరూపణ చేయబడని టోకెన్లుగా వదిలివేయబడ్డాయి, ఇవి ఎలిమెంట్ లక్షణం యొక్క విలువలాగా (పైన చెప్పినట్లుగా) ఉపయోగించబడతాయి లేదా ఎలిమెంట్ విషయాల లోపల ఉపయోగించబడతాయి. DTD ఎలిమెంట్లలోని ప్రకటించబడిన కంటెంట్ రకంలోని లేదా ప్రకటించబడిన లక్షణాల రకంలోని అటువంటి బాహ్య ఎంటిటీలను అనుమతిస్తుందని (ఇక్కడ డేటా లక్షణం) కోసం ENTITY రకం) లేదా SGML పదనిరూపణ కంటెంట్‌ని ధృవీకరించలేదన్న ప్రాతిపదికమీద ఇది వర్తిస్తుంది.
టిప్పణులు ఎలిమెంట్లకు అదనపు మెటా-డేటాగా నేరుగా అనుసంధించబడవచ్చు, ఇతర బాహ్య ఎంటిటీకి వాటిని అనుసంధానించకుండా, వాటి పేర్లను కొన్ని అదనపు లక్షణాల యొక్క సంభావ్య విలువలుగా అందించడం ద్వారా ఇలా చేయవచ్చు ( ఎలిమెంట్ యొక్క ప్రకటన). ఉదాహరణకు:
పై ఉదాహరణ, "type-image-svg" పేరిట ప్రామాణిక సార్వజనీన FPI ని నిర్దేశించు భావాన్ని చూపిస్తోంది. ఇంకా, మొదటి ఉదాహరణలో వలె, కేవలం సిస్టం ఐడెంటిఫైయర్/కంఫ్యూటర్ గుర్తింపు పరికరంగా నిర్దేశించడానికి బదులుగా SVG 1.1 అధికార పత్రం యొక్క కంప్యూటర్ గుర్తింపు పరికరాన్ని(ప్రామాణిక URI) చూపిస్తోంది. (అది URIకు సంబంధించినదై, స్థానికంగా ఒక MIME తరహాగా వ్యాఖ్యానించబడింది.) ఈ వ్యాఖ్య ప్రత్యక్షంగా “img” మూలాంశాన్ని ఆరోపించు “తరహా”కు, ఆ పదం యొక్క నిర్మాణాన్ని, విధులను వివరించని పరిధిలో నిర్దేశిస్తోంది. అయితే దాని విషయం తిరిగి పొందునది కాదు. అది విక్రయదారు–నిర్దిష్ట అనువర్తన కొరకు, అధికార పత్రంలోని మూలాంశపు “sgml” ను వ్యాఖ్యానించుటకు మరొక భావాన్ని ప్రకటిస్తోంది. రెండు, వ్యవహారాలలోనూ, ప్రకటించిన భావం యొక్క పేరు ప్రత్యక్షంగా ప్రకటించిన “తరహా” ఆరోపణలో ఉపయోగించుబడుతోంది. ఆరోపణలోని అంశం NOTATION తరహా ఆరోపణతో DTDలో నిర్దేశించబడుతుంది. (ఈ “తరహా” ఆరోపణ “sgml” అంశం కొరకు, అదే విధంగా “img” అంశం కొరకు ప్రకటించబడుతుంది.)
ఏమైనా, "img" మూలాంశపు “శీర్షిక” ఆరోపణ “ఉదాహరణ 1SVG శీర్షిక” అంతర్గత విషయాన్ని నిర్దేశిస్తోంది. దాని ప్రకటన ఒక వ్యాఖ్యను నిర్వచించలేదు. కాబట్టి అది చెల్లుబాటు కలిగించు అధికారిక పద విశ్లేషకుల చేత పదమూ దాని నిర్మాణమూ, విధులూ వివరింప బడతాయి మరియు విషయ బదలాయింపు పాఠ్యాంశం “ఉదాహరణ 1svg యొక్క శీర్షిక” అవుతుంది.
మరియు “img” మూలాంశపు విషయం, మరొక బాహ్యగత విషయాన్ని “ఉదాహరణ1SVG” నిర్దేశిస్తోంది. దాని ప్రకటన కూడా ఒక వ్యాఖ్యని నిర్వచించలేదు. కాబట్టి అది కూడా చెల్లుబాటు కలిగించు అధికారిక పద విశ్లేషకుల చేత, పదమును, దాని నిర్మాణమూ, విధులూ వివరింప బడతాయి. మరియు బదలాయింపు పాఠ్యాంశం, నిర్వచించబడిన సిస్టమ్ ఐడెంటిఫైయర్/ కంఫ్యూటర్ గుర్తించు పరికరం, “ఉదాహరణ 1.svg” (సంబంధిత URI గా కూడా వ్యాఖ్యానించబడుతుంది.) చేత గుర్తింపబడుతుంది. "img" మూలాంశపు ప్రభావపూరిత విషయం, ఈ రెండవ బాహ్యగత వనరు యొక్క విషయం అవుతుంది. GIF ప్రతిబింబంతో వ్యత్యాసం ఏమిటంటే - DTD లోని ప్రకటనల ప్రకారం, SVG ప్రతిబింబం SGML అధికార పత్రపు పరిధిలో వివరించబడగా, GIF ప్రతిబింబం కేవలం అపారదర్శక బాహ్యగత వస్తువుగా (SGML తో వివరించబడనిది) దాని యొక్క “డాటా” ద్వారా ఆరోపించబడిన వస్తువుగా (దాని తరహా విలువ ఒక అపారదర్శక విషయమై/ENTITY అయి ఉంటుంది.) నిర్దేశింపబడుతుంది.
ఒకే ఒక భావం పేరు ENTITY/విషయ ఆరోపణా విలువలో నిర్దేశింపబడవచ్చు. (SGML, XML 1.0 లేదా XML 1.1 లలో బహు భావాల పేర్లకు అదే బాహ్యగత ENTITY/విషయం ప్రకటనలో మద్దతు లేదు, కాబట్టి విభిన్న ఆరోపణలు అవసరమై ఉన్నాయి.) ఏమైనా బహు బాహ్యగత విషయాలు (ప్రాదేశిక–విభిన్న పేర్ల జాబితాలో) తరహా ENTITIES/విషయాల ఆరోపణా ప్రకటనలలో నిర్దేశింపబడవచ్చు, మరియు ప్రతీ బాహ్యగత విషయపు పేరు, దాని స్వంత భావంతోనే ప్రకటింపబడవచ్చు కూడా.
XML మరియు SGML పద విశ్లేషకులకు భావాలు కూడా సంపూర్తిగా అపారదర్శకం. కాబట్టి అవి నిర్దేశితమైన వాటి బాహ్యగత విషయపు తరహా వలన విభేదించలేనివి. (ఈ పద విశ్లేషకులకు, అవి కేవలం సార్వజనీన గుర్తింపుపరికరానికి (ఒక FPI) మరియు/లేదా కంఫ్యూటర్ గుర్తింపు పరికరానికి (ఒక URI) ముడిపడిన ఒక ప్రత్యేక పేరు కలిగి ఉన్నవి.)
కొన్ని అనువర్తనలు (స్వయంగా XML లేదా SGML పద విశ్లేషకులు కానట్టి) కూడా, పరోక్షంగా నిర్దేశిత భావనలని, "URN:"పేరు" ” ప్రామాణిక CDATA ఆరోపణ యొక్క విలువలో చేర్చటం ద్వారా వాటిని అనుమతిస్తాయి, ప్రతీ చోటా ఒక URI నిర్దేశింపబడుతుంది. ఏమైనా ఈ ప్రవర్తన నిర్దేశిత అనువర్తన. మరియు ఈ అనువర్తన, వెల్లడైన ప్రామాణిక SGML లేదా XML పద విశ్లేషకులు వివరించగలిగిన భావాలుగా, విభజించబడిన URNలతో కూడిన ఒక జాబితాను నిర్వహిస్తుంది. ఈ వాడకం, బాహ్యగత విషయంగా DTDలో మాత్రమే నిల్వ చేయగల భావాలను అనుమతిస్తుంది. మరియు అధికార పత్రంలోని బాహ్యగత ఉపాంశాలుగా మాత్రమే నిర్దేశిస్తుంది. మరియు చెల్లుబాటు చేయగల XML లేదా SGML పద విశ్లేషకులు భావాల ప్రత్యక్ష మద్దతులేని సంగతంగా ఈ అధికార పత్రాలు నిలిచేందుకు అనుమతిస్తుంది.
సంజ్ఞీకరణలు HTMLలో లేదా XHTML మరియు SVG కోసం ప్రాథమిక ప్రొఫైల్స్‌లో ఉపయోగించబడవు, ఎందుకంటే:
SGML లేదా XML 1.0 లేదా XML 1.1లను ధృవీకరించడంలో కూడా, ప్రకటిత సంజ్ఞీకరణలలోని FPI మరియు/లేదా URI ద్వారా ప్రస్తావించబడే బాహ్య ప్రస్తావనలు ప్రోగ్రాముల ద్వరా తమకు తాముగా తిరిగి పొందబడవు. బదులుగా, ఈ ప్రోగ్రాములు అప్లికేషన్‌కు SGML లేదా XML డాక్యుమెంట్‌లో కనుగొనబడిన సంజ్ఞీకరణలతో ముడిపడి ఉన్న ప్రోగ్రామ్ చేయబడిన FPI మరియు/లేదా URI ప్రోగ్రామ్‌ని మాత్రమే అందిస్తాయి మరియు DTDలో ప్రకటించిన పేర్ల సంజ్ఞీకరణలన్నింటినీ కలిగి ఉండే నిఘంటువు కోసం సౌకర్యంతో కూడి ఉంటాయి. ఈ ధృవీకరించబడిన ప్రోగ్రాములు కూడా సంజ్ఞీకరణ పేరు ప్రకటనల విశిష్టతను తనిఖీ చేస్తాయి మరియు కొన్ని సంజ్ఞీకరణ పేర్లు DTDలో కాని, ప్రకటించబడని డాక్యుమెంట్ బాడీలో కాని ఉపయోగించబడినట్లయితే ధృవీకరణ దోషాన్ని నివేదిస్తాయి.
XML DTD వాక్యనిర్మాణం అనేది పలు XML ప్రణాళిక భాషలలో ఒకటి. అయితే వీటిలో చాలా వరకు XML DTD స్థానాన్ని భర్తీ చేయలేవు. పైగా, DTD-లేని XMLలో ప్రత్యక్ష సరి సమాన రూపాలు లేని ఎంటిటీలు మరియు టిప్పణులను నిర్వచించడానికి XML DTD అనుమతిస్తుంది (ఎందుకంటే, అంతర్గత ఎంటిటీలు మరియు పదనిరూపణ చేయదగిన బాహ్య ఎంటిటీలు XML వ్యూహ భాషలలో భాగం కావు, అందుచేత ఇతర పదనిరూపణ చేయబడని బాహ్య ఎంటిటీలు మరియు టిప్పణులు అనేక XML వ్యూహ భాషలలో సాధారణ సరిసమాన మ్యాపింగ్‌లను కలిగి లేవు).
XML వ్యూహ భాషలలో చాలావరకు ఎలిమెంట్ ప్రకటనలు మరియు లక్షణ జాబితా ప్రకటనలకు భర్తీ రూపాలు మాత్రమే. ఈ విధంగా, "ధృవీకరణేతర" XML పదనిరూపణలతో XML డాక్యుమెంట్లను పదనిరూపణ చేయడం సాధ్యమవుతోంది (బాహ్య DTD ఉప సముదాయం లక్ష్యం వ్యూహాన్ని నిర్వచించడం అయినప్పుడు మాత్రమే ఇది వర్తిస్తుంది). అదనంగా, ఈ XML వ్యూహ భాషలకోసం డాక్యుమెంట్లను విడిగా పదనిరూపణ చేయవలసి ఉంది, కాబట్టి స్వతంత్ర రీతిలో XML డాక్యుమెంట్లను ధృవీకరించడం ఈ భాషలతో నిజంగానే సాధ్యపడదు: పదనిరూపణ చేయబడిన XML డాక్యుమెంట్‌లో ఉపయోగించబడిన వ్యూహాన్ని కనీసం గుర్తించాలన్నా మరియు మరొక భాషలో దాన్ని ధృవీకరించాలన్నా (XML కేటలాగ్‌తో) డాక్యుమెంట్ టైప్ డిక్లరేషన్ ఇప్పటికీ అవసరమవుతుంది.
"ధృవీకరణేతర" XML పదనిరూపణలు డాక్యుమెంట్ టైప్ ప్రకటనలను చదవలేవనే సాధారణ అనవగాహన వాడుకలో ఉంది, నిజానికి, డాక్యుమెంట్ టైప్ ప్రకటనలు సరైన వాక్యనిర్మాణం కోసం మరియు ప్రకటనల ధృవీకరణల కోసం తప్పకుండా స్కాన్ చేయబడి ఉండాలి మరియు "అంతర్గత ఉప సముదాయం" లోని అన్ని ఎంటిటీలను ఇప్పటికీ పదనిరూపణ చేయాలి మరియు డాక్యుమెంట్ టైప్ ప్రకటనలో లేదా డాక్యుమెంట్ ప్రధానభాగంలో ఎక్కడైనా సరే ఏర్పడుతున్న అంతర్గత ఎంటిటీల పాఠాల భర్తీని ప్రత్యామ్నాయంగా చేపట్టవలసి ఉంటుంది.
"ధృవీకరణేతర" పదనిరూపణ, ఏమైనప్పటికీ పదనిరూపణ ( "బాహ్య ఉపసముదాయంతో సహా" ), "బాహ్య ఎంటిటీలను" చదవకూడదనే అంశాన్ని ఎంచుకోవచ్చు మరియు ఎలిమెంట్ ప్రకటలలో, లక్షణ జాబితా ప్రకటనలలో నిర్వచించబడిన కంటెంట్ నమూనా పరిమితులను గౌరవించకూడదనే అంశాన్ని ఎంచుకోవచ్చు.
XML డాక్యుమెంట్ పదనిరూపణ బాహ్య ఎంటిటీలపై ఆధారపడినట్లయితే (పేర్కొనబడిన "బాహ్య ఉపసముదాయంతో సహా" , లేదా "బాహ్య ఉప సముదాయం" ) లో ప్రకటించబడిన పదనిరూపణ బాహ్య ఎంటిటీలపై ఆధారపడినట్లయితే అది తన 
XML ప్రకటనలో codice_4ను నొక్కి చెప్పుకోవలసి ఉంది. ధృవీకరించబడుతున్న DTD గుర్తింపు అనేది దాని నిర్దిష్ట "బాహ్య ఉపసముదాయాన్ని తిరిగిపొందడానికి గాను " XML కేటలాగ్‌ల ఉపయోగం ద్వారా నిర్వహించబడుతుంది.
కింది ఉదాహరణలో, XML డాక్యుమెంట్ codice_5తో ప్రకటించబడుతుంది, ఎందుకంటే దాని డాక్యుమెంట్ టైప్ డిక్లరేషన్‌‍లో అది ఒక బాహ్య ఉపసముదాయాన్ని కలిగి ఉంది:
XML డాక్యుమెంట్ టైప్ ప్రకటన బాహ్య ఉప సముదాయం కోసం ఏదైనా SYSTEM ఐడెంటిఫైయర్‌‌ని కలిగి ఉన్నట్లయితే, ఇది స్వతంత్ర వస్తువులా సురక్షితంగా ప్రాసెస్ చేయబడలేదు: URI తిరిగి పొందబడాలి, లేకుంటే అపరిచిత పేరు పెట్టబడని అక్షర ఎంటిటీలు ఉండవచ్చు, అంతర్గత ఉపసముదాయం లోని ప్రభావ శీల XML వాక్యనిర్మాణాన్ని లేదా డాక్యుమెంట్ బాడీలోని వాక్యనిర్మాణాన్ని సరిగా పదనిరూపణ చేయవలసిన అవసరముంది. (XML వాక్యనిర్మాణ పదనిరూపణ సాధారణంగా అన్ని పేరున్న ఎంటిటీల ప్రత్యామ్నాయం "తర్వాత" సాధారణంగా నిర్వహించబడుతుంది, XMLలోని పూర్వ నిర్చచితమైన అయిదు ఎంటిటీలను మినహాయించాలి మరియు XML డాక్యుమెంట్‌ని స్ధానిక టోకెన్స్‌గా పదనిరూపణ చేసిన "తర్వాత" విధిపూర్వకంగా ప్రత్యామ్నాయంగా చేయబడతాయి. ఇది ఏదైనా PUBLIC ఐడెంటిఫైయర్‌తో మాత్రమే కూడుకున్నట్లయితే, అది స్వతంత్రమైనట్టిదిగా ప్రాసెస్ చేయబడ"వచ్చు" , XML ప్రాసెసర్ తన స్థానిక కేటలాగ్‌లోని PUBLIC ఐడెంటిఫైయర్‌ని గురించి తెలుసుకుని ఉన్నట్లయితే, అది అక్కడనుంచి ఒక సహసంబంధంలోని DTDగా తిరిగి పొందబడుతుంది.
వ్యక్తులతో కూడుకున్న జాబితా వ్యూహాన్ని వర్ణించడానికి అతి సాధారణమైన బాహ్య XML DTD యొక్క ఉదాహరణ:
దీన్ని పంక్తులవారీగా తీసుకోవాలి:ఈ DTDని ఉపయోగించి, నిర్ధారించే XML ఫైల్‌కి ఉదాహరణ కింది విధంగా ఉంటుంది. DTD ఇక్కడ SYSTEM స్పెసిఫైయర్‌ మరియు URI ద్వారా ఒక బాహ్య సబ్‌సెట్‌ని ప్రస్తావిస్తుంది. మనం సాపేక్షిక URI ప్రస్తావనతో "example.dtd" తో కూడిన DTDని మనం గుర్తించగలమని ఇది హామీ ఇస్తుంది; "people_list" తర్వాత "!DOCTYPE" రూట్ టాగ్‌లు, లేదా DTDలో నిర్వచించబడిన తొలి ఎలిమెంట్‌ని "people_list" అని పిలుస్తారు:
డాక్యుమెంట్ టైప్ డిక్లరేషన్‌లోని [కుండలీకరణాల] లోపల ఉండటం ద్వారా, ఈ DTDనే XML డాక్యుమెంట్‌లో నేరుగా ఒక అంతర్గత సబ్‌సెట్‌గా ఎంబెడ్ చేయబడుతుంది, ఇలాంటి సందర్భంలో డాక్యుమెంట్ ఇకపై ఇతర బాహ్య అంశాలపై ఆధారపడి ఉండదు మరియు దీనివలే స్వతంత్రంగా ప్రాసెస్ చేయబడింది:
పైన పేర్కొన్న DTD భాగాన్ని "example.dtd" అనే పేరు గల టెక్స్ట్‌ ఫైల్‌కి మరియు XML ఫైల్‌ని విభిన్నమైన పేరు కలిగిన టెక్స్ట్ ఫైలుకిజతపర్చి భద్రపర్చడం ద్వారా దీన్ని ఎవరైనా ఒక XML-ఆధారిత ( ఇంటర్నెట్ ఎక్స్‌ప్లోరర్ లేదా మొజిల్లా ఫైర్‍‌ఫాక్స్వంటి) బ్రౌజర్‌లో చూపిస్తారు మరియు XML ఫైల్‌ని బ్రౌజర్‌తో తెరుస్తారు. రెండు ఫైళ్లను అదే డైరెక్టరీలో భద్రపర్చాలి. ఏదేమైనా, XML డాక్యుమెంట్ DTDలోని నిబంధనలను నిర్ధారిస్తుందని చాలా బ్రౌజర్లు పరిశీలించవు, DTD వాక్యనిర్మాణ నిబంధనల పరంగా సరిగా ఉందో లేదో తనిఖీ చేయడానికి మాత్రమే వీటిని కోరడం జరుగుతుంటుంది. భద్రతా కారణాల వల్ల, ఇవి బాహ్య DTDని రీడ్ చేయకుండా ఉండటానికి కూడా వీటిని ఎంచుకుంటారు.
DTDలకు (వ్యూహాలను నిర్దేశించడానికి) పత్యామ్నాయాలు అందుబాటులో ఉంటున్నాయి: