Abstrakte Module
Was ist ein abstraktes Modul?
• Definition eines XHTML-Moduls in spezieller leichter verständlicherer Sprache
• muß nicht, kann aber definiert werden...
denn dadurch wird das Benutzen der XHTML-Module einfacher
Wozu braucht man abstrakte Module?
Beispiel eines abstrakten Moduls
Man sieht sofort, welche Elemente und Attribute im Modul enthalten sind
Wie erstellt man abstrakte Module?
• Erzeugen einer Übersicht mit folgendem Inhalt:
– Liste der Elemente
– Liste der zugehörigen Attribute mit Typen – Minimales Inhaltsmodell
• Dazu gibt es zwar keine formale Grammatik Aber eine Syntax-Konvention ( XML-DTDs)
Elemente
• Jedes Element wird aufgelistet
• Wird ein vordefiniertes Element in einem anderen Modul durch zusätzliche Attribute erweitert,
wird an den Elementnamen ein & angehängt Beispiel: img&
Attribute
Zu jedem Element wird die Liste seiner Attribute angegeben
• Unbedingt benötigte Attribute werden mit einem * versehen (Beispiel: alt*)
• Der Typ eines Attributwerts wird hinter den Attributnamen in Klammern gesetzt (Beispiel: height (Length) )
• Gültige Attributwerte werden hinter den Attributnamen, in Klammern, durch | getrennt und in Anführungszeichen gesetzt (Beispiel: align("left“*|"center"|"right") )
Defaultwerte mit *, feste Werte mit = gekennzeichnet
Attributtypen
• CDATA
• ID
• IDREF(S)
• NAME
• NMTOKEN(S)
• PCDATA
Zeichendaten
dokumentweit eindeutiger Bezeichner
Referenz auf einen dokumentweit eindeutigen Bezeichner (mehrere getrennt durch Leerzeichen) Name mit denselben Zeichenbeschränkungen wie ID Ein Name, der nur aus Name Tokens gemäß
Definition in XML 1.0 [XML] besteht
Processed character data, Inhaltsmodelle, in denen Text vorkommen darf
Zusätzlich zu diesen vordefinierten, gibt es noch weitere Datentypen (z.B. Character, Color, Datetime, Length, etc.)
Minimales Inhaltsmodell
Zu jedem Element wird angegeben, welchen Inhalt es mindestens besitzen muß
Das kann sein:
– weitere Elemente aus dem selben Modul – Elemente aus anderen Modulen
– nichts (EMPTY)
– Text als Inhalt von einem oder mehreren Elementen (PCDATA)
Wie erzeugt man ein Inhaltsmodell ?
Konventionen für die Definition des Inhaltmodells:
– expr? keinmal oder genau einmal – expr+ einmal oder beliebig oft – expr* keinmal oder beliebig oft
– Wird kein Stern, Pluszeichen oder Fragezeichen angegeben, so muß das Element genau einmal vorkommen
– a, b wenn a dann b – a | b entweder a oder b – a - b wenn a, dann nicht b
– Innere Klammerausdrücke werden zuerst ausgewertet
Attributsammlungen
Einige Attribute werden Attributsammlungen zusammengefaßt:
• Core class, id, title
• I18N xml:lang
• Events onclick,ondbclick,onmousedown,etc
• Style style
• Common Core + Events + I18N + Style
Beispiel - Basic Table Module
Core Modules
• Structure Module
– liefert das Grundgerüst einer XHTML-Datei
• Elemente: html, head, title, body
• Text Module
– Überschriften, Block-Elemente, Inline-Elemente
• Elemente: z.B. h1- p,div,blockquote,pre - br,em, strong
• Hypertext Module
– definiert einen Anker oder einen Hyperlink
• Element: a
• List Module
– dient zur Strukturierung von Listen
Weitere Module
• Applet Module
• Text Extension Modules
• Presentation Module
• Edit Module
• Bi-directional Text Module
• Forms Modules
• Basic Forms Module
• Forms Module
• Table Modules
• Basic Tables Module
• Tables Module
• Image Module
• Client-side Image Map Module
• Server-side Image Map Module
• Object Module
• Frames Module
• Target Module
• Iframe Module
• Intrinsic Events Module
• Metainformation Module
• Scripting Module
• Style Sheet Module
• Style Attribute Module
• Link Module
• Base Module
• Name Identification Module
• Legacy Module
Ende
Weitere Informationen:
• http://www.w3.org
• http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/
deutsche Übersetzung :-)
• http://edition-w3c.de/TR/2001/REC-xhtml-modularization-20010410/