Bonjour,

voila mon probleme:
je genere une liste de note du type:

1. blabla
blalaal
2. iosgqh
2.1 kghfkwgh
2.2 hdflsgsf
3.pjdhpsh
3.1 dmsh
3.2 phgsd
dhfssjmh
3.3 jmxgjfgn
etc...
Je suis arrivé a faire afficher le 1, 2, 3 avec la commande number.
mais je n'arrive pas à afficher le 2.1, 2.2,etc...
mon fichier XML se presente comme ca:

<meldef>
<def>
<para> texte </para>
<subdef>
<sdef>
<para> texte</para>
<para> texte</para>
<para> texte</para>
<para> texte</para>
</sdef>
</subdef>
</def>
</meldef>

Voila si quelqu'un pourrait me donner des conseils

merci à tous
Atoila
slt,

XSLT est récursive.

Ton document XML n'est pas claire et certainement malformer.

Deux balises "subdef" et "sdef" ??
Donne un exemple XML avec son XSL (template).

A+
Modifié par sylvain38 (06 Jun 2006 - 18:14)
Bonjour,

mon code xml:

<meldef>
<def>
	<para>The System numbers are based on the Air Transport Association (ATA), Specification Number 100.</para>
</def>
</meldef>
<meldef chg="U" key="ze" revdate="20050603" tsn="2">
<def>
	<para>The MMEL book consists of two inseparable documents:</para>
	<para>The first document is referenced DGT88389 and is recommended for approval by the JAA.</para>
	<para>The second document titled MAINTENANCE AND OPERATING PROCEDURES FOR MMEL is referenced DGT88390 and is only reviewed by the JOEB Team.</para>
	<subdef>
		<sdef>			
			<para>The document DGT88389 contains two sections:</para>
			<para>The section labelled GENERAL...</para>
			<para>The section labelled MMEL ITEM LIST...</para>
			<para>The document DGT88390 contains two sections:</para>
			<para>The section labelled OPERATING PROCEDURES ...</para>
			<para>The section labelled MAINTENANCE PROCEDURES ...</para>
		</sdef>
	</subdef>
</def>
</meldef>


et voici le xsl que j'ai fait:

<xsl:for-each select="meldef/def">
			<fo:block margin-left="8mm">
			<xsl:number level="any" from="para/super"/>			
			<xsl:for-each select="para">
				<fo:block space-after="7mm" space-before="-5mm" font-size="11pt" margin-left="15mm">
					<xsl:apply-templates/>
				</fo:block>			
			</xsl:for-each>
			</fo:block>
</xsl:for-each>


avec ce code xsl j'arrive à afficher les 1, 2, 3 pour les paragraphe mais je ne trouve pas pour les 1.1, 2.1, etc.

merci par avnce Smiley cligne
A+
Modifié par atoila (07 Jun 2006 - 08:41)
slt,

voici le code XML que je te propose:


<meldef>
	<para>text 1</para>
</meldef>
<meldef chg="U" key="ze" revdate="20050603" tsn="2">
	<para>text 1</para>
	<para>text 2</para>
	<para>text 3</para>
	   <meldef>			
		<para>stext 1</para>
		<para>stext 2</para>
	        <para>stext 3</para>
		<para>stext 4</para>
	        <para>stext 5</para>
		<para>stext 6</para>
	   </meldef>
</meldef>


Maintenant le code XSL:

<xsl:apply-templates select="meldef"/>


<xsl:template match="meldef">
    <fo:block margin-left="8mm">
	<xsl:number level="any" from="para" format="1"/>
        <xsl:apply-templates mode="sub"/>
   </fo:block>
</xsl:template>

<xsl:template match="meldef"  mode="sub>
        <xsl:number level="any" from="para" format="1.1"/>
        <xsl:apply-templates mode="sub"/>
</xsl:template>

<xsl:template match="para" mode="sub">
<fo:block space-after="7mm" space-before="-5mm" font-size="11pt" >
	<xsl:apply-templates />
</fo:block>	
</xsl:template>



Test ce code. Je n'ai pas pu le tester Smiley confus
Essaye de ne pas utiliser "XSL:For-each"
Regarde la commande "xsl:number" le "format"
Tiens moi au courant.
Modifié par sylvain38 (07 Jun 2006 - 18:14)
Salut

Merci mais je ne peux pas changer mon XML.
Ton code doit marcher mais pas avec mon XML

Je vais essayer de le modifier un peu

Merci quand même. Smiley cligne
Modifié par atoila (08 Jun 2006 - 08:36)