Bonjour à tous,

J'essaie d'extraire d'un fichier au format xliff, les balises <g> mais je n'y parviens pas.

En fait, l'arbre a cette forme :

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
 
<xliff version="1.2" xmlns:cp="www.adobe.com/captivate">
 
  <file datatype="x-cp" date="2009-04-03" >
    <header>
      <tool tool-company="Adobe" tool-id="AdobeCaptivate" tool-name="AdobeCaptivate" tool-version="2.0"/>
      <count-group name="countGroup1">
        <count count-type="total" unit="trans-unit">264</count>
        <count count-type="total" unit="word">1006</count>
        <count count-type="total" unit="x-cp-slides">22</count>
      </count-group>
    </header>
    <body>
      <group cp:datatype="x-object" extype="4" id="10001" restype="x-cp-project">
        <group cp:datatype="x-property" datatype="plaintext" extype="73" restype="x-cp-project-exp-line-1">
          <trans-unit id="10001-73">
            <source>Début</source>
          </trans-unit>
        </group>
        <group cp:datatype="x-object" extype="11" id="10026" restype="x-cp-slides">
            <group cp:datatype="x-property" datatype="plaintext" extype="337" restype="x-cp-slide-label">
              <trans-unit id="73525-337">
                <source>cours 1</source>
              </trans-unit>
            </group>
            <group cp:datatype="x-object" extype="69" id="10796" restype="x-cp-items">
              <group cp:datatype="x-object" extype="19" id="10800" restype="x-cp-text-caption">
                <group cp:datatype="x-rtf" datatype="rtf">
                  <group cp:datatype="x-paragraph">
                    <trans-unit id="10800-19-1">
                      <source>
                        <g css-style="font-family:'VERDANA, nil';color:#5976AE;font-size:16.0pt" ctype="x-cp-font" id="10800-19-1-1">Course Objectives</g>
                      </source>
                    </trans-unit>
                  </group>
                </group>
              </group>
    etc.
Il y a deux type 2 textes: celui dans la balise 'source', et celui dans l'élément 'g', fils de l'élément 'source'. Je voudrais récuperer que le contenu de l'élément g sauf que à chaque fois c'est tout le contenu qui sort sous cette forme :

"264100622Débutcours 1Course Objectives"

D'ailleurs j'ai remarqué que par défaut il applique la règle:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
<xsl:template match="/">
  <xsl:apply-templates/>
</xsl:template>
et je n'arrive même pas à mettre des espaces entre les phrases dans l'output.

J'ai essayé un code du style:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<xsl:template match="group">
	<xsl:if test="@cp:datatype/text()='x-paragraph'">
		<xsl:for-each select="source/g">
		<xsl:value-of select="."/>
		</xsl:for-each>
	</xsl:if>
	<xsl:apply-templates/>
</xsl:template>
mais ça ne donne aucun résultat. Je tourne en rond.

Quelqu'un pourrait-il m'aider?

Merci

Mariane