DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Andreas Rauch Artikel Drucken
        
xslisapi - der Weg zur Unabhängigkeit

Ich höre oft genug das Klagen der Entwickler pro Browser oder Device die Seiten extra schreiben zu müssen. Gut das wird auch noch eine Zeit so bleiben, aber eine kleiner Erleichterung gibts schon, sofern man XML Daten geräteunabhängig visualisieren möchte. Eine xslisapi!
Zum Thema Isapi ist bereits unter dem Artikel http://www.devtrain.de/news.asp?artnr=724 berichtet worden.
 
Unter der URL : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnxslgen/html/xslisapifilter.asp gibts bei Microsoft einen xslisapi Filter zum runterladen. Mit diesem ist es möglich Formatierungen server-seitige für den Client machen zu lassen.
 
Die Machart ist eigentlich sehr simpel. Man entpacke die Datei, registriere die xslisapi2.dll und richte dieselbe als Isapi Filter im IIS ein. Das wars!
 
Naja, noch nicht so ganz:
 
Sehen wir uns mal ein Beispiel an:
 
Die xml Daten
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" server-config="Config.xml" href="sampleA-IE5.xsl" ?> 
 
Hier sehen Sie bereits, daß außer der Angabe des Stylesheets href="sampleA-IE5.xsl" noch eine weiteres angegeben worden ist:  server-config="config.xml"???  Tja, hier kommt die MS XSL-Isapi Komponente ins Spiel. Diese kann unterscheiden welcher Device unsere xml Seiten anspricht und weist dementsprechend das passende xsl file zu.
 
So sieht das config.xml file aus:
 

<?xml version="1.0"?>
<server-styles-config>
  <!-- for HDML 3.0 based browsers -->
  <device target-markup="HDML 3.0">
    <stylesheet href="HDML3.xsl"/>
  </device>
  <!-- for WML 1.1 based browsers -->
  <device target-markup="WML1.1">
    <stylesheet href="WML11.xsl"/>
  </device>

  <!-- for IE 6 based browsers -->
  <device browser="IE" version="6.0">
    <stylesheet href="IE6.xsl"/>
  </device>
  <!-- for IE 5 based browsers -->
  <device browser="IE" version="5.0">
    <stylesheet href="IE5.xsl"/>
  </device>
  <!-- for MME browsers -->
  <device browser="MME">
    <stylesheet href="WML11.xsl"/>
  </device>
</server-styles-config>
  
Diese Datei weist nach Angabe der Isapi das passende xsl zu.
 
Hier z.B für Wap Browser:
 
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="
http://www.w3.org/TR/WD-xsl">
  <xsl:template match="/" >
    <xsl:pi name="xml">version="1.0"</xsl:pi>
    <xsl:doctype>wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "
http://www.wapforum.org/DTD/wml_1.1.xml"</xsl:doctype>
    <wml>
      <card>
        <p>
          <!-- Show the name of each color-->
          <xsl:for-each select="colors/color">
            <xsl:value-of select="name"/>
            <br/>
          </xsl:for-each>
        </p>
      </card>
    </wml>
  </xsl:template>
</xsl:stylesheet> 
 
 
Die Möglichkeiten dieser Isapi sind schon cool. Man kann mehere xsl Stylesheeet zum Parsen angeben, die anschliessend der Reihe nach ausgeführt werden. Die xml Anwednungen werden zudem durch das Caching der xsl templates beschleunigt. Außerdem werden device abhängige Fehlermeldungen ausgegeben.
 
Lesen Sie sich auf jeden Fall die Installationsanleitung genau durch und testen sie die Example.
 

DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine Links vorhanden

  Erfasst am: 03.05.2002
  Gültig bis: 02.06.2002
0 Ratings
Bewertung: 0,0%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG