Bonjour,

J'essaie de d’exécuter un VBScript au sein d'un XSLT en vain, le but étant d'aller chercher des informations dans un objet COM (CATIA) pour s'en servir dans une fonction java.

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
42
43
44
45
46
47
 
<?xml version="1.0" encoding="UTF-8"?>
 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt"
 
  xmlns:lxslt="http://xml.apache.org/xslt"
  xmlns:PP="ARC-LH-COMAU"
 
  xmlns:my="urn:my-namespace"
  extension-element-prefixes="PP">
 
 
  <lxslt:component prefix="PP" functions="comau" elements="">
    <lxslt:script lang="javaclass" src="cmp.delmia.tools.ARC_LH_COMAU"/>
  </lxslt:component>  
 
  <msxsl:script language="VBScript" implements-prefix="my"><![CDATA[
 function xmlFileDirectory(task)
 
    Set CATIA = Wscript.GetObject(,"CATIA.Application")
 
 
    Set myProcess = CATIA.ActiveDocument
    Set mySP = myProcess.PPRDocument.Resources.Item(1)
    Set myProductRobot = mySP.Products.Item(1)
    Set RPM = myProductRobot.GetTechnologicalObject("ResourceProgramManager")
 
 
    RPM.GetTask task, oTask
 
     Set oOlp = myProductRobot.GetTechnologicalObject("OLPTranslator")
 
     xmlfileDirectory=oOlp.GetXMLFileDirectory
 end function
  ]]> </msxsl:script>
 
  <xsl:variable name="srcPath" select="/OLPData/Resource/GeneralInfo/TempPath"/>
  <xsl:variable name="TaskName" select="/OLPData/Resource/ActivityList/@Task"/>
  <xsl:variable name="destPath" select="my:xmlFileDirectory $TaskName"/>
 
 
  <xsl:template match="OLPData">
 
        <xsl:value-of select="PP:comau($destPath,$srcPath)"/>
 
  </xsl:template>
</xsl:stylesheet>
Je précise que le code vbscript s'éxécute très bien à partir d'un fichier VBS.

Merci d'avance à toutes les bonnes âmes passant par là.