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

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

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

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


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

سطح صفر

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

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

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

در بر گیرنده شش مشخصه متفاوت است:
هسته DOM سطح 3
بارگذاری و ذخیره DOM سطح 3
XPath برای DOM سطح 3
دیدارها و قالب‌بندی DOM سطح 3
نیازمندی‌های DOM سطح 3
معتبرسازی 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) نشان می‌دهد چه متدها و صفاتی را می‌توان در مرورگرهای گوناگون با ایمنی استفاده کرد.