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

l'élément à parser :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<text line-feed="false" bold="true">some text</text>
l'élément text peut avoir plusieurs attribut, celui qui me pose problème est le line-feed.

Voici le xsl qui se charge du parsing
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
<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'"><fo:block></fo:block></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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<text base-line="SUPER" symbol-family="BODY_TEXT" symbol-value="00AE"/>
l'XSl :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
	<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.