IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[xsl1-1 et xsl-fo] besoins d'aide sur une gestion d'index


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [xsl1-1 et xsl-fo] besoins d'aide sur une gestion d'index
    Bonjour à tous,
    je sollicite votre aide au sujet d'un problème qui prend trop la tête depuis quelques jours. En plus je ne sais pas quoi chercher pour le résoudre.
    En fait j'ai un xml qui contient des termes d'index:
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    <classeur>
    <doc num="A">
    	contenu, contenu, etc.
    	<indexterm>
    		<tg>termX
    		<ts>sous-termX</ts>
    		</tg>
    		<tg>termY</tg>
    	</indexterm>
    </doc>
    <doc num="B">
    	contenu, contenu, etc.
    	<indexterm>
    		<tg>termX
    		<ts>sous-termZ</ts>
    		</tg>
    		<tg>termY</tg>
    	</indexterm>
    </doc>
    <doc num="C">
    	contenu, contenu, etc.
    	<indexterm>
    		<tg>termZZ
    		<ts>sous-termZZ</ts>
    		</tg>
    		<tg>termYY</tg>
    	</indexterm>
    </doc>
    <!--ici je recupere tous les termes en filtrant les doublons-->
    <pageIndex>
    	<tg>termX
    		<ts>sous-termX</ts>
    		<ts>sous-termZ</ts>
    	</tg>
    	<tg>termZZ
    		<ts>sous-termZZ</ts>
    	</tg>
    	<tg>termY</tg>
    </pageIndex>
    </classeur>
    mon objectif c'est avec xsl 1.1 de générer un index. mon xsl ressemble à ça:
    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
    26
    27
    28
    29
    30
    31
    32
    33
     
    <xsl:template match="indexterm">
    	<fo:wrapper>
    		<xsl:attribute name="index-key"><xsl:value-of select="normalize-space(tg)"/><xsl:text>;</xsl:text><xsl:value-of select="normalize-space(ts)"/></xsl:attribute>
    	</fo:wrapper>
    </xsl:template>
     
    <xsl:template match="pageIndex/tg">
    		<fo:block>
    			<fo:inline>
    				<xsl:value-of select="./text()"/>
    			</fo:inline>
    			<xsl:for-each select="ts">
    				<fo:block>
    					<xsl:apply-templates/>
    					<fo:leader leader-pattern="dots" leader-length.maximum="100%" keep-with-previous.within-line="always"/>
    						<fo:index-page-citation-list merge-sequential-page-numbers="merge" merge-pages-across-index-key-references="merge" merge-ranges-across-index-key-references="merge">
    							<fo:index-key-reference page-number-treatment="link">
    								<xsl:attribute name="ref-index-key">
    								<xsl:value-of select="normalize-space(tg)"/><xsl:text>;</xsl:text><xsl:value-of select="normalize-space(ts)"/>
    								</xsl:attribute>
    								<fo:index-page-number-prefix>
    									<fo:inline>
    									Ici je veux récupérer la lettre du chapitre parent du inexterm appelé
    									</fo:inline>
    								</fo:index-page-number-prefix>
    							</fo:index-key-reference>
    						</fo:index-page-citation-list>
    					</fo:inline>
    				</fo:block>
    			</xsl:for-each>
    		</fo:block>
    	</xsl:template>
    Au final, je dois avoir
    terme de l'index......B.2, B.4
    terme de l'index......A.3, B.8
    etc.

    Les numéros de pages sont récupérer très bien.
    ce que je n'arrive pas à faire c'est récupérer la lettre du chapitre père de mon terme d'index. Pourquoi? parce que simplement quand je vais générer mon xml en fin de mon classeur, je supprime les doublons en même temps. Du coup chaque terme apparait une fois dans la partie "PageIndex" mais apparaît plusieurs fois dans le document.
    Si ça vous dit, je vous remercie beaucoup par avance de votre aide.
    Merci beaucoup par avance

  2. #2
    Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    J'ai trouvé.
    J'ai mis <fo:folio-prefix/> dans ma page-sequence, du coup les lettres apparaissaient en préfixe des numéros de page dans tout mon document et quand je génère mon index les lettres viennent avec le numéro de la page.
    Merci à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL] Besoin d'aide sur une requête
    Par Angath dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/01/2006, 16h26
  2. besoin d'aide sur une requette sql
    Par maxidoove dans le forum Langage SQL
    Réponses: 13
    Dernier message: 10/10/2005, 18h42
  3. Besoin d'aide sur une fonction
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/08/2005, 17h40
  4. Réponses: 1
    Dernier message: 03/08/2005, 11h41
  5. Besoin d'aide sur une requête (JOIN + COUNT ?)
    Par PanzerKunst dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/06/2005, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo