Bonjour,
je suis en train de modifier un code xsl qui n'est pas le mien, pour les besoin d'une lib, et je desirerai avoir le moins de changement pour le probleme qui suit (en particulier, pas de changement de design).
Le programme cree a partir d'un fichier de description en xml des fichies en C. Il stocke dans le fichier xsl les types utilises dans le programme, de cette maniere :
Ensuite, les types sont utilises ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <xsl:variable name="core-types-rtf"> <type name="BOOL" /> <type name="BYTE" /> <type name="CARD8" /> <type name="CARD16" /> <type name="CARD32" /> <type name="INT8" /> <type name="INT16" /> <type name="INT32" /> </xsl:variable> <xsl:variable name="core-types" select="e:node-set($core-types-rtf)" />
le type est donc stocke a l'avant-derniere ligne
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 <xsl:template name="canonical-type-name"> <xsl:param name="type" select="string(@type)" /> <xsl:variable name="is-unqualified" select="not(contains($type, ':'))"/> <xsl:variable name="namespace" select="substring-before($type, ':')" /> <xsl:variable name="unqualified-type"> <xsl:choose> <xsl:when test="$is-unqualified"> <xsl:value-of select="$type" /> </xsl:when> <xsl:otherwise> <xsl:value-of select="substring-after($type, ':')" /> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:choose> <xsl:when test="$is-unqualified and $core-types/type[@name=$type]"> <xsl:value-of select="$type" /> </xsl:when> etc...
Ce que j'aimerais faire est non pas utiliser $type, mais d'autres noms (qui sont en fait les types definies par la norme C99). J'ai essaye de mettre un champ newname ainsi :
mais je n'ai pas reussi a l'utiliser correctement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3<type name="BOOL" newname="bool8_t" /> etc...
Quelqu'un aurait-il une idee, soit comment utiliser ce champ newname, soit une autre methode pour echanger les types ci-dessus par les autres types ?
merci
Vincent Torri
Partager