مدل شیءگرای سند

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire
استانداردهای وب

HTML
RDF
CSS
DOM
XHTML
XML
SVG
W3C
DHTML

بازرس DOM مشغول بازرسی صفحه اول ویکیپدیا

مدل شیء‌گرای سند یا دام (DOM - Document Object Model) عنوان یکی از دو معمار عمده است (در کنار اس‌اِی‌اکس) که بر اساس آن سندهای اکس‌ام‌ال را به اشیایی که در بردارندۀ آنند تجزیه می‌نماییم. معماری دام، نه به زبان برنامه‌نویسی خاصّی وابستگی دارد و نه به سکّوی برنامه‌نویسی ویژه‌ای، بلکه، به منظور اجراء و پیاده‌سازی آن باید از یک زبان برنامه‌نویسی بلند‌تراز[۱] همچون جاوا، سی‌شارپ، جاوااسکریپت یا مشابه آن‌ها سود بجوییم. آنسوی رابط کاربر سند با مدلی شیء‌گرا نمایانده می‌شود.

فهرست مندرجات

انگیزه‌ها و اهداف

سند‌های اکس‌ام‌ال با در بر‌داشتن متون زبانی به بیان[۲] و نمایش داده‌های گوناگون اقدام می‌کنند. ابداع و به کار‌گیری زبان اکس‌ام‌ال را می‌توان آغاز ماشینی کردن ساختار‌مند[۳] و مقیاس پذیر داده‌ها هم از جنس رابطه‌ای و هم از انواع پیچیده‌تر آن به حساب آورد.

بر‌عکس متون معمولی رایانه‌ای در مورد متن‌های اکس‌ام‌ال به دلیل در درون داشتن انواع داده‌ها و دانسته‌ها در مقیاس‌ها و در سلسله مراتب مختلف اعمال فنون سنتی پردازش‌های دنباله‌ای فایل‌ها نه عملی‌ست و نه کارآ. این مشکلات به ویژه در حالات مربوط به افزودن اجزاء و عناصر جدید و یا کاستن و برداشتن آن‌ها به فرم دینامیکی و در زمان اجراء به اوج می‌رسد.


در آغاز، گونه‌های مختلف د‌ام توسط مرورگرهای وب برای دستکاری عناصر سندهای اچ‌تی‌ام‌ال پیاده‌سازی می‌شدند. این موضوع، کنسرسیوم وب جهان‌شمول را وادار کرد که با یک سری مشخصات استاندارد برای د‌ام پیشگام شود (از این رو آن را W3CDOM نیز می‌گویند).

د‌ام هیچ تنگنایی روی ساختار داده‌های دربرگیرنده سند قرار نمی‌دهد. یک سند خوش‌ساختار می‌تواند به کمک د‌ام شکل درخت‌گونه به خود‌ش بگیرد.

بیشتر متن‌شکن‌های اکس‌ام‌ال (XML parsers) (مانند Xerces) و پردازندگان اکس‌اس‌ال (مانند Xalan) پدید آمده‌اند که از ساختار درختی سود ببرند. چنین پیاده‌سازی، نیازمند آن است که تمامی محتوای سند شکسته گردیده و در حافظه نگهداری شود. از این رو دام بیشتر برای کارهایی سودمند است که عناصر سند باید به طور تصادفی دستیابی و دستکاری شوند. برای کاربردهای اکس‌ام‌ال-محوری که دربرگیرندۀ دسترسی انتخابی یک خواندن/نوشتن به ازای شکستن است، دام بالاسری قابل ملاحظه‌ای بر حافظه تحمیل می‌کند. در این کاربردها، مدل اس‌اِی‌اکس (SAX - Simple API for XML) از دید سرعت و مصرف حافظه سودمندتر است.

سطح‌ها

مشخصات کنونی دام در سطح 2 است، اما برخی مشخصات سطح 3 اکنون از پیشنهادات W3C هستند.

سطح صفر

دربرگیرنده همه مشخصه‌های ویژه سازندگان که پیش از آفرینش سطح 1 DOM وجود داشتند، همچون document.images, document.forms, document.layers, و document.all است. آگاه باشید که این مشخصات رسمی و منتشر شده توسط W3C نیستند بلکه بیشتر مرجعی به چیزی که پیش از فرایند استانداردسازی وجود داشت هستند.

سطح 1

پیمایش سند(HTML و XML) با DOM(ساختار درختی) و دستکاری محتوا(همچنین اضافه کردن عناصر). عنصرهای خاص HTML نیز در بر گرفته شده‌اند.

سطح 2

پشتیبانی از فضای نام XML، دیدها و رویدادهای پالوده.

سطح 3

در بر گیرنده شش مشخصه متفاوت است:
  1. هسته DOM سطح 3
  2. بارگذاری و ذخیره DOM سطح 3
  3. XPath برای DOM سطح 3
  4. دیدارها و قالب‌بندی DOM سطح 3
  5. نیازمندی‌های DOM سطح 3
  6. معتبرسازی DOM سطح 3

که DOM را بیشتر گسترش می‌دهند.

کاربرد در مرورگرهای وب

در گذشته، پیاده‌سازی‌های گوناگون دی‌اُ‌ام در مرورگرهای مختلف به اشکالات هم‌عملپذیری انجامیده بود. از این رو، میان برنامه‌نویسان وب معمول است که وجود یک خاصیت را قبل از استفاده از آن آزمایش کنند. خرده‌برنامه زیر چگونگی آزمایش برای متدهای کلیدی W3C DOM را قبل از استفاده از سایر بخش‌های آن نشان می‌دهد:

  if (document.getElementById && document.getElementsByTagName) {
    // as the key methods getElementById and getElementsByTagName
    // are available is is relatively safe to assume W3CDOM support.

    obj = document.getElementById("navigation")
    // other code which uses the W3CDOM
    // .....
 }

مرورگرهای اینترنت‌اکسپلورر مایکروسافت (نسخه 5(1999)،...نسخه 6(2001)) در سال 2005 از جملۀ پرکاربردترین مرورگرها هستند و به طرز معقولی بیشتر خاصیّت‌های W3CDOM را پشتیبانی می‌کنند. مرورگرهای مبتنی بر Gecko، همچون موزیلا و فایرفاکس و دیگران نیز چنین‌ اند. بنابراین، مشکلات استفاده از W3CDOM آنگونه که در سال 2000 که نسخه‌های 4 اینترنت‌اکسپلورر و نت‌سکیپ‌نویگیتور به فراوانی استفاده می‌شدند نیست. البته این فرضیه بر این پایه است که بیشتر مردم از مرورگری که بیشتر از 6 سال عمر دارد استفاده نمی‌کنند، که اتفاقاً توسط آمار استفاده از مرورگرها تایید شده است. جدول مقاله مقایسۀ موتورهای طرح‌بندی(DOM) نشان می‌دهد چه متدها و صفاتی را می‌توان در مرورگرهای گوناگون با ایمنی استفاده کرد.

پانوشته‌ها

  1. High-level Programming Language
    واژهٔ level در موارد زیادی به صورت «تراز» به زبان فارسی ترجمه شده است. از جمله آن‌ها:
    با این همه، در علوم رایانه و اطلاعات بیشتر از معادل »سطح» استفاده شده است
  2. Expression
  3. Structured

جستارهای وابسته

منابع

پیوندهای بیرونی

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net