J'ai un xml/tei commeComment « l'effondrement », mais pas « normaliser » dans XLST
<p> In trattoria scoprii che c'era <del rend="tratto a matita">anche</del> Mirella,
non la non vedevo da almeno sei anni.
La spianata dava infatti l'impressione di fango secco, <del rend="matita">divorato
dalle rughe</del><add place="margine sinistro" rend="matita">attraversato da
lunghe ferite nere</add>. Lontano si vedeva una montagna di creta dello
stesso colore della mota. </p>
J'utilise cette feuille de style pour éliminer les espaces blancs, aussi bien entre les éléments et à l'intérieur des noeuds de texte.
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="*">
<xsl:copy>
<xsl:for-each select="@*">
<xsl:attribute name="{name()}">
<xsl:value-of select="normalize-space()"/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="text()">
<xsl:value-of select="normalize-space()"/>
</xsl:template>
Tout va bien exepté le fait que l'espace normalise() Retire également leader et espaces blancs alignées à, j'ai donc un comportement undesidered comme
c'era<del rend="tratto a matita">anche</del>Mirella
Je ne peux pas exclure du contenu en mode mixte former la suppression, car mon premier besoin est de réduire espaces comme les retours, les onglets, l'identification à l'intérieur, par exemple, l'élément <p>
.
Existe-t-il un moyen/une fonction/astuce pour réduire plusieurs espaces dans un seul espace sans supprimer les espaces de début et de fin?
Merci. Cela a fonctionné mais avec select = "replace (., '(\ S \ s +)', '')" – Mycol
Excellent. Je serais intéressé de savoir ce que vous utilisez pour traiter le XSLT car je ne suis pas sûr à 100% que c'est entièrement portable. –
Saxon 9.2 Édition familiale – Mycol