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
        
Flexibler Arbeit mit XSL - Variablen

Als Entwickler ist man über jede Möglichkeit froh sich Schreibarbeit zu ersparen und Anwendungen flexibler gestalten zu können.

Das erledigen z.B. Konstanten und Variablen. Aber wie geht das in XML bzw. XSL?  Ein ausgezeichnetes Mittel dafür sind Variablen.

Beispielsweise benötigen sie immer wieder Anzahl der untergeordneten Elemente, ein bestimmte Summe aller Preise oder den Durchschnittspreis.

So etwas läßt sich mit xsl:variable und XPATH erledigen.

In XSL definieren wir die Variable folgendermassen:

<xsl:variable
  name = Qname
  select = expression>
</xsl:variable>

Der Variablenwert kann dabei entweder im select-Attribut oder als Elementinhalt definiert werden.

<xsl:variable name="xyz" select="Hallo"/>
<xsl:variable name="xyz">Hallo</xsl:variable>

Die Deklaration der von Variablen ist also folgendermaßen:

Der Variablen geben Sie eine eindeutige Bezeichnung, um sie später wieder aufrufen zu können.

name = "eindeutige Bez."

Mit select können Sie der Variablen Elemente sowie XPATH Funtkionen zuweisen.

select="XPATH"

Sehen wir uns dazu gleich ein Beispiel an:

In unserem XSL-File definieren wir unsere Variablen:

 <xsl:variable name="bookCount" select="count(//book)"/>

Hier weisen wir der Variablen die Anzahl aller gefundener Knoten "book" zu.

<xsl:variable name="bookTotal" select="sum(//book/price)"/>

Hier weisen wir der Variablen die Summe der Preise zu.

<xsl:variable name="bookAverage" select="$bookTotal div $bookCount"/>


und hier errechnen wir uns den Durchschnittswert.

We rufen wir nun die Variablen wieder auf?
Natürlich wieder über XPATH. Duch das Voranstellen eine $-Zeichens und nachfolgend der Name der Variable werden in unseren Beispielen die Werte zurückgegeben.

<xsl:value-of select="format-number($bookAverage, '#.00')"/>

<xsl:value-of select="format-number(price - $bookAverage, '#.00')"/>


Als kleines Gimmick formatieren wir noch die Ausgabe mit einer format-Anweisung, so daß die

Werte 2 nachkommastellen haben dürfen/sollen.

So können Sie beispielsweise vielfältige Auswertungen in Tabellen erledigen ohne ständig die Ergebnissewerte neu definieren zu müssen. Mit XPATH können die Variablen mit mathematischen Funktionen noch weiter aufbereitet werden.

Das gesamte Beispiel können Sie im Anhang downloaden.

Viel Spaß!


 

 

 

 

 


DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine verknüpften Dokumente

  Erfasst am: 01.06.2001
  Gültig bis: 01.07.2001
12 Ratings
Bewertung: 83,3%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG