3. Beschreibung der Formatkonvertierung XSL -Datei (persons.xsl)
In der Routine wird XSL verwendet, um die XML -Daten zu formatieren und sie in HTML an den Client zurückzugeben. Dieser Vorgang kann auch auf der Clientseite durchgeführt werden. In Anbetracht des Kompatibilitätsproblems wird jedoch die Routine die Methode der Formatierung durch ASP auf der Serverseite angewendet.
Der Inhalt der XSL -Datei lautet wie folgt:
<? XML Version = "1.0" coding = "gb2312"? > < XSL: Stylesheet Xmlns: xsl = "http://www.w3.org/1999/xsl/transform" Version = "1.0"> < xsl: template match = "/personss"> < Skript Sprache = "JavaScript"> Funktion add () { window.open ("add.asp", "add", "width = 300, Höhe = 320, Größe = no"); } Funktion bearbeiten (intid) { window.open ("edit.asp? id ="+intid, "bearbeiten", "width = 300, height = 320, resize = no"); } </script > < Tabelle Align = "Center" > < tr > < td align = "rechts"> < a href = "javaScript: add ();"> Hinzufügen eines neuen Kontakts </a> </td> </tr > </Tabelle > < Tabelle Align = "Center" cellpacing = "1" cellpadding = "2" bgcolor = "#666600"> < tr bgcolor = "#e5e5e5" > < TD >< XSL: Text Disable-Output-Escaping = "Ja" > & </xsl: text > nbsp; </td > < td > Name </td > < td > englischer Name </td > < TD > Mobiltelefon </td > < td > Tel./TD > < TD > E -Mail </td > < td > qq </td > < td > Firma, in der Sie sich befinden </td > </tr > < XSL: for-Each select = "Person" > < tr bgcolor = "#ffffff" > < td align = "rechts"> < xsl: Wert von select = "Position ()"/> </td> < td style = "color:#990000"> <a> < xsl: Attribut name = "href"> javaScript: edit ('< xsl: value-of-select = "Position ()"/>'); </xsl : Attribut> < XSL: Attribut name = "title"> Änderungsinformationen </xsl: Attribut> < XSL: Wert von select = "name"/> </a> </td > < TD >< XSL: Wert von Select = "Nick"/></td > < TD >< XSL: Wert von Select = "Mobile"/></td > < TD >< XSL: Wert von Select = "Tel"/></td > < td ><a>< xsl: Attributname = "href" > mailto: < xsl: value-of-select = "E-Mail"/></xsl: Attribut> < XSL: Wert von SELECT = "E-Mail"/> </a></td > < TD >< XSL: Wert von Select = "qq"/></td > < TD >< XSL: Wert von Select = "Company"/></td > </tr > </xsl: for-leec > </Tabelle > </xsl: Vorlage > </XSL: Stylesheet > |
Die Konvertierung auf der Serverseite wird mit einer Funktion abgeschlossen.
'******************************************* 'Beschreibung: Formatieren Sie die XML -Datei mit einer XSL -Datei. 'Autor: GWD 2002-11-05 'Parameter: strxmlFile - XML -Datei, Pfad + Dateiname 'StrxslFile - XSL -Datei, Pfad + Dateiname 'Return: Erfolg - formatierte HTML -Zeichenfolge 'Fehlgeschlagen - benutzerdefinierte Fehlermeldung '******************************************* Funktionsformatxml (strxmlfile, strxslfile) Dimer objxml, objxsl strxmlfile = server.mappath (strxmlfile) strxslfile = server.mappath (strxslfile) Setzen Sie objxml = server.createObject ("msxml2.domdocument")) Setzen Sie objxsl = server.createObject ("msxml2.domdocument")) objxml.async = false Wenn objxml.load (strxmlfile) dann objxsl.async = false objxsl.validateonparse = false Wenn objxsl.load (strxslfile) dann Auf Fehlerbehebung Nächstes 'Catch -Fehler in der TransformNode -Methode Formatxml = objxml.transformNode (objxsl) Wenn objxsl.parseError.Errorcode <> 0 dann Antwort.Write "<BR> < HR>" Response.write "Fehlercode:" & objxsl.parseerror.ErrorCode Response.write "<br> Fehlergrund:" & objxsl.parseerror.reason Response.write "<br> Fehlerzeile:" & objxsl.parseerror.line Formatxml = "< spanalert" "> Format XML -Dateifehler! </span>" Ende wenn Anders Antwort.Write "<BR> < HR>" Response.write "Fehlercode:" & objxsl.parseerror.ErrorCode Response.write "<br> Fehlergrund:" & objxsl.parseerror.reason Response.write "<br> Fehlerzeile:" & objxsl.parseerror.line Formatxml = "< spanalert" "> Fehler laden XSL -Datei! </span>" Ende wenn Anders Antwort.Write "<BR> < HR>" Response.write "Fehlercode:" & objxml.parseerror.ErrorCode Response.write "<br> Fehlergrund:" & objxml.parseerror.reason Response.write "<br> Fehlerzeile:" & objxml.parseerror.line Formatxml = "< spanalert" "> Fehler laden XML -Datei! </span>" Ende wenn Setzen Sie objxsl = nichts Setzen Sie objxml = nichts Endfunktion |