Pour info : petit bug moteur XSL Builder

Bonjour,

Mon message est pour ceux d’entre vous qui dérivent un modèle sous Buillder 6.2 et peut-être 6.3 mais je n’ai pas testé.

Dans ma dérivation j’avais besoin dans mon modeletImporter de lancer un overwrideItemByXsl sur l’item clozeTxt.model d’Opale 5.0. Et pas moyen que ça se passe comme prévu. J’avais bien ajouté le petit correctif concernant la remonter du xmlns:sc dans un petit bout de xsl comme préconisé à cause d’un souci de moteur xsl sous builder 6.2
Le code xsl était

  <!-- template nécessaire à cause d'un bug du moteur XSL de Builder 6.2 -->
  <xsl:template match="/*">
    <xsl:copy>	
      <xsl:attribute name="xmlns:sc">http://www.utc.fr/ics/scenari/v3/core</xsl:attribute>
    </xsl:copy>
  </xsl:template>

Après plusieurs essais j’ai finalement trouvé que dans ce cas il fallait aussi rajouter l(attribut concernant le namespace « sext ».

Ce qui donne le code suivant :

  <!-- template nécessaire à cause d'un bug du moteur XSL de Builder 6.2 -->
  <xsl:template match="/*">
    <xsl:copy>	
      <xsl:attribute name="xmlns:sc">http://www.utc.fr/ics/scenari/v3/core</xsl:attribute>
      <xsl:attribute name="xmlns:sext">http://www.utc.fr/ics/scenari/v3/modeling/extension</xsl:attribute>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>

En l’absence de cette ligne la transformation xsl mets l’item en erreur avec un namespace du style : xmlns:sext=« sext »

Bon à savoir. J’avais bien noté pour le namespace « sc » mais pas eu le reflex pour celui-là.

Cordialement
Franck

2 « J'aime »

Ça va certainement en aider plus d’un⋅e. Merci !