20.01.2013 Aufrufe

XML » SVG Presenter - Carto:net

XML » SVG Presenter - Carto:net

XML » SVG Presenter - Carto:net

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>XML</strong> <strong>»</strong> <strong>SVG</strong> PRESENTER | STRUKTURIERTE MULTIMEDIA-PRÄSENTATION IM WEB 178<br />

var svgGruppe = evt.getTarget().parentNode; // Betroffenes Objekt der Mausbewegung<br />

var gradientenObjekt = svgGruppe.firstChild; // Erstes (unterstes) Objekt<br />

var textObjekt = grad.nextSibling.nextSibling; // "Übernächstes" Objekt<br />

textObjekt.setAttribute("class","white"); // Textfarbe weiß setzen<br />

gradientenObjekt.setAttribute("visibility","visible"); // Verlaufs-Balken anzeigen<br />

...<br />

Listing<br />

6.5.1.2: Zugriff auf <strong>XML</strong>-Objekte (hier: <strong>SVG</strong>-Elemente) mittels ECMAScript und DOM (In script.js)<br />

M Adob<br />

VG sozusagen<br />

den „Grundstein“ der dem <strong>XML</strong> <strong>»</strong> <strong>SVG</strong> <strong>Presenter</strong> zugrunde liegenden Engine dar, da nahezu sämtliche 1<br />

ithilfe dieser Funktionalität kann nun, wie am Beispiel [Listing 6.5.1.2] aufgezeigt, im Rahmen des<br />

e <strong>SVG</strong>-Viewers auf einzelne Objekte eines S -Dokuments zugegriffen werden. Dies wiederum stellt<br />

<strong>SVG</strong>-Elemente der Präsentationsdatei auf Basis des „trivialen“, internen <strong>XML</strong>-Formates zur Laufzeit berech-<br />

<strong>net</strong>, in den „virtuellen Baum“ des <strong>SVG</strong>-Dokuments eingehängt und somit dynamisch angezeigt werden.<br />

Bevor allerdings auf dieses grafische Framework zugegriffen werden kann [s.6.5.2] müssen die zunächst in<br />

Form externer <strong>XML</strong>-Dateien<br />

or<br />

2 vorliegenden Präsentationsdaten, wie bereits eingangs erwähnt [s.Abb.6.5.1.3],<br />

jedoch „geparst“ und in interne Datenstrukturen transformiert werden: So werden etwa die Inhalte der<br />

Header-Sektion, die Angaben über Autor(en), Titel der Präsentation, Datum etc. liefern, in ein hierfür v<br />

gesehnes „Header“-Objekt im Code-Bereich überführt:<br />

// Header-Objekt:<br />

function Head(aTitle) {<br />

this.title = aTitle;<br />

this.authors = new Array();<br />

this.date = new Date();<br />

}<br />

function Head.prototype.addAuthor(anAuthor) { this.authors.push(anAuthor); }<br />

function Head.prototype.defineSetting(aSetting) { this.setting = aSetting; }<br />

...<br />

// <strong>XML</strong>-Parsing-Teil:<br />

var pr esentationData = new Node(document.getElementById("pdata"));<br />

var head = presentationData.filter(addNameSpace("head")); // Parse Head<br />

var presentation = new Presentation(head.filter(addNameSpace("title")).text());<br />

var authors = head.filter(addNameSpace("author")); // Autor(en) ausfiltern<br />

if(authors.count()!=1) // Wenn es mehrere Autoren gibt...<br />

for(var i=0;i

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!