2010-01-11 2 views

Répondre

3

à l'aide

<xsl:strip-space elements="*"/> 

est une bonne idée.

Alors spécifie les détails de la sortie:

<xsl:output 
    indent="no" 
    method="html"/> 

Si ce qui précède ne sont pas encore assez bon, vous pouvez essayer de modifier le traitement des text() noeuds (penser le long des lignes du schéma de DocBook, où tout texte vous vouliez explicitement serait dans <para/> balises, ou similaire):

<xsl:template match="chapter/text()"/> 

vous pouvez simplement utiliser match="text()" mais cela pourrait être trop agressif car il est très vague - il tue pas nécessairement le texte vous voulez (encore une fois, dans vos balises <para/>, ou similaire) car ces nœuds de texte seront probablement traités implicitement par les modèles intégrés de XSLT.

8

Vous devriez pouvoir utiliser strip-space:

<xsl:strip-space elements="*"/> 
1

Vous devriez aller avec

<xsl:strip-space elements="*"/> 
2

xsl:strip-space dépouillera vous laisser sortir les espaces de l'arbre résultat. Assurez-vous également de ne pas générer d'espace supplémentaire dans la feuille de style. Cela est, assurez-vous au lieu de quelque chose comme

<xsl:value-of select="@key"/> 
: 
<xsl:value-of select="@value"/> 

utilisation xsl:text

<xsl:value-of select="@key"/> 
<xsl:text>: </xsl:text> 
<xsl:value-of select="@value"/> 
Questions connexes