XSL – XML – CSS  

Kurzübersicht 1

XML. 2

XML-Dateiformat. 2

DTD. 3

DTD-Dateiformat (Adressen.dtd) 3

XML-Schema. 3

XML-Schema-Dateiformat (Adressen.xsd) 3

Referenzen. 3

                                                                               

Kurzübersicht 

Einführungsbeispiel
Darstellung der Grundlagen für XML/XSL/CSS siehe Anwendungsbeispiel

XML = Extensible Markup Language
plattformunabhängiges Datenformat, Datenbaum mit frei definierbaren „Tags“ (z.B. <Adresse>), Hinweis: Excel/ Access XP importieren/exportieren XML-Format

XSLT = Extensible Stylesheet Language Transformation
ermöglicht Transformierung der XML-Inhalte in eine beliebige andere Darstellungssprache (z.B. HTML, PDF, ASCII, CSV). Transformierung erfolgt dabei entweder implizit durch den Browser beim Anzeigen einer XML-Datei, die einen Verweis auf die für die Transformation zu verwendende XSL-Datei enthält oder durch expliziten Aufruf eines XSL-Prozessors (z.B. msxml aufgerufen durch Zusatztool msxls.exe).

CSS = Cascading Style Sheets
definiert optische Eigenschaften für HTML-Elemente, die in HTML dann z.B. über die einfache Zuweisung des class-Attributes verwendet werden können.

DTD = Document Type Definition
definiert die für eine XML-Datei vorgesehenen Tags (siehe Beispiel unten)

XML Schema
Weiterentwicklung der DTD, erlaubt genauere Definition der Tags (siehe Beispiel unten)

XPath
Sprache zur Angabe des Pfades für den Zugriff auf ein einzelnes XML-Element oder Attribut, wird z.B. innerhalb von XSLT-Code verwendet.
Beispiele: “Memo/DayOfWeek“, „
Memos/EachDay/Memo/@type. Unterstützt auch Navigation zu Geschwister-, Kind- und Elternelementen (z.B. „EachDay/Memo/following-sibling::Memo/Time“)

XML-Parser
unterstützen in der regel folgende Modi:

SAX-Modus (Simple API for XML)
ereignisgesteuert (Überschreiben vordefinierter Handlerfunktionen notwendig), schneller und einfacher Zugriff, nachträgliche Manipulation der Daten nicht möglich

DOM-Modus (Document Object Model)
erzeugt einen Dokumentenbaum des gesamten XML-Inhaltes im Speicher, alle Inhalte können geändert und wieder als XML abgespeichert werden. Zugriffsmethoden (NodeList tagList = getElementsByTagName(), Node tag = tagList.getItem(i); String nodeName = tag.getNodeName(); String inhalt = tag.getFirstChild().getNodeValue())

 

SVG (Scalable Vector Graphics)

ermöglicht es Vektorgrafiken für das Internet verfügbar zu machen.

Viewer für SVG-Plugin zB. http://www.adobe.com/svg/viewer/install/beta.html

 

XHTML (Extensible HyperText Markup Language)
ist kein neues HTML, sondern die Neudefinition von HTML 4.0 auf der Basis von XML. Strengere Syntaxprüfung (Abschlusstags, alle Tagnamen kleinschreiben, Attributwerte in Anführungszeichen, Script-Sequenzen über <script><![CDATA[  ... ]]> einbetten). Wird langfristig das reguläre HTML ersetzen!

 

XML 

 

wohlgeformtes (well formed) XML-Dokument
es existiert keine DTD, aber zu jedem Tag gibt es ein zugehöriges End-Tag. in vielen Fällen ausreichend, schneller zu erstellen

 

gültiges (valid) XML-Dokument
es existiert eine DTD, der Inhalt gehorcht den in DTD definierten Regeln; mehr Aufwand bei der Erstellung, dafür vollständiger Überblick über verfügbare (optionale und verbindliche) Attribute vorhanden.

 

XML-Dateiformat

  

 

<?xml version=”1.0” ?>

<!--Das ist ein Kommentar-->

 

<!--Optional: Bezug auf eine externe DTD-->
<!DOCTYPE Adressen SYSTEM „Adressen.dtd“>

 

<!-- Wahlweise kann das Rootelement auch mit Bezug zu einem XML-Schema

   definiert werden -->

<Adressen xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance

  xsi:noNamespaceSchemaLocation=“Adressen.xsd“>

 

<!—Im einfachsten Fall gibt es weder DTD noch Schema -->

<Adressen>                    // einziges Wurzelelement

  <Adresse>

    <Strasse>Buchenweg</Strasse>

    <HausNr>15</HausNr>

    <Telefon art=“privat“>    // art ist ein Attribut des Tags Telefon

      08088/12345

    </Telefon> 

  </Adresse>

  <Adresse>

    <Strasse>Feldgasse</Strasse>

    <HausNr>4</HausNr>

  </Adresse>

</Adressen>

 

 

DTD 

DTDs können sowohl direkt in der XML-Datei als auch als externe Datei (siehe unten) verwaltet werden.

 

DTD-Dateiformat (Adressen.dtd)

  

 

<!ELEMENT Adressen(Adresse)+>

  <!ELEMENT Adresse(Strasse, HausNr, Telefon?)>

    <!ELEMENT Strasse (#PCDATA)>

    <!ELEMENT HausNr  (#PCDATA)>

      <!ATTLIST Strasse art (privat|buero) „privat“>

    <!ELEMENT Telefon (#PCDATA)>

      <!ATTLIST Telefon art (privat|buero) #REQUIRED>

 

 

Das Wurzelelement „Adressen“ enthält beliebig viele Datensätze vom Typ „Adresse“ (jedoch mindestens 1). Ein Datensatz vom Typ Adresse enthält die untergeordneten Tags Strasse, HausNr, Telefon. #PCDATA (Parsed Character Data) bezeichnet normale Zeichen (Ziffern, Buchstaben). Das Tag Telefon kann auch weggelassen werden. Wird Telefon angegeben, so muss stets für das Attribut „art“ einer der beiden Werte „privat“ oder „buero“ gesetzt sein. Beim Eintrag für Strasse wird automatisch das Attribut „privat“ angenommen. Man muss das Attribut nur noch dann angeben, wenn man einen Eintrag „buero“ definieren will.

 

XML-Schema 

 

XML-Schema-Dateiformat (Adressen.xsd)

  

 

<?xml version=”1.0” encoding=“iso-8859-1“?>

<xsd:schema xmlns:xsd=“http://www.w3.org/2001/XMLSchema“>

<xsd:element name=“Adressen“>

  <xsd:complexType>

    <xsd:sequence>

      <xsd:element name=“Adresse“ maxOccurs=“100“>

       <xsd:complexType>

         <xsd:sequence>

           <xsd:element name=“Strasse“ type=“TypShortText”/>

           <xsd:element name=“HausNr“ type=“xsd:nonNegativeInteger”/>

           <xsd:element name=“Telefon“ type=”xsd:string” minOccurs=”0”>

             <xsd:attribute name=”art” type=”TypArt”/>

             <xsd:simpleType name=”TypArt”>

               <xsd:restriction base=”xsd:string”>

                 <xsd:enumeration value=”privat”/>

                 <xsd:enumeration value=”buero”/>

               </xsd:restriction>

             </xsd:simpleType>

           </xsd:element>

         </xsd:sequence>

       </xsd:complexType>

       <xsd:simpleType name=”TypShortText”>

         <xsd:restriction base=”xsd:string”>

           <xsd:maxLength value=50”/>

         </xsd:restriction>

       </xsd:simpleType>

      </xsd:element>

    </sd:sequence>

  </xsd:complexType>

</xsd:element>

</xsd:schema>

 

 

Es sind maximal 100 Adresseinträge erlaubt (maxOccurs). Die Angabe von Telefon kann entfallen (minOccurs). Typen können spezifisch definiert werden (maximale Zeichenlänge, Aufzählungswerte)

Referenzen

XMLSem

Michael Seeboerger-Weichselbaum
Das Einsteigerseminar,
XML,
verlag moderne industrie Buch AG, 2004.

ExampleOnline

http://www.seebi.de/

XMLNews

http://www.xmlguru.de/

SelfHTML

vollständige Referenz lokal, http://www.selfhtml.org/ (z.B. über Suche „XSL“)