Blaize: Daten aus XML laden und als Links ausgeben

Beitrag lesen

Hey, erstmal vielen, vielen Dank für deine Antwort! Mit jquery habe ich noch garnicht gearbeitet und müsste mich erst einarbeiten, dazu fehlt mir gerade leider ein bisschen die Zeit. Habe jetzt schon alles mit JavaScript gemacht, bzw eigentlich sogar über xsl und nur die Transformation über JavaScript. Das mit der Liste funktioniert auch, aber es muss doch möglich sein, die Daten, die ich mir xsl rausgeholt hab, zu verlinken?! Würde gerne den Aufbau posten, aber ins Forum komme ich momentan nur übers Handy. Internet ist gerade etwas wackelig und bricht beim Forum immer ab :-/ lg, Vera

Javascript ist nicht so wirklich meine Stärke... Ich finde jquery sehr intuitiv. Möchtest Du damit vielleicht arbeiten? Nachfolgende Lösung bezieht sich auf jquery.

die Daten werden über XSLT aus der Instanz ausgelesen und in ein HTML eingefügt. Das läuft auch. Gut, dann hast Du ein DOM in welchem Du Dich bewegen und auf die strukturierten Daten zugreifen kannst (das könntest Du auch direkt in der XML Datei machen, aber da Du die Daten auch anzeigen möchtest ist es auch ok das im html zu machen).

Um nun mit jquery auf die gewünschten Daten zugreifen zu können, musst Du die Struktur mal bekannt geben. E.g. wie sind die Knoten aufgebaut, stehen die Informationen in Attributen oder im Content der Elemente, etc.

<items>

>   <media title="Video: alles über CSS3">
>     <description>
>     info goes here.
>     </description>
>   </media>
> 
>   <media title="Video: alles über HTML5">
>     <description>
>     info goes here.
>     </description>
>   </media>
> 
> </items>

oder eher so:

<items>

> 
>   <media>
>     <title>Video: alles über CSS3</title>
>     <description>info goes here.</description>
>   </media>
> 
>   <media>
>     <title>Video: alles über HTML5</title>
>     <description>info goes here.</description>
>   </media>
> 
> </items>

Je nach Aufbau musst Du dann auf die Informationen zugreifen. Im nächsten Schritt kannst Du dann daraus eine Linkliste erstellen.

Das könnte so ähnlich aussehen:

$("div.mediathek").find('media').each(function(){

> 
>   var $media= $(this);
>   var title = $media.attr("title");
>   var description = $media.find('description').text();
> 
>   var html = '<ul>';
>   html += '<li><a>'+title+'</a></li>'; // href natürlich auch noch erstellen
>   html += '</ul>';
> 
>   $('nav div.items').append($(html));
> });

(ungetestet)

Cheers, Baba