Re: supprimer une balise précèdent une autre
"Jean-Marc Desprez" <[email protected]>
| Newsgroups | gmane.text.xml.french.tech |
|---|---|
| Message-ID | <[email protected]> |
Bonjour, Merci beaucoup <xsl:template match="fo:block[following-sibling::fo:block[1]/fo: > leader[@line-height='0pt' and fo:leader/text() = '']]"/> Les explications sont très clair et j'ai compris le principe pour "factoriser" un morceau d'expression xpath redondant Une première façon de faire est de travailler en "pas à pas" un peu > comme je le montre dans http://xmlfr.org/documentations/faq/010103-0001. > > On peut également essayer de procéder différemment. > > Dans le tableau suivant, j'ai indiqué en (1) le nombre d'élements > précédents qui ne sont pas des fo:block et en (2) le nombre d'élements > précédents le prochain élément "marqueur" ne sont pas des fo:block... > > (1)(2) > > 0 <fo:table/> > 1 <fo:block><fo:leader line-height="0pt"/></fo:block> > 1 1 <fo:block>...<fo:block> > 1 <fo:block><fo:leader line-height="0pt"/></fo:block> > 1 2 <fo:block>...<fo:block> > 1 <fo:table/> > 2 2 <fo:block>...<fo:block> > 2 2 <fo:block>...<fo:block> > 2 2 <fo:block><fo:leader line-height="0pt"/></fo:block> > > Sauf erreur de ma part, on veut enlever les éléments fo:block "non > marqueurs" pour lesquels les deux valeurs sont égales. > > Cela peut s'exprimer en XPath et s'utiliser soit directement soit avec > une clé, un peu comme on le fait pour filtrer les doublons (cf > http://xmlfr.org/documentations/faq/050331-0001). oui c'est exactement ce que je veux faire Je vais étudier les deux liens que vous avez fournis Merci encore, Cordialement Jean-Marc