Espace blanc  

XML 1.0 définit un espace blanc comme un espace, une tabulation, un retour chariot ou un interligne. XML 1.1 inclut également le caractère de nouvelle ligne NEL (#x85) et le séparateur de ligne Unicode (#x2028) dans les espaces blancs. L'espace blanc a la même fonction dans XML que dans la plupart des langages naturels et de programmation : séparer des jetons et des éléments de langage les uns des autres. Pour un analyseur XML, tous les espaces blancs du contenu d'un élément ont une signification et seront transmis à l'application cliente. Les espaces blancs figurant dans les balises, par exemple entre des attributs, n'ont pas d'importance. Prenons l'exemple suivant :

<p>  This sentence has extraneous 
  line breaks.</p>

Après analyse, les données de caractère de l'élément de cet exemple sont transmises à l'application sous-jacente comme suit :

   This sentence has extraneous
line breaks.

Même si XML spécifie de conserver tous les espaces blancs du contenu d'un élément pour être utilisés par l'application cliente, l'auteur XML dispose d'une autre fonction pour mieux indiquer de conserver le formatage et l'espace de données de caractère d'un élément. Pour plus d'informations, voir la présentation de l'attribut xml:space dans >Attributs spéciaux , ci-après dans le présent chapitre.

Pour simplifier la vie des développeurs de logiciel, les analyseurs sont supposés normaliser toutes les occurrences de caractère de retour chariot (#xD) en un caractère d'interligne unique (#xA). Lorsque le caractère de retour chariot apparaît directement avant l'interligne, il est simplement supprimé. Le document contient alors uniquement des caractères d'interligne unique pour signaler les fins de ligne. Dans XML 1.1, cette normalisation s'applique également aux caractères Unicode #x85 (NEXT LINE, NEL) et #x2028 (LINE SEPARATOR).