DOM full form और DOM क्या होता है? with Example

Dom का फुल फॉर्म क्या होता है? 

DOM - Document Object Model

DOM full form


DOM क्या है? 

डॉक्यूमेंट ऑब्जेक्ट मॉडल एक एप्लिकेशन प्रोग्रामिंग इंटरफेस (API) है, जिसे XML के लिए परिभाषित किया गया था। DOM किसी भी मेमोरी में नोड्स की एक Hierarchy के रूप में तैयार करता है। 

HTML या XML डॉक्युमेंट्स का हर एलिमेंट टैग, Attribute व टेक्स्ट आदि DOM के नोड्स को प्रदर्शित करते हैं।

Example: निम्न एचटीएमएल (HTML) कोड देखिए:


<HTML><HEAD>

<TITLE>Sample page</TITLE>

</HEAD><BODY>

<P>Hello world!</p>

</BODY></HTML>


जब ये एचटीएमएल कोड वेब ब्राउज़र के मेमोरी में लोड होता है, तब निम्नानुसार फॉर्म विभिन्न HTML एलिमेंट्स की एक Hierarvhy बन जाती है


<HTML>

<HEAD>

<TITLE> Sample page </TITLE>

</HEAD>

<BODY>

<P>Hello World!</p>

</BODY>

</HTML>


किस डॉक्यूमेंट के विभिन्न एलिमेंट्स को मैमोरी में इस प्रकार से प्रदर्शित होने की व्यवस्था को ही DOM या डॉक्यूमेंट ऑब्जेक्ट मॉडल कहा जाता है। 

जिसमें डॉक्युमेंट्स के विभिन्न एलिमेंट्स DOM के एक नोड्स के साथ प्रदर्शित किए जाते है और हर नोड्स एक ऑब्जेक्ट की भांति व्यवहार करता है, जिसकी स्वयं की कुछ प्रॉपर्टीज व बेहवियर होते है।


DOM जावास्क्रिप्ट नहीं है, ECMAScript की भांति ही इसे भी कई अन्य प्रोग्रामिंग भाषाओं में क्रियान्वित किया गया है। हालांकि वेब ब्राउज़र में DOM को ECMAScript का प्रयोग करके क्रियान्वित किया गया है और अब ये DOM जावास्क्रिप्ट भाषा का एक सबसे बड़ा व सबसे महत्वपूर्ण हिस्सा है।


DOM के कार्य:

डॉक्यूमेंट के विभिन्न कंटेंट्स को एक ट्री बनाकर DOM , किसी वेब डेवलपर को अपने डॉक्यूमेंट पर पुर्ण रूप कंट्रोल करने की सुविधा प्रदान करता है, क्योंकि JAVA स्क्रिप्ट की किसी स्क्रिप्टिंग भाषा का प्रयोग करके वेब डेवलपर अपने डॉक्यूमेंट के किसी नॉड को मिटा सकते हैं, DOM में नया नोड जोड़ सकते है.

किसी अवांछित नोड को बदल सकते है अथवा DOM API का प्रयोग करते हुवे ही किसी नोड को मॉडिफाई कर सकते हैं।


चूंकि वेब में डॉक्यूमेंट प्रस्तुत होने से पहले उस डॉक्यूमेंट का DOM ट्री क्रिएट होता है, जो उस डॉक्यूमेंट को In-Memory Model होता है और वेब ब्राउज़र के विंडो में वही दिखाई डेटा है, जो DOM ट्री में होता है। इस लिए DOM में किए जाने वाले प्रभाव तुरंत वेब ब्राउज़र में प्रस्तुत होता है।


इसलिए DOM ट्री किसी भी क्लाइंट साइड स्क्रिप्टिंग भाषा के लिए एक मुख्य श्रोत होता है, जिस पर वह स्क्रिप्टिंग भाषा द्वारा विभिन्न प्रकार के कार्यों प्रदर्शित करके डॉक्यूमेंट को अधिक प्रभावित बनाने में सक्षम हो पाता है।


चूंकि DOM को विभिन्न कंपनियों ने अपने वेब ब्राउज़र में अपनी सुविधनुसार अलग अलग तरीकों से डेवलप किया गया था, इसलिए वेब को cross platform, अर्थात Platform इंडिपेंडेंट बनाए रखने के लिए सभी वेब ब्राउज़र में किसी डॉक्यूमेंट में एक जैसे दर्शाने के लिए फिर से एक प्रामाणिक तरीके की आवश्यकता महसूस किया गया।


फलस्वरूप एक नई संस्था अस्तित्व में आई, जिसका नाम वर्ल्ड वाइड वेब Consortium (W3C) था। ये संस्था विभिन्न प्रकार के वेब संबंधित स्टैंडर्ड डेवलप करने का कार्य करती है। 

इस संस्था में विभिन्न बड़ी कंपिनयों; जैसे - माइक्रोसॉफ्ट, गूगल, याहू, AOL आदि के मेंबर्स भाग लेते है और वेब किस दिशा में आगे बढ़ेगा इस बात का निर्णय लेकर स्टैंडर्ड क्रिएट करते हैं।


DOM के आज तक में कुल तीन लेवेल्स W3C द्वारा निर्धारित किया गया है। DOM लेवल 1 सबसे पहले अक्टूबर, 1998 में रिकमेंड किया गया था। इस DOM के दो अन्य लेवल्स DOM core और DOM HTML है।

DOM कोर किसी एक्सएमएल आधारित सरंचना की सुविधा प्रदान करती है, ताकि डेवलपर्स किसी XML डॉक्यूमेंट के विभिन्न हिस्सों को सरलता से प्राप्त कर सके तथा DOM एचटीएमएल वास्तव में DOM कोर का ही एक्सटेंशन है, जिसमें एचटीएमएल के साथ कुछ विशेष ऑब्जेक्ट्स व मेथड्स को एड करके एचटीएमएल का विस्तार किया गया है।

DOM भी ECMAScript की भांति ही केवल एक स्पेसिफिकेशन है। जिस प्रकार से ECMAScript के आधार पर विभिन्न प्रकार की स्क्रिप्टिंग भाषाओं को विकसित किया गया है,इसी प्रकार से डोम के आधार पर विभिन्न प्रकार के भाषा में किसी डॉक्यूमेंट को एक्सेस और मैनिपुलेट कर सके।

जबकि DOM लेवल 2 को डेवलप करने का मूल उद्देश्य डोम के साथ माउस व यूजर इंटरफेस इवेंट्स, Ranges, Traversals तथा Cascading स्टाइल सीट्स को सपोर्ट करवाना था।

ताकि डॉक्युमेंट् को न केवल अच्छे तरीके से स्ट्रक्चर किया जा सके, बल्कि उसे सरलता से डिजाइन भी किया जा सके । साथ ही उसे आकर्षक भी बनाया जा सके.


इस लिए DOM Level 1 के कोर को Namespaces को सपोर्ट करने के लिए बढ़ाया गया। DOM लेवल 2 में निम्न नए मॉड्यूल्स को बढ़ावा दिया गया था, जो निम्न हैं:


1. DOM व्यूज

2. DOM इवेंट्स

3. DOM स्टाइल्स

4. DOM ट्रेवर्सल और रेंज


डॉक्यूमेंट की स्टाइलिंग करने से पहले व स्टाइलिंग करने के बाद एक ही डॉक्यूमेंट के अनेक व्यूज हो जाते हैं। इन व्यूज को हैंडल करने के लिए DOM व्यूज का सिद्धांत विस्तारित किया गया।


डॉक्यूमेंट को यूजर के लिए अधिक आकर्षक बनाने के लिए विभिन्न प्रकार के इवेंट्स व इवेंट हैंड्रेल्स को DOM इवेंट्स के रूप में परिभाषित किया गया।


डॉक्यूमेंट की स्टाइलिंग को कंट्रोल करने व डॉक्यूमेंट के स्ट्रक्चर से अलग के लिए डोम स्टाइल्स का विस्तार किया गया, ताकि डॉक्यूमेंट की स्टाइलिंग को कंट्रोल, मैनेज व हैंडल करना सरल हो सके। DOM ट्रेवर्सल तथा रेंज का विस्तार करके DOM को एक्सेस मैनुपुलेट व ट्रैवर्स करने के लिए उल्लेख को परिभाषित किया गया ।


वर्तमान समय में DOM Level 3 का वर्णन किया जा रहा है, जिसमें ऐसे मेथड्स को सपोर्ट किया जा रहा है, जिससे वेब ब्राउज़र या होस्ट एनवायरमेंट के डॉक्यूमेंट को लोकल डिवाइस पर सेव किया जा सके व लोकल डिवाइस से होस्ट एनवायरमेंट में लोड किया जा सके। 


एक प्रकार से देखा जाए तो अब वेब टेक्नोलॉजी पूरी प्रकार से डेस्कटॉप टेक्नोलॉजी के समकक्ष आने वाली है, क्योंकि DOM लेवल 2 तक, किसी भी डॉक्यूमेंट को लोकल डिवाइस में सेव नहीं किया जा सकता इस लिए कोई भी यूजर वैसे ही डॉक्यूमेंट देख सकता था या एक्सेस कर सकता था जैसा डेवलपर ने उसे अधिकृत किया था।


लेकिन DOM लेवल 3 निर्माण के बाद यह बात पूरी तरह से बदल जाएगी क्योंकि उस स्थिति में यूजर अपनी इच्छानुसार किसी डॉक्यूमेंट को मॉडिफाई कर पाएगा। और अपनी निजी डिजाइन पर सेव कर सकेगा। जिससे एक डॉक्यूमेंट को अलग अलग यूजर अपनी इच्छनुसार अलग अलग तरीके से एक्सेस व मैनिपुलेट कर सकेगी।


लेवल 3 का निर्माण धीरे धीरे होने लगा है और HTML5 DOM Level 3 व CSS3 का ही निर्माण है, जो धीरे धीरे विभिन्न वेब ब्राउज़र में सपोर्ट किया जाने लगा है। इन मूल DOMs के स्थान पर कुछ अन्य DOMs भी है, जिन्हे अलग प्रकार की आवश्यकता को पूरा करने के लिए परिभाषित किया गया है।

Post a Comment

0 Comments