за допомогою інструкції! ENTITY:
br/>
Програма-аналізатор, переглядаючи в першу чергу вміст області DTD-визначень, обробить цю інструкцію і при подальшому розборі документа буде використовувати вміст DTD-компонента в тому місці, де буде зустрічатися його назву. Тобто тепер в документі ми можемо використовувати вираз & hello, яке буде замінено на рядок "Ми раді вітати Вас"
У загальному випадку, усередині DTD можна задати три типи макровизначень:
Внутрішні макроозначення - призначені для визначення строкової константи, з їх допомогою можна організовувати посилання на часто змінну інформацію, роблячи документ більш читабельним. Внутрішні компоненти включаються в документ за допомогою амперсанта &
У XML існує п'ять попередньо внутрішніх символьних констант:
В· & amplt - символ "<"
В· & ampgt - символ">"
В· & ampamp - символ "&"
В· & ampapos - символ апострофа "& apos"
В· & ampquot - символ подвійної лапки "" "
Зовнішні макроозначення - вказують на вміст зовнішнього файлу, причому цим вмістом можуть бути як текстові, так і двійкові дані. У першому випадку в місці використання макросу будуть вставлені текстові рядки, у другому - бінарні дані, які аналізатором не розглядаються і використовуються зовнішніми програмами
Макровизначення правил - макроозначення параметрів можуть використовуватися тільки всередині області DTD і позначаються спеціальним символом%, що вставляються перед назвою макросу. При цьому вміст компонента буде поміщено безпосередньо в текст DTD-правила. Наприклад, для наступного фрагмента документа:
можна використовувати більш коротку форму запису: