Bonjour,
Je suis nouveau, soyez indulgents..
J'ai developpé un mini-site en IIS, avec Windows xp Pro, en XML,ASP,XSL,CSS et
Javascript(externe)..(et des scripts "VBscript" inclus dans mes XSL)
"
je voudrais passer sur Apache, et donc en XMLT, j'ai donc creer mes PHP à la place des ASP et
tout fonctionne normalement..
mais dès que j'utilise des fonctions "VBscrit" il me sort une erreur du style
Warning: Sablotron error on line XXX: invalid namespace prefix 'user:retcol'
avec un code d'erreur : 24
==========================================
je vous donne un exemple de files....
j'ai un fichier XML ...normal
dans mon fichier PHP,
je défini mon fichier CSS, et mon fichier Javascript
1 2 3 4 5 6 7
| <HTML>
<HEAD>
<TITLE>XXX XXXX</TITLE>
<META NAME="Author" CONTENT="LLLLL MMMMM">
<META http-equiv="Content-Language" content="fr">
<link rel="stylesheet" type="text/css" href="../JL_W_CSS/JL_mainstyle.css" />
<script language="JavaScript" src="JL_Y-Javascript/LM_Java.js"></script> |
j'ouvre bien mes fihiers XML et XSL
1 2 3 4 5 6 7 8 9 10
| <?php
$xh = xslt_create();
$file=fopen("../JL_XML/JL_ArbreGene.xml","r");
$xml=fread($file,500000);
fclose($file);
$file=fopen("JL_ArbreGeneDetail.xsl","r");
$xsl=fread($file,128000);
fclose($file); |
je défini aussi mes variables (parametres) de transfert...
1 2 3 4
| if(isset($_GET['txtParam']))
$xslt_params["Param"] = $_GET['txtParam'];
else
$xslt_params["Param"] = ""; |
et je ferme mon fichier
1 2 3 4 5 6 7 8 9 10 11 12
| $arguments = array(
'/_xml' => $xml,
'/_xsl' => $xsl
);
$result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments,$xslt_params);
xslt_free($xh);
print "$result";
?>
</BODY>
</HTML> |
c'est, je pense dans mon fichier XSL que je dois avoir un PB
en voilà un exemple avec une petite fonction VBscript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <?xml version="1.0" encoding="ISO-8859-1" ?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="user:schemas-microsoft-com:xslt"
version="1.0">
<xsl:output method="xml" encoding="ISO-8859-1" indent="yes"/>
.
.
<msxsl:script language="vb" implements-prefix="user">
<![CDATA[
dim booWhite
booWhite=true
function RetCol()
RetCol=booWhite
end function
]]>
</msxsl:script> |
==== mes paramètres de transfert...que j'ai défini dans mon PHP
1 2 3 4 5 6 7 8
| <xsl:param name="Param1" />
<xsl:param name="Param2" />
.
.
<xsl:template match="/ROOT">
.
.
. |
==== lorsque je veux executer la fonction???
<xsl:value-of select="user:retcol()" />
==== j'ai don l'erreur citée plus haut.
Je ne suis pas arrivé à trouver la solution!!
est ce que c'est possible d'utiliser vbscript??
Enfin MERCI d'avance, si vous me trouviez une solution sans être obligé de tout réécrire !!!
Partager