FORUM Syndrome-OC - Jacky-PC


  Programmation


  Langage interprété(Php, Perl...)


  [XML-XSL -ASP] Passage de paramètre entre asp et xsl

 




Il y a 40 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[XML-XSL -ASP] Passage de paramètre entre asp et xsl

n°2142
beef02
Lisette powwwaaaaa!!!!!!!!!!
Posté le 10-03-2004 à 12:23:44  profilanswer
 

Bonjour à tous, alros j'ai un totu petit probleme auquelle il y a au moins 2 solution, mais je n'arrive pas à les trouver.
 
-Existe t il des "else" en XML?
 
-Existe t'il des if != ?
 
je vous montre ou j'en ai besoin :  
 

Code :
  1. <xsl:variable name="serie"><xsl:value-of select="Properties/Property[@Name='Serie']"/></xsl:variable>
  2. <xsl:if test="$serie='0'">
  3. - <xsl:value-of select="Properties/Property[@Name='Serie']"/>
  4. </xsl:if>

 
 
au fait là je devrais soit faire un if != ou alors un else


Message édité par beef02 le 11-03-2004 à 13:50:36
mood
Google
Posté le 10-03-2004 à 12:23:44  profilanswer
 

n°2155
Trracer
Posté le 10-03-2004 à 21:43:05  profilanswer
 

Pour le != c'est <xsl:if test="not(xxx=ddd)">...</xsl:if>

n°2164
beef02
Lisette powwwaaaaa!!!!!!!!!!
Posté le 11-03-2004 à 13:50:06  profilanswer
 

ok, un grand merci, ça fonctionne :d
 
Bon maintenant j'ai une 2 eme question :  
je dois passer des parametre à mon xsl quand je l'appel de ma page ASP  :pt1cable:  :pt1cable:  
 
est ce queqq un à dejà reussi? car là je patauge...

n°2170
Trracer
Posté le 11-03-2004 à 19:10:25  profilanswer
 

Voila, ce que j'ai en stock ^_^  
Il me semble que cela fonctionne correctement, me rappelle plus exactement ça fait un bout de temps que j'ai pas touché au XSLT...
 
 
ASP :

Code :
  1. Dim xml, xsl
  2. Dim XSLTemplate
  3. Dim proc
  4. Set xml = Server.CreateObject("MSXML2.FreeThreadedDOMDocument" )
  5. xml.async = False
  6. xml.loadXML XMLSourceFile
  7. Set xsl = Server.CreateObject("MSXML2.FreeThreadedDOMDocument" )
  8. xsl.async = False
  9. xsl.Load Server.MapPath(XSLSourceFile)
  10. Set XSLTemplate = Server.CreateObject("MSXML2.XSLTemplate" )
  11. Set XSLTemplate.stylesheet = xsl
  12. Set proc = XSLTemplate.createProcessor
  13. proc.input = xml
  14. proc.addParameter ParameterName, ParameterValue
  15. proc.Transform
  16. Response.Write proc.output
  17. Set xml = Nothing
  18. Set xsl = Nothing
  19. Set proc = Nothing
  20. Set XSLTemplate = Nothing


 
 
XSL :

Code :
  1. ?xml version='1.0'?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  3. version="1.0">
  4. <xsl:param name="SID" select="/.."/>
  5. [other parameters...]
  6. <xsl:output method="html" indent="yes"/>
  7. <xsl:template match="/">
  8. <p/>
  9. <table cellspacing="0" cellpadding="1" border="0">
  10. <xsl:apply-templates select="//Holding"/>
  11. </table>
  12. <xsl:call-template name="NextPrevLinks"/>
  13. </xsl:template>
  14. [Other Templates...]
  15. </xsl:stylesheet>


Message édité par Trracer le 11-03-2004 à 19:12:08
n°2176
beef02
Lisette powwwaaaaa!!!!!!!!!!
Posté le 11-03-2004 à 19:50:10  profilanswer
 

un grand merci à toi Trracer , je vais tester ça demain matin car j'etait en reunion toute cette apres midi.
je te tiens au courant mais les methodes que j'ai trouvé sur le net ressemble à ça aussi alors ça devrait fonctionner.

n°2177
Trracer
Posté le 11-03-2004 à 20:19:13  profilanswer
 

Oui, j'avais due trouver ça sur un site web moi aussi ^_^ Et j'avais archivé ça dans un coin...  
J'ai retrouvé une adresse qui traite du même sujet (et qui donne la même solution) : http://www.perfectxml.com/Answers.asp?ID=4

n°2190
beef02
Lisette powwwaaaaa!!!!!!!!!!
Posté le 12-03-2004 à 11:06:43  profilanswer
 

Bon je vais tester ton code, en attendant je te mets le code actuel, on ne sait jamais.
 

Code :
  1. Dim xslTemplate, xslProc
  2. Set dom = CreateObject("MSXML2.DOMDocument" )
  3. dom.async = False
  4. ResultXml = ws.GetResults(sSessionID, sSearchResultId, lFirstShownDoc, lNumberOfShownDocs, propsXml)
  5. If dom.loadXML(ResultXml) then
  6. Dim xsl2
  7. Set xsl2 = CreateObject("MSXML2.DOMDocument" )
  8. xsl2.async = false
  9. xsl2.load(Request.ServerVariables("APPL_PHYSICAL_PATH" ) & "resultList2.xsl" )
  10. Dim resTable2 'As String
  11. resTable2 = dom.transformNode(xsl2)
  12. Response.Write(resTable2)
  13. %>


 
Je ne connais aps la différence entre :  
CreateObject("MSXML2.DOMDocument" )
CreateObject("MSXML2.FreeThreadedDOMDocument" )  
Quelqu'un pourrais me la dire?  
Est ce que ej peux laisser ("MSXML2.DOMDocument" ) pour utiliser les parametres  
ou dois-je passé en ("MSXML2.FreeThreadedDOMDocument" )?


Message édité par beef02 le 12-03-2004 à 11:07:20
n°2194
beef02
Lisette powwwaaaaa!!!!!!!!!!
Posté le 12-03-2004 à 11:26:10  profilanswer
 

Bo voila je viens de mettre tout ça en place et apparament je dois mettre FreeThreadedDOMDocument sinon il n'accepte pas
 
bon dans l'asp tout est ok et ça fonctionne jusq'au moment ou je mets
<xsl:param name="xxx"/>
là il me mets une erreur sur la page :  
 
Error Type:
msxml3.dll (0x80004005)
The stylesheet does not contain a document element. The stylesheet may be empty, or it may not be a well-formed XML document.
 
Alors je ne vois pas ce qu'il peut se passer...  

n°2195
beef02
Lisette powwwaaaaa!!!!!!!!!!
Posté le 12-03-2004 à 17:55:04  profilanswer
 

Héhé, je viens de recommencer mon XSL du début bien proprement et maintenant j'arrive à paseer mon parametre.
Mais j'ai encore un nouveau probleme mais qui est lié à l'utilisation du webservice que j'utilise et à l'affichage d'une image Jpeg qui est stockée dans la base de donnée.
 
Je vous en dis plus lundi.

n°2213
beef02
Lisette powwwaaaaa!!!!!!!!!!
Posté le 15-03-2004 à 09:57:21  profilanswer
 

Alors voila un  bout de code :  
 

Code :
  1. <%
  2. ....
  3. data = dom.selectSingleNode("/Documents/Doc/Properties/Property/Value" ).text
  4. Dim helper
  5. Set helper = Server.CreateObject("QILIB2.QITool" )
  6. data = helper.Base64Decode(data)
  7. Response.ContentType = "image/jpeg"
  8. Call Response.BinaryWrite(data)
  9. %>


j'aimerais vérifier ou ce script plante, alors j'aimerais s'avoir si l'objet GILIB2 est bien instancié?comment le vérifier koi
 
car pour l'instant ça ne fonctionne vraiment pas, je reçois l'imgage de la croix rouge comme qd un fichier image n'est pas trouvé.
 

n°2216
Trracer
Posté le 15-03-2004 à 17:56:30  profilanswer
 

Tu peux essayer de verifier le type de helper avec sa methode toString() (bon ça c'est en JS, en VBS je me rappelle plus des noms des methodes exactes...).  
Enfin bref en faisant un messagebox(helper), avec un peu de chance tu aura [object <type>]. Sinon on peut aussi verifier si helper est bien une instance de telle ou telle classe (instanceOf()).
 
Sinon, dans data as-tu verifie que les données en base64 y etaient bien ? Et apres decodage ? (sans envoyer de contentype par exemple).

mood
Google
Posté le 15-03-2004 à 17:56:30  profilanswer
 


Aller à :
Ajouter une réponse

  FORUM Syndrome-OC - Jacky-PC


  Programmation


  Langage interprété(Php, Perl...)


  [XML-XSL -ASP] Passage de paramètre entre asp et xsl

 

Hit Parade