Tu parles là du tag <!|CDATA, pas des caractères normaux, ce dernier étant ce que la DTD dénomme CDATA.
je comprend mieux
Non, pas du tout. Le problème, c'est pas d'avoir un tag <![CDATA. Le problème, c'est que tu as du texte (avec ou sans <![CDATA qui ne sont pas compris dans les balises acceptables par le tag parent. L'exemple que tu montres est du texte compris dans un tag <screen>, donc clairement, c'est pas le coupable.
ok , j'ai beau tourner et retourner le texte à partir de la 14e section, l'erreur demeure au point qu'il me falloir bientôt plus de temps pour déboguer ce fichier que de le traduire (mais c'est habituel avec docbook qui n'est clairement pas adapté aux traductions volumineuses)
je donnc à tout hasard, ce passage après la 14e section (pas jusqu"à la fin, le fichier est trop long )
<section id="navigation"><title>Navigation légèrement avancée</title> <section id="simple"><title>Navigation simple sur une ligne</title> <para> <acronym>Vim</acronym> fournit plusieurs commandes à l'aide d'une seule touche pour accèder à un caractère particulier de la ligne. Ceci couplé à une bonne utilisation des techniques d'insertion de <acronym>vim</acronym> devrait vous conduire où vous souhaitez presque sans effort. </para> <para> Nous apprendrons d'abord comment se déplacer à l'aide des mots, puisque se déplacer avec des caractères peut souvent être lent et astreignant. </para> <screen> <![CDATA[ (ptca = puts the cursor at, place le curseur à)
w - Vous mène un mot en avant. ptca au début du prochain mot. ('W' fait presque la même chose, mais pour les "mots" qui peuvent inclure des caractères spéciaux (à l'exception de 'l'espace')) e - ptca la fin de ce mot. Si le curseur est déjà à la fin de ce mot, il vous méne à la fin du prochain mot. b - recule d'un mot; ptca début du mot précédent ]]> </screen> <para> Ensuite, il est important de savoir comment accéder à des emplacements particuliers dans une ligne. Des endroits importants sont le début de la ligne et la fin de la ligne. </para> <screen> 0 - ptca début de la ligne </screen> <para> Vous vous souvenez des expressions régulières ? <acronym>Vim</acronym> essaie de faciliter le cours de l'apprentissage. Les deux commandes suivantes devraient suivre naturellement si vous pensez aux expressions régulières. </para> <screen> <![CDATA[ ^ - ptca premier caractère non-vierge de la ligne $ - ptca la fin de la ligne ]]> </screen> <para> Les commandes suivantes sont vraiment tout aussi utiles. Elles vous conduisent à la plus proche occurence d'un caractère dans une ligne particulière. </para> <screen> <![CDATA[ fx - ptca l'occurence suivante (vers l'avant) du caractère 'x' dans la même ligne. Fx - ptca l'occurence précèdente du caractère ]]> </screen> <para> Celles-ci forment également les blocs de construction toutes les fois qu'un mouvement générique est demandé—comme dans les macros. </para> </section> <section id="commande"><title>Les commandes g</title> <para> Les commandes <command>g</command>, comme je les appelle, se rapportent à un ensemble utile de commandes <command>goto</command> qui facilitent les déplacements. Les énoncer simplement devrait suffire. </para> <screen> <![CDATA[ 1G - Vous conduit au début du fichier 0G - à la fin du fichier ]]> </screen> <para> Une bonne manière de s'en souvenir est que <literal>1</literal> souvent apparait avant (vers la gauche) de <literal>0</literal> dans la rangée de nombres (au-dessus de la rangée qwerty) sur un clavier qwerty. </para> <screen> <![CDATA[ gD - vous conduit à la première occurrence (intelligente) du mot sous le curseur dans le même fichier. C'est intelligent, puisqu'en langage de programmation, cela vous conduit à la définition ou à la déclaration de la fonction ou de la variable. gj - va à la prochaine ligne. C'est semblable à j quand il n'y a pas de sauts de ligne. Quand il y a des sauts de ligne, saisir j vous conduira à la prochaine nouvelle ligne. gj vous conduira au même caractère dans la prochaine rangée. (Essayez-le.) gk - Semblable. (Pour éviter les sauts de ligne, saisissez :set nowrap) ]]> </screen> <para> Notez en effet que le <literal>g</literal> minuscule est nommé opérateur étendu chez <acronym>vim</acronym>. Il fait bien plus qu'un simple <command>goto</command>. En effet, l'utilisateur peut consulter <command>:help g</command> pour plus d'informations. Je mentionnerai quelques uns utiles : </para> <screen> <![CDATA[ gf - Ouvre le nom de fichier sous le curseur ga - Écrit la valeur ascii du caractère sous le curseur. gs - Arrête vim pendant 1 seconde. Évidemment, comme la plupart des commandes vim, on peut préfixer ceci avec un nombre pour obtenir une commande générale de mise en sommeil. ]]> </screen> </section> <section id="marqueur"><title>Balise mnémonique</title> <para> Les balises sont une particularité très utile de <acronym>vim</acronym>. Ils vous permettent de marquer votre position actuelle et de partir un instant. Vous pouvez ensuite revenir à l'ancienne position du curseur en saisissant deux clés. </para> <screen> <![CDATA[ ma - marque la position actuelle avec la lettre 'a'. `a - reviens à la marque a 'a - place le curseur au début de la ligne a :marks pour voir une liste des balises effectuées. ]]> </screen> <para> Les balises sont intelligentes. Même si vous éditez du texte avant la balise, changeant de ce fait son nombre de ligne ou si vous éditez sur la ligne elle-même (affectant le nombre de caractères), <acronym>vim</acronym> prendra en charge les balises convenablement. Vous pourrez toujours revenir à votre ancienne balise avec la même combinaison de touches. Notez que ces déplacement de balises sont souvent appelés sauts. </para> <para> Il y a quelques registres qui sont définis par défaut. J'en énumère quelques-uns d'utiles ci-dessous : </para> <screen> <![CDATA[ `` - reviens à la dernière position du curseur avant un saut. `. - reviens où était le curseur la dernière fois qu'une édition a été effectuée. Cela place le curseur au début de l'édition. '( - va au début de la phrase actuelle ') - va à la fin de la phrase actuelle '{ - va au début du paragraphe actuel '} - va à la fin du paragraphe actuel ]]> </screen> </section> <section id="ligne"><title>Se déplacer vers une ligne</title> <para> Pour aller vers la ligne <replaceable>foobar</replaceable>, saisissez simplement <userinput>:foobar</userinput> ou <userinput>foobarG</userinput>. Par exemple, pour se diriger vers la ligne 234 : </para> <screen> <![CDATA[ :234 234G ]]> </screen> <para> Je recommande vivement d'employer <command>:number</command>, parce que vous pourrez voir le numéro de ligne que vous êtes en train de saisir. </para> <para> Comme toujours, souvenez-vous que dans <acronym>vim</acronym>, si vous faîtes une erreur au milieu d'une commande, saisissez <keycap>Esc</keycap> </para> <para>
Naturellement, si vous avez été là avant et que vous y allez assez fréquemment, je vous suggérerai d'employer une balise. Quoique le dispositif ne semble pas être appréciable, il s'avère utile quand on doit déboguer des programmes. </para> </section> <section id="ecrans"><title>Navigation plein écran</title> <para> Comme cité précèdemment, un des aspects de conception de <acronym>vim</acronym> était d'autoriser vos mains à rester sur la rangée alphabétique de milieu de clavier. Ainsi, comment faîre ceci sans déplacer vos mains vers la page précèdente et la page suivante ? </para> <screen> <![CDATA[ Control+(f/F) avance d'un écran (Page suivante) Control+(b/B) recule d'un écran (Page précèdente) Control+u monte d'un demi-écran Control+d déscend d'un écran ]]> </screen> <para> Il y a une dernière chose que vous devriez savoir en matière de navigation. Au cas où le nombre de ligne ne s'affiche pas dans le fond à gauche (la règle est fixée à <foreignphrase>off</foreignphrase>), saisissez simplement <keycombo action="simul"><keycap>Control</keycap><keycap>G</keycap></keycombo>. Ceci devait vous afficher le nombre de ligne et d'autres statistiques dans la barre de statut infèrieure </para> </section> </section>