Les sections conditionnelles permettent d'inclure ou d'ignorer des portions de déclarations dans la DTD (Document Type Definition).

L'instruction suivante permet d'inclure le bloc de déclarations dans la DTD.

<![INCLUDE Bloc_Déclarations...]]>

L'instruction suivante permet d'ignorer le bloc de déclarations dans la DTD.

<![IGNORE Bloc_Déclarations...]]>

Il est possible de substiturer la directive INCLUDE ou IGNORE par une entité paramètre, déclarée par l'instruction ENTITY.

De cette façon, l'entité paramètre pourra prendre comme valeur INCLUDE ou IGNORE afin d'inclure ou d'ignorer la section concernée.

<!ENTITY % directive "INCLUDE"> <![%directive; Bloc_Déclarations...]]>

Si une DTD externe est utilisée pour plusieurs documents XML, l'entité paramètre déclarée dans la sous-DTD interne combinée avec les sections conditionnelles déclarées dans la DTD externe permettent d'adapter cette dernière à tous les documents XML.

Exemple :
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE document SYSTEM "definition.dtd" [
  <!ENTITY % directive "IGNORE">
]>
<!-- document.xml -->
<document>
  ...
</document>

<?xml version="1.0" standalone="yes"?>
<!DOCTYPE document SYSTEM "definition.dtd" [
  <!ENTITY % directive "INCLUDE">
]>
<!-- snd_document.xml -->
<document>
  ...
</document>
<!-- definition.dtd -->
<!ELEMENT document ANY>
<![%directive; Bloc_Déclarations...]]>