[XSL] Je capte pas là ...

Statut
N'est pas ouverte pour d'autres réponses.

AcidBird

Elite
Bonjour,

je travaille sur le parsing d'un document Xml afin de générer un fichier fo et il ya 2 petites choses qui m'échappent :oops:

l'élément à parser :
Code:
<text line-feed="false" bold="true">some text</text>
l'élément text peut avoir plusieurs attributs, celui qui me pose problème est le line-feed.

Voici le xsl qui se charge du parsing
Code:
<xsl:template match="text">
		<xsl:call-template name="formatting-text">
			<xsl:with-param name="contents" select="."/>
			<xsl:with-param name="attributes" select="@*[name() != 'line_feed']"/>
		</xsl:call-template>
		
		<xsl:if test="@line_feed = 'true'"><fo:block></fo:block></xsl:if>
		
	</xsl:template>
	

	
	<xsl:template name="formatting-text">
		<xsl:param name="contents"/>
		<xsl:param name="attributes" select="false()"/>	
				<fo:inline>
					<xsl:for-each select="$attributes">
						<xsl:apply-templates select=".">
							<xsl:with-param name="contents" select="."/>
						</xsl:apply-templates>
					</xsl:for-each>
				<xsl:value-of select="$contents"/>
				</fo:inline>	
	</xsl:template>
Quelqu'un pourrait-il m'expliquer pourquoi le test <xsl:if test="@line_feed = 'true'":colere:fo:block:colere:/fo:block:colere:/xsl:if> ne fonctionne pas ?

Autre question, bassée sur le même code, concernant les caractère spéciaux, représenté comme ceci dans l'Xml
Code:
<text base-line="SUPER" symbol-family="BODY_TEXT" symbol-value="00AE"/>
l'XSl :
Code:
	<xsl:template match="@symbol-value">
	  <xsl:param name="contents"/>	
	  	<![CDATA[&#x]]><xsl:value-of select="."/>;
	</xsl:template>
qui me donne, en sortie &#xUnicodeValue; au lieu du caractére spécial voulu.
 

vitAl

GamerZ2008
Serait temps de passer à Jasper Report mon ptit Acid :)
 

vitAl

GamerZ2008
AcidBird a dit:
Code:
<text [COLOR=Red]line-feed[/COLOR]="false" bold="true">some text</text>
Code:
<xsl:template match="text">
		<xsl:call-template name="formatting-text">
			<xsl:with-param name="contents" select="."/>
			<xsl:with-param name="attributes" select="@*[name() != '[COLOR=Red]line_feed[/COLOR]']"/>
		</xsl:call-template>
		
		<xsl:if test="@line_feed = 'true'"><fo:block></fo:block></xsl:if>
		
	</xsl:template>
GG

Merci qui :cool: ?
 
1er
OP
AcidBird

AcidBird

Elite
vitAl a dit:
GG

Merci qui :cool: ?
Tss quand je pense que c'est moi qui t'ai donné le baton ... et tout apprit (ou presque) :cool:
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut