Document Object Model (DOM) là một hệ giao tiếp lập trình ứng dụng cho tài liệu HTML và XML. Nó xác định cấu trúc logic của tài liệu và phương pháp truy cập và sử dụng tài liệu đó. Trong DOM đã chỉ rõ, thuật ngữ tài liệu được sử dụng theo nghĩa ngày càng rộng lớn và phần lớn hiện nay Document được hiểu theo nghĩa dữ liệu hơn là theo nghĩa tài liệu. XML được sử dụng như là một phương pháp biểu diễn cho nhiều loại thông tin khác nhau. Hiện nay với XML thì dữ liệu tương đương với tài liệu và DOM có thể sử dụng để quản lý dữ liệu. Với DOM người lập trình có thể xây dựng tài liệu của họ với cấu trúc xác định, thêm vào, sửa đổi hay là xoá các thành phần và nội dung. Mọi thứ tìm thấy trong HTML hoặc XML đều có thể truy cập, biến đổi, xoá hoặc thêm vào bằng cách dùng DOM. DOM được thiết kế để sử dụng với nhiều ngôn ngữ lập trình cốt để cung cấp một ngôn ngữ xác định độc lập, đưa ra giao diện của DOM. W3C định nghĩa rất nhiều cấp độ cho mô hình DOM [1, 13]:
- Level 0 : là đặc tả DOM không chính thức, khởi đầu của mô hình DOM áp dụng cho các trình duyệt thông dụng trước đây là Netscape navigator 3.0 và IE 3.0
- Level 1 : Đặc tả và định nghĩa mô hình DOM ở cấp độ này được cài đặt và sử dụng nhiều nhất. DOM ở cấp độ này tập trung vào sự kết hợp giữa tài liệu HTML và XML.
- Level 2 : Cấp độ nâng cao này chỉ đang là ứng viên được W3C xem xét. Mô hình DOM ở cấp độ 2 mở rộng cho phép bạn sử dụng không gian tên và kết hợp với mô hình định kiểu như CSS hay XSL.
- Level 3 : Cấp độ này chỉ đang ở mức hoạch định. Nó cho phép nạp, xử lí, lưu lại mô hình nội dung tài liệu ( như các định nghĩa DTD và lược đồ XML ).