XML » SVG Presenter - Carto:net
XML » SVG Presenter - Carto:net
XML » SVG Presenter - Carto:net
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