2.3 Inhalte des body-ElementsDas body-Element enthält Elemente zur Koordination und Synchronisation, Angaben zu den Multimedia-Elementen sowie Hyperlinks. Zur Koordination und Synchronisation dienen die Elemente
Mögliche Präsentationselemente sind
Weiterhin ist im body-Tag das Verknüpfungselement
(siehe 2.3.3) sowie - wie im head-Tag - das Alternativen-Element
(siehe 2.3.4) möglich. Als Attribut für das body-Element ist in SMIL1 nur die XML-obligatorische id vorgesehen. 2.3.1 Die Elemente par und seqDiese Elemente dienen beide der Koordination und Synchronisation des multimedialen Inhalts. Die Inhalte des par-Elemnts werden parallel, die des seq-Elements sequentiell in den Verlauf der Präsentation eingebunden. Prinzipiell können auch die Elemente innerhalb des par-Elements sequentiell über der Zeit angeordnet sein, die Synchronisationsangaben aller enthaltenen Elemente beziehen sich aber immer auf die Anfangszeit des umschliessenden par-Elements, während die Inhalte des seq-Elements immer relativ zum Ende des vorangegangenen Elementes synchronisiert sind. Da keine negativen Zeitangaben definiert werden sollen bedeutet dies, dass sich die Inhalte eines seq-Elements zeitlich nicht überlappen können, die des par-Elements aber schon. Generell erlaubt die Spezifikation eine beliebige und beliebig tiefe Verschachtelung der beiden Element-Typen ineinander. Einige Implementierungen erlauben aber nicht die Verwendung mehrer par-Elemente als Geschwisterknoten. Deshalb sollte die Zuweisung z.B. des region-Attributs immer direkt am Präsentationselement erfolgen, obwohl es definitionsgemäß auch den Elementen par und seq zugewiesen werden darf. Die Synchronisationselemente können folgende Attribute haben:
sowie die Testattribute (2.3.4)
Zusätzlich kann dem par-Element noch das Attribut
anhängen. Die möglichen (Element-)Inhalte der Synchronistionselemente sind identisch mit denen des body-Elements. 2.3.2 Die PräsentationselementeDie Präsentationsinhalte werden über die Elemente ref, animation, audio, img, video, text und textstream eingebunden. Prinzipiell darf jedes dieser Tags jede beliebige Text-, Bild-, Video- oder Audioquelle referenzieren. Eine Übereinstimmung von Quellentyp und Elementtyp ist allerdings wünschenswert, um das SMIL-Dokument lesbarer zu machen. Wenn der Autor sich über den Typ des einzubindenden Mediums im Unklaren ist, soll das ref-Element gewählt werden. Der Typ der Quelldaten soll über den "Multimedia Internet Message Extension"-Typ ("MIME-type") [4] ermittelt werden, der entweder im type-Attribut angegeben sein kann, oder im Application-Layer des Protokolls, mit dem auf die Quelle zugegriffen wird. RealONE hält sich abweichend allein an die Extension. Die SMIL1-Spec unterscheidet die Präsentationsquellen hier noch in zwei Gruppen. Kontinuierliche Elemente wie Animationen, Videos und Audios, die sich durch eine intrinsische Länge auszeichnen. Diskrete Elemente, wie Texte oder unbewegte Bilder, denen keine intrinsische Länge anhängt. Präsentationselemente können folgende Attribute haben:
sowie alle Testattribute (2.3.4). Die Präsentationselemente können anchor-Elemente(2.3.3) enthalten. 2.3.3 Hyperlink-ElementeDas a-Element wird - wie in HTML - dazu verwendet, einen Verweis auf eine anderes vollständiges Darstellungsobjekt zu verwirklichen. Es kann ein Präsentationselement (2.3.2) oder ein Koordinationselement (2.3.1) enthalten. Die Darstellungsfläche des enthaltenen Elements bildet den Bildschirmabschnitt, der auf Mausklick den Verweis aktiviert. Bsp.:
Bei Aktivierung soll das Programm versuchen, das Dokument hinter dem Verweis, den der Wert des href-Attributes im a-Element angibt, darzustellen. Das anchor-Element dient als Verweisziel innerhalb einer Präsentation. Der Wert seines id-Attributs ist bei der Referenzierung anzugeben (#-Teil der URI). Bsp.: Bei Aktivierung im verweisenden Dokument soll das Programm versuchen, das Zieldokument ab dem Beginn des referenzierten anchor-Elements im Zieldokument darzustellen. Hier würde also nur das zweite audio-Element abgespielt. 2.3.4 Testattribute und das switch-ElementDie switch-Elemente dienen dazu dem darstellenden Programm die verschiedenen enthaltenen Tags als Alternativen anzubieten. Innerhalb des head-Tags kann switch verschiedene layout-Elemente anbieten, im body-Tag kann der switch alle Elemente enthalten, die auch für das body-Tag selbst zulässig sind (Kapitel 2.3). Hier dürfen auch verschiedene Elementtypen gemischt werden. Die Entscheidng, welche Alternative gewählt wird, soll anhand zweier Kriterien getroffen werden. Des erste Kriterium ist die Fähigkeit des Programms, den angebotenen Inhalt überhaupt zu interpretieren. Das zweite Kriterium sind in SMIL definierte sogenannte Testattribute. Diese müssen als wahr oder falsch im Sinne von "Attribut ist gegeben" oder "Attribut ist nicht gegeben" ausgewertet werden. Eine Alternative darf nur gewählt werden, wenn alle ihre Attribute zu wahr ausgewertet werden. Folgende Testattribute sind in SMIL 1 definiert:
Achtung, zusammengesetzte Attributbezeichner haben in SMIL 2 eine Änderung der schreibweise erfahren. Sie werden jetzt im sogenanten "camel case" geschrieben. So wird z.B "system-bitrate" zu "systemBitrate". Bedauerlicherweise sind nicht alle Viewer in dieser Beziehung abwärtskompatibel. Der Referenz-Viewer RealONE zeigt hier leider ein in keiner Weise logisch nachvollziehbares Verhalten. So wird z.B. system-required="mp3" zu "false" ausgewertet, schreibt man den Attribut-Namen aber falsch - system-requird="mp3" - wird die Quelle(ein mp3-file!) abgespielt. Man darf auf die Gamma-Version hoffen ... Testattribute dürfen auch außerhalb des switch-Tags verwendet werden um zu bestimmen, ob ein bestimmtes Element dargestellt werden soll, oder nicht. |