Esetenként előfordul, hogy bizonyos feltételek alapján másképpen szeretnénk megjeleníteni a szövegünket. Sőt, olyan is előfordul, hogy más szöveget szeretnénk megjeleníti. Erre szolgálnak a jelölt részek (marked sections).
<![INCLUDE [ keys are boxed, such as <key>F1</key> ]] > <![IGNORE [ keys are blue inside brackets, such as <key>F1</key> ]] >
Az INCLUDE és az IGNORE SGML kulcsszavak, amelyek arra utasítják az SGML rendszert, hogy valamit feldolgozzanak, vagy kihagyjanak. A jelölt részek tartalmazhatnak szöveget és markup tagokat is.
Persze ezt (is) lehet automatizálni:
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.0//EN" [ ... <!ENTITY % hardcopy "INCLUDE"> <!ENTITY % softcopy "IGNORE"> ...]> ... <![%hardcopy; [ keys are boxed, such as <key>F1</key> ]] > <![%softcopy; [ keys are blue inside brackets, such as <key>F1</key> ]] >
Most már csak egyetlen helyen kell átírnunk az INCLUDE/IGNORE párt, ha pl. a nyomtatott verzióról át akarunk térni az elektronikus verzióra.
Elvileg a jelölt részek egymásba ágyazhatóak. A gyakorlatban azonban az SGML processzorok jó része hibázik, ezért kerüljük el ezt a technikát.
Nem igazán támogatottak a szabványos XML-ben.