Gérer une fichothèque avec le logiciel BDF

Peut-on écrire directement du HTML dans un champ de texte ?

La réponse est à la fois oui et non.

Non, car la syntaxe HTML n’est pas reconnue lorsque l’on écrit un paragraphe de texte standard. La raison en est que les sections de texte sont enregistrés dans un format XML spécifique, une sorte de XHTML simplifié, conçu pour pouvoir être traité facilement et générer aussi bien du XHTML que le XML du format OpenDocument. Sa principale différence avec le XHTML est de ne pas permettre l’imbrication de balises (pas de <em><strong></strong></em> par exemple).

Oui, car il existe un moyen d’indiquer une zone spéciale qui contient des données HTML brutes en signalant le début et la fin de cette zone avec la séquence de caractères ???. Les données dans cette zone seront affichées telles quelles. Ce type de zone est notamment utilisé pour l’insertion d’une vidéo. Il faut noter que le contenu de cette zone ne sera pas récupéré dans une transformation au format ODT.

Exemple de zone de données HTML brutes
???
<p>Ici <strong> on peut <em> faire </em></strong> une soupe de <span style="color: red">balises
<p>sans rien</span> fermer</div>
???

Ici on peut faire une soupe de balises

sans rien fermer

Résultat de l’exemple précédent

Il faut préciser que ces données subissent un traitement vérifiant la validité du code HTML, en particulier des balises fermantes orphelines ce qui permet d’éviter des interférences avec le reste du HTML. Dans notre exemple, les balises </div> et </span> sont supprimées et le code devient :

???
<p>Ici <strong> on peut <em> faire </em></strong> une soupe de <span style="color: red">balises </span></p>
<p>sans rien fermer</p>
???

Comme ce type d’insertion est surtout utilisé pour des vidéos, le code HTML est intégré au sein d’une balise HTML5 <figure>. Il est possible d’éviter ce traitement et d’afficher tel quel le HTML brut en donnant à cette zone l’attribut [(variant=raw)] comme ci-dessous :

[(variant=raw)]
???
<p>Ici <strong> on peut <em> faire </em></strong> une soupe de <span style="color: red">balises </span></p>
<p>sans rien fermer</p>
???
Fiches voisines