Lehrer Nussbaumer - XML, XSL et cetera

XML

XSL

Anwendungen 

  1. XHTML
  2. MathML
  3. SVG
  4. StarOffice 6 / 7
  5. WAP / WML
  6. Diverse

Editoren

Parser u.a.

Schnittstellen


-----------------
letzte änderung:
09 December 2021
-----------------
Lehrer Nussbaumers Seite

... in Arbeit ...

WML

Die Wireless Markup Language dient zur Aufbereitung von Informationen für Mobiltelefone oder PDAs. Für WML 1.1, 1.2, 1.3, 2.0 gibt es genaue Spezifikationen. Aktuelle Entwicklungen unterstützen jedenfalls XHTML.

Grundstruktur eines WML-Dokuments

Ein WML-Dokument besteht aus einem so genannten Deck, das einzelne Cards enthät. Das Verhalten der Cards und das Navigieren zwischen den Cards wird durch spezielle WML-Elemente und mit Hilfe entsprechender Attribute geregelt.

Im folgenden Listing ist eine sehr einfache WML-Datei angeführt:

<?xml version="1.0"?>
 <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd">

 <wml>

   <card id="card1" title="WML lernen">
     <p align="center">
       Willkommen auf unseren WAP-Seiten.
     </p>
   </card>

   <card id="card2" title="Card #2">
   </card>
 </wml>

Wir erkennen das Wurzelelement <wml> und zwei <card>-Elemente. Diese können einfache (X)HTML-Elemente wie <a>, <b>, <br>, <em>, <head>, <i>, <img>, <meta>, <p>, <pre>, <strong>, <table>, <td>, <tr> und <u> enthalten.

Anzeige & Kontrolle eines WML-Dokuments

WML-Dokumente können mit WAP-Simulatoren geladen, angezeigt und auf ihre Funktionalität hin überprüft werden. Solche WAP-Simulatoren werden am besten im Internet verwendet, z.B. der WAP-Simulator unter der Adresse http://www.wapsilon.com.

Beispiel

Im folgenden Beispiel können Informationen zu verschiedenen Seminaren angezeigt werden:

<?xml version="1.0"?>
 <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN"
  "http://www.wapforum.org/DTD/wml13.dtd">

 <wml>
   <head>
     <meta name="generator" content="mady by hand" />
   </head>
   <template>
     <do type="prev" name="zurueck">
       <prev />
     </do>
     <do type="options" name="optionen">
       <go href="#menu" />
     </do>
   </template>
   <card id="card1" title="WML lernen" newcontext="true">
     <do type="prev" name="zurueck">
       <noop />
     </do>
     <p align="center">
       Willkommen auf unseren WAP-Seiten.
     </p>
   </card>
   <card id="menu" title="Auswahl">
     <p><a href="#card2">XML-Seminare</a></p>
   </card>
   <card id="card2" title="XML-Seminare 2002">
     <p>
       <table columns="2">
         <tr>
           <td><b>Seminar</b></td>
           <td><b>Datum</b></td>
         </tr>
         <tr>
           <td><b><a href="xml.wml">XML</a></b> Basis</td>
           <td>04.09.02</td>
         </tr>
         <tr>
           <td><b><a href="dtd.wml">DTD</a></b></td>
           <td>11.09.02</td>
         </tr>
         <tr>
           <td><b><a href="xsl.wml">XSL</a></b></td>
           <td>18.09.02</td>
         </tr>
         <tr>
           <td><b><a href="xpath.wml">XPath</a></b></td>
           <td>25.09.02</td>
         </tr>
         <tr>
           <td><b><a href="xslfo_form.wml">XSL-FO</a></b></td>
           <td>02.10.02</td>
         </tr>
         <tr>
           <td><b><a href="svg.wml">SVG</a></b></td>
           <td>09.10.02</td>
         </tr>
         <tr>
          <td><b><a href="wml.wml">WML</a></b></td>
          <td>16.10.02</td>
         </tr>
         <tr>
           <td><b><a href="xhtml.wml">XHTML</a></b></td>
           <td>23.10.02</td>
         </tr>
       </table>
     </p>
   </card>
 </wml>

Die als Hyperlink-Adressen genannten WML-Dokumente liegen bei diesem einfachen Projekt im gleichen Verzeichnis vor, z.B. die Datei "xslfo_form.wml":

<?xml version="1.0"?>
 <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN"
 "http://www.wapforum.org/DTD/wml13.dtd">

 <wml>
   <template>
     <do type="prev">
       <prev />
     </do>
   </template>
   <card id="card1" title="XSLFO lernen">
     <p align="center">
       2.10.2002
     </p>
     <p><a href="#details">Details</a></p>
     <p><a href="#anmeldung">Anmeldung</a></p>
     <p><a href="wml5.wml#card2">XML-Seminare</a></p>
   </card>

   <card id="details" title="XSLFO Programm">
   <p align="left">
     Bitte wählen Sie Detailinformationen aus der folgenden Liste:
     <select name="details" title="XSLFO Details">
       <option value="Grundlagen" onpick="#anmeldung">Grundlagen</option>
       <option value="Seitenaufbau" onpick="#anmeldung">Seitenaufbau</option>
       <option value="Blockelemente" onpick="#anmeldung">Blockelemente</option>
       <option value="Tabellen" onpick="#anmeldung">Tabellen</option>
       <option value="Listen" onpick="#anmeldung">Listen</option>
       <option value="Querverweise" onpick="#anmeldung">Querverweise</option>
       <option value="Zeilenbereiche" onpick="#anmeldung">Zeilenbereiche</option>
       <option value="Grafiken" onpick="#anmeldung">Grafiken</option>
	   <option value="Marker" onpick="#anmeldung">Marker</option>
     </select>
   </p>
   </card>
   <card id="anmeldung" title="XML Anmeldung">
     <p>Gewählt wurde: <br/>  <i><b>$details</b></i></p>
     <p>
       Vorname: <input type="text" name="vorname" size="10" maxlength="20" />
     </p>
     <p>
       Familienname: <input type="text" name="famname" size="10" maxlength="20" />
     </p>
     <do type="accept" label="ok">
       <go href="#gewaehlt" />
     </do>
   </card>
   <card id="gewaehlt" title="Seminar-Anmeldung">
     <p align="center">Sehr geehrte(r) Frau/Herr <br/><i><b>$vorname $famname</b></i>,<br/>
        Sie haben sich für den Teil<br/> <b>$details</b><br/> angemeldet. <br/>
        <i>Herzlichen Dank!</i>
     </p>
   </card>
 </wml>

WML-spezifische Elemente

Folgende Elemente stellen eine Erweiterung von HTML-Elementen dar. Sie können als Kindelemente des <wml>-Wurzelelementes auftreten:

Element Syntax Beschreibung
access <access> Definiert den Zugriff für das ganze WML-Dokument; leeres Element.
anchor <anchor>URI</anchor> Legt einen Hyperlink als Element fest - die Adresse bildet den Textinhalt des <anchor>-Elementes
big <big>Text</big> Markiert Text für größere Schrift
card <card id=".." title=".." ontimer=".."> ... </card> Definiert einzelne Cards innerhalb eines Decks.
do <do type="..">..</do> Definiert eine Schaltfläche zur Navigation, deren Funktion durch die folgenden Attributwerte festgelegt wird:
  • tpye="accept" - Aufruf bei <OK>
  • type="prev" - Aufruf der vorherigen Seite
  • type="help" - Aufruf einer Hilfeseite
  • type="reset" - Alle Eingaben in ein Formular werden verworfen
  • type="options" - Andere Möglichkeiten werden verwendet
  • type="delete" - Die aktuelle Auswahl wird gelöscht
  • type="unknown" - Unbekannt; entspricht dem Leerstring
fieldset <fieldset>...</fieldset> Fasst Felder und Texte zu einer Gruppe zusammen
go <go href=URI>...</go> Verursacht einen Sprung zur angegebenen Adresse
head <head>...</head> Enthält Meta-Informationen zum gesamten Dokument
input <input accept=".." format=".." name=".." type=".." value=".." /> Leeres Element für Benutzereingaben. Die Attribute haben folgende Bedeutung:
  • accept=".." - Abfragen werden bestätigt
  • format=".." - Legt das Zahlen- oder Buchstabenformat für die Eingabe fest
  • name=".." - Legt einen Namen für das Eingabefeld fest, der als Variablenbezeichnung in einem CGI-Skript verwendet werden kann
  • type=".." - Legt den Typ des Eingabefeldes fest ("text" für Texteingabefelder, "pass" für Passwort-Eingabefelder)
  • value=".." - Defaultwert für das Eingabefeld
noop <noop /> Legt fest, dass eine Schaltfläche keine Funktion ausüben soll; leeres Element.
onevent <onevent type="..">...</onevent> Als Inhalt dieses Elementes werde die Aktionen angegeben, die bei bestimmten Benutzeraktivitäten ausgeführt werden sollen. Diese Aktivitäten werden durch die folgenden Attributwerte festgelegt:
  • type="onenterforward" - Drücken der "Vorwärts"-Taste
  • type="accept" - Die "OK"-Taste wurde gedrückt
  • type="onenterbackward" - Drücken der "Zurück"-Taste
optgroup <optgroup>...</optgroup> Fasst Optionselemente zu einer Gruppe zusammen
option <option onpick=".." value=".."> Text </option> Definiert einen Eintrag in einer Auswahlliste.
postfield <postfield>..</postfield> Sendet in Zusammenhang mit dem <go>-Elemente Variablen an ein anderes Dokument.
prev <prev /> Defniert eine Schaltfläche, mit der man zur vorherigen Seite gelangt.
refresh <refresh /> Definiert eine Schaltfläche, mit der das Dokument neu geladen wird; leeres Element.
select <select><option>...</option>...</select> Container für eine Auswahlliste.
setvar <setvar>...</setvar> Legt Variablenwerte fest.
small <small>Text</small> Textmarkierung für kleiner gesetzten Text
template <template>...</template> Legt eine Vorlage für alle Cards eines Decks fest.
timer <timer value=".." /> Legt den Zeitwert in Zehntel-Sekunden für das Attribut "ontimer" bzw. für <onevent>-Elemente fest. Leeres Element.
wml <wml> Wurzelelement für ein WML-Dokument (Deck).


© Alfred Nussbaumer, Weblog