align="justify">
Макровизначення часто використовуються для опису параметрів в правилах атрибутів. У цьому випадку з'являється можливість використовувати однакові визначення атрибутів для різних елементів:
Типізація даних. Досить часто при створенні XML-елемента розробнику потрібно визначити, дані якого типу можуть використовуватися в якості його вмісту. Тобто якщо ми визначаємо елемент 10.10.98 , то хочемо бути впевненими, що в документі в цьому місці буде знаходитися рядок, що представляє собою дату, а не число або довільну послідовність символів. Використовуючи типізацію даних, можна створювати елементи, значення яких можуть використовуватися, наприклад, в якості параметрів SQL-запитів. Програма клієнт в цьому випадку повинна знати, до якого типу даних відноситься поточне значення елемента і в разі відповідності формує SQL-запит. p align="justify"> Якщо в якості програми на стороні клієнта використовується верифікують XML-процесор, то інформацію про тип можна передавати за допомогою спеціально створеного для цього атрибута елементу, що має відповідне DTD-визначення. У процесі розбору програма-аналізатор передасть значення цього атрибута клієнтського додатку, яке зможе використовувати цю інформацію належним чином. Наприклад, щоб вказати, що вміст елемента має бути довгим цілим, можна використовувати наступне DTD-визначення:
Задавши атрибуту значення за замовчуванням LONG і визначивши його як FIXED, ми дозволили тим самим програмі-клієнту отримати необхідну інформацію про тип вмісту даного елемента, і тепер вона може самостійно визначити відповідність типу цього вмісту вказаною в DTD- визначенні. p align="justify"> Ось приклад XML-документа, в якому використовуються кілька елементів з різними типами даних: