3. DESCRIPTION DE LA CONVERSION DU FORMATION Fichier XSL (Persons.xsl)
Dans la routine, XSL est utilisé pour formater les données XML et les renvoyer au client en HTML. Ce processus peut également être effectué du côté client, mais compte tenu du problème de compatibilité, la routine adopte la méthode de mise en forme via ASP côté serveur.
Le contenu du fichier XSL est le suivant:
<? Xml version = "1.0" coding = "gb2312"? > < XSL: Stylesheet XMLNS: xsl = "http://www.w3.org/1999/xsl/transform" version = "1.0"> < xsl: modèle match = "/ personnes"> < Script Language = "JavaScript"> fonction add () { window.open ("add.asp", "add", "width = 300, height = 320, redimense = no"); } Fonction Edit (INTID) { window.open ("edit.asp? id =" + intid, "edit", "width = 300, height = 320, redimensider = no"); } < / script > < Table Align = "Center" > < tr > < td align = "droite"> < a href = "javascript: add ();"> ajouter un nouveau contact </a> < / td> < / tr > < / Tableau > < Tableau align = "Center" Cellpacing = "1" CellPadding = "2" bgcolor = "# 666600"> < tr bgcolor = "# e5e5e5" > < TD >< XSL: texte disable-sorti-escaping = "Oui" > & < / xsl: texte > nbsp; < / td > < TD > Nom < / TD > < TD > Nom anglais < / td > < TD > Téléphone mobile < / TD > < TD > Tel < / TD > < TD > Courriel < / td > < TD > QQ < / TD > < TD > Compagnie où vous êtes situé < / td > < / tr > < xsl: for-each select = "personne" > < tr bgcolor = "# ffffff" > < td align = "droite"> < xsl: valeur-de sélection = "position ()" /> < / td> < TD Style = "Color: # 990000"> <a> < xsl: attribut name = "href"> javascrip : attribut> < xsl: attribut name = "title"> Informations de modification < / xsl: attribut> < xsl: valeur-de sélection = "name" /> </a> < / td > < td >< xsl: valeur-de sélection = "nick" / >< / td > < td >< xsl: valeur-de sélection = "mobile" / >< / td > < td >< xsl: valeur-de sélection = "tel" / >< / td > < td ><a>< xsl: attribut name = "href" > mailto: < xsl: value-of select = "e-mail" / >< / xsl: attribut> < xsl: valeur-de sélection = "e-mail" / > </a>< / td > < td >< xsl: valeur-de sélection = "qq" / >< / td > < TD >< XSL: valeur-de sélection = "entreprise" / >< / td > < / tr > < / xsl: for-out > < / Tableau > < / xsl: modèle > < / xsl: feuille de style > |
La conversion du côté serveur est terminée à l'aide d'une fonction.
'************************************************** 'Description: Formatez le fichier XML à l'aide d'un fichier XSL. 'Auteur: GWD 2002-11-05 'Paramètres: StrxmlFile - fichier xml, chemin + nom de fichier 'Strxslfile - fichier xsl, nom + nom de fichier 'Retour: succès - chaîne HTML formatée 'Échec - message d'erreur personnalisé '************************************************** Fonction FormatXML (Strxmlfile, strxslfile) DIM OBJXML, OBJXSL strxmlfile = server.mappath (strXmlfile) strxslfile = server.mappath (strxslfile) Set objxml = server.createObject ("msxml2.domDocument") Set objxsl = server.createObject ("msxml2.domDocument") objxml.async = false Si objxml.load (strxmlfile) alors objxsl.async = false objxsl.validateonParse = false Si objxsl.load (strxslfile) alors Sur l'erreur reprendre la méthode des erreurs de capture suivantes dans la méthode de transformnode Formatxml = objxml.transformnode (objxsl) Si objxsl.parseerror.errorcode <> 0 alors Réponse.WRITE "<br> < hr>" Response.Write "Code d'erreur:" & objxsl.passerror.errorcode Response.Write "<br> Raison d'erreur:" & objxsl.parseerror.reason Response.Write "<br> Ligne d'erreur:" & objxsl.parseerror.line Formatxml = "< SpanAlert" "> Erreur de fichier xml format! < / span>" Terminer si Autre Réponse.WRITE "<br> < hr>" Response.Write "Code d'erreur:" & objxsl.passerror.errorcode Response.Write "<br> Raison d'erreur:" & objxsl.parseerror.reason Response.Write "<br> Ligne d'erreur:" & objxsl.parseerror.line Formatxml = "< SpanAlert" "> Erreur Chargement du fichier xsl! < / span>" Terminer si Autre Réponse.WRITE "<br> < hr>" Response.Write "Code d'erreur:" & objxml.passerror.errorcode Response.Write "<br> Raison d'erreur:" & objxml.parseerror.reason Response.Write "<br> Ligne d'erreur:" & objxml.parseerror.line Formatxml = "< SpanAlert" "> Erreur Chargement du fichier xml! < / span>" Terminer si Définir objxsl = rien Définir objxml = rien Fonction finale |