Modifications de la mise en page
Lorsque vous utilisez un script XML pour mettre à jour une page existante à l'aide d'une nouvelle mise en page, vous créez ou mettez à jour des éléments enfant de type component pour l'élément content-node de la page. Normalement, vous utilisez le script XML pour définir une mise en page totalement nouvelle plutôt que pour combiner la mise en page existante avec vos nouvelles définitions. Dans ce cas, l'interface de configuration XML applique un traitement spécial.
Une fois qu'elle a mis à jour la mise en page, elle supprime tous les composants de la page qui existaient auparavant mais qui n'ont pas été mis à jour par le script. La page contient alors uniquement les composants de mise en page spécifiés dans le script XML et aucun reste de sa mise en page antérieure. Dans le cas contraire, vous risqueriez d'obtenir des structures de composants non valides.
Cela signifie en particulier que si vous mettez une page à jour en mode de génération d'ID, tous les composants existants de la page sont supprimés et une nouvelle mise en page est créée, même si la nouvelle mise en page est identique à la précédente. Cela est dû au fait que les composants ne peuvent être recherchés que par leur ID objet et que la recherche par ID objet n'est pas possible en mode de génération d'ID. Par conséquent, tous les composants spécifiés dans le script XML sont créés, car ils sont introuvables pour la mise à jour, et tous les composants existants sont supprimés car ils n'ont pas été mis à jour.
Si vous souhaitez mettre à jour des composants spécifiques sur la page, sans supprimer la mise en page existante, vous pouvez désactiver ce traitement particulier en spécifiant l'attribut preserve-old-layout="true" pour le nœud de contenu.