Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

Übungen

Eine Musikliste

Die wichtigsten Daten einer CD-Sammlung sind als XML-Dokument erfasst worden:

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE Musikliste SYSTEM "Musikliste.dtd">
<Musikliste>
    <Medium nummer="4710" typ="CD">
        <Titel>Abbey Road</Titel>
        <Interpret>The Beatles</Interpret>
        <Jahr>1969</Jahr>
        <Laufzeit>44</Laufzeit>
    </Medium>
    <Medium nummer="4711" typ="DVD">
        <Titel>The Wall</Titel>
        <Interpret>Pink Floyd</Interpret>
        <Jahr>1979</Jahr>
        <Laufzeit>81</Laufzeit>
        <BluRay />
    </Medium>
    <Medium nummer="4712" typ="CD">
...

Aufgabe 1

Die Musikliste (und ihre DTD) kannst du hier als ZIP-Datei herunterladen und bei dir entpacken.
Schreibe dann jeweils eine Python-Funktion, die

  1. Beispiel der Ausgabe in der Python-Shell alle Titel ausgibt (siehe rechts), zusammen mit der Art des Mediums (BluRay, MP3), falls angegeben.
  2. alle Titel eines Interpreten ausgibt (Beachte, dass es mehrere Interpreten pro Titel geben kann).
  3. eine Liste aller unterschiedlichen Interpreten zurückgibt.
  4. die Laufzeit aller Medien eines bestimmten Typs (CD,DVD) aufsummiert.

 

 

Limericks

Limerick: The Lady of RigaDie im Ausschnitt gezeigte SVG-Datei beinhaltet mehrere englische Limericks.

Auch SVG ist ein XML-Dialekt - im Quelltext der Datei sind die Texte aber nur schwer zu finden.

Aufgabe 2

  1. Lade die SVG-Datei herunter (rechter Mausklick). Suche die Elemente (Tags), die in SVG für die Anzeige von Texten zuständig sind.
  2. Schreibe ein Python-Programm, das alle Textinhalte extrahiert und ausgibt (z.B. als Liste von Strings).
  3. Erweitere das Programm, so dass die Texte nun inhaltlich gruppiert werden (alle Zeilen des Limericks zusammen), z.B. als zweidimensionale Liste.
X

Fehler melden

X

Suche