Klausur zur Vorlesung Einführung in XML



Ähnliche Dokumente
Klausur zur Vorlesung Einführung in XML

Scalable Vector Graphics (SVG)

XML Schema vs. Relax NG

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Klausur zur Vorlesung Einführung in XML

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Datenaustauschformate. Datenaustauschformate - FLV

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

DTD: Syntax-Zusammenfassung

XML exemplarisch. nach: André Bergholz, Extending Your Markup: An XML Tutorial IEEE Internet Computing, Jul./Aug. 2000, 74 79

Übungsaufgaben zu XML:

Universität Augsburg, Institut für Informatik Wintersemester 2011/2012 Prof. Dr. W. Kießling 03. Feb Semesterklausur

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

XSL Templates. Mit Templates arbeiten. XSL Templates

Erstellen eines HTML-Templates mit externer CSS-Datei

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Meine erste Homepage - Beispiele

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

e LEARNING Kurz-Anleitung zum Erstellen eines Wikis 1. Wiki erstellen

IT-Zertifikat: Daten- und Metadatenstandards

Klausur Interoperabilität

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Erste Schritte mit XHTML

Aufgaben zu XPath und XQuery

Klausur zur Vorlesung Datenbanken I im Wintersemester 2011/12

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

Die Beitrags-Ordnung vom Verein

Schiller-Gymnasium Hof

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Leichte-Sprache-Bilder

Vorlesung Dokumentation und Datenbanken Klausur

Die Post hat eine Umfrage gemacht

XML, XML-DTDs, und XML Schema

Das Schulsystem in Deutschland (Band 2, Lektion 1)

LSF-Anleitung für Studierende

3. Neuen Newsbeitrag erstellen Klicken Sie auf das Datensatzsymbol mit dem +, damit Sie einen neuen Newsbeitrag erstellen können.

Klausur zur Veranstaltung Industrielle Produktionssysteme im SS 04

XML Kurs LRZ 1

Kundeninformation PDF-Erzeugung in Adobe Illustrator, Adobe InDesign und QuarkXPress Datenprüfung und Datenübergabe

TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann Februar Schriftliche Leistungskontrolle (EK)

Reimo Fachhändlerbereich Import Datei

Outlook Vorlagen/Templates

Urlaubsregel in David

Fachhochschule Düsseldorf Wintersemester 2008/09

Informatik 12 Datenbanken SQL-Einführung

Dokumentation Externe Anzeige von Evento Web Dialogen

9 Auto. Rund um das Auto. Welche Wörter zum Thema Auto kennst du? Welches Wort passt? Lies die Definitionen und ordne zu.

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

FRAGEBOGEN ANWENDUNG DES ECOPROWINE SELBSTBEWERTUNG-TOOLS

Informationen zum Ambulant Betreuten Wohnen in leichter Sprache

«Integration in WebSite» HTML-/Javascript-Code-Beispiele

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Neuer Releasestand Finanzbuchhaltung DAM-EDV E Inhaltsverzeichnis. 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC...

Sie sollen eine Datenbank für Befragungen mittels Online-Fragebögen zu unterschiedlichen Themen erstellen:

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Statuten in leichter Sprache

Containerformat Spezifikation

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Standard-Kontaktformular

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

Anleitung zur Nutzung der hogast- Vermarktungsplattform We are Austria für Mitglieder der hogast Österreich.

WordPress. Dokumentation

YouTube: Video-Untertitel übersetzen

Landes-Arbeits-Gemeinschaft Gemeinsam Leben Gemeinsam Lernen Rheinland-Pfalz e.v.

Verteilte Systeme: Übung 4

IT-Zertifikat: Daten- und Metadatenstandards. Transformation von XML-Dokumenten mit XSLT (und XPATH) XSLT kurz und knackig. XSLT und die Praxis

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Erstellen von x-y-diagrammen in OpenOffice.calc

Benutzerverwaltung Business- & Company-Paket

Kursdemo zum Kurs Übungen zum Zivilrecht. Prof. Dr. Inge Scherer

Ändern eines Kontotyps

Erfahrungen mit Hartz IV- Empfängern

Wie Sie beliebig viele PINs, die nur aus Ziffern bestehen dürfen, mit einem beliebigen Kennwort verschlüsseln: Schritt 1

Klausur zur Vorlesung Stochastische Modelle in Produktion und Logistik im SS 2010

Tipps zur Nutzung der ViT 1 Lernen ViT Üben HAU ViT ViT ViT ViT ViT Testen ViT VORSC Bewerten RAGTIME ViT zur Vollversion ViT

OutLook 2003 Konfiguration

Containerformat Spezifikation

Registrierung von Abschlussprüfern aus Drittländern Formular A (DE)

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

b. Sie erhalten danach von unserem Team Ihre neue Vermittler-Nummer (= VermittlerID).

SEPA-Anleitung zum Release 3.09

ARCO Software - Anleitung zur Umstellung der MWSt

Multimedia Technologie II

Repräsentative Umfrage zur Beratungsqualität im deutschen Einzelhandel (Auszug)

Gilden-Design - Fragebogen

Lehrer: Einschreibemethoden

Abschlussklausur am 12. Juli 2004

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back

Zur Einrichtung der orgamax Cloud auf Ihrem ipad beschreiben wir hier die Vorgehensweise.

Spiel und Spaß im Freien. Arbeitsblat. Arbeitsblatt 1. Zeichnung: Gisela Specht. Diese Vorlage darf für den Unterricht fotokopiert werden.

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Step by Step-Anleitung Version 1.00 vom 03. März 2009 Christian Schnettelker,

Transkript:

Nachname: Klausur zur Vorlesung Einführung in XML MUSTERLÖSUNG Vorname: Matr.Nr.: Studiengang: Bearbeiten Sie alle Aufgaben! Hilfsmittel sind nicht zugelassen. Die Bearbeitungszeit ist 90 Minuten. Aufgabe Punkte max. Punkte erreicht 1 1 + 2 2 4 3 6 4 4 5 4 6 3 7 4 Summe 28 1 von 10

Aufgabe 1: Wir betrachten das Inhaltsverzeichnis eines fiktiven Sammelbandes mit Autoren, Beitragstiteln und Seitenzahlen. <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="sammelbandstyle.xsl"?> <!DOCTYPE Band SYSTEM "Sammelband.dtd"> <Band Titel="All you didn&apos;t want to know about XML" Jahr="2015"> <Autoren> <Autor AID="SA">Stefan Achler</Autor> <Autor AID="SP">Sebastian Pape</Autor> <Autor AID="CS">Christof Schöch</Autor> <Autor AID="KS">Kai Schweinsberg</Autor> <Autor AID="LW">Lutz Wegner</Autor> </Autoren> <Inhalt> <Beitrag Seiten="12"> <AutorRef RID="SA"/> <Titel>Gesture-Based Data Exploration</Titel> <Quelle Quelltyp="Proceedings">MEDI2014, Larnaca</Quelle> </Beitrag> <Beitrag Seiten="12"> <AutorRef RID="KS"/><AutorRef RID="LW"/> <Titel>Mapping XML Documents</Titel> <Quelle Quelltyp="Proceedings">MEDI2014, Larnaca</Quelle> </Beitrag> <Beitrag Seiten="2"> <AutorRef RID="SA"/><AutorRef RID="CS"/> <Titel>Bringing TEI Lite to Drupal</Titel> <Quelle Quelltyp="Poster">Digital Humanities Conf.</Quelle> </Beitrag> <Beitrag Seiten="14"> <AutorRef RID="SP"/><AutorRef RID="CS"/><AutorRef RID="LW"/> <Titel>TEICHI and the Tools Paradox</Titel> <Quelle Quelltyp="Article"> The Journal of the Text Encoding Initiative </Quelle> </Beitrag> </Inhalt> </Band> 2 von 10

(a) Ist das Dokument ein wohlgeformtes XML-Dokument? Wenn nein, welche Fehler enthält es? Das Dokument ist wohlgeformt. (b) Die Reihenfolge der Autoren ist bei den Beiträgen wichtig. Ist sie durch die Reihenfolge der AutorRef-Elemente vorgegeben? Wenn nein, wie kann man eine zusätzliche Nummerierung über Attribute einführen? Die Reihenfolge der Autoren ist durch die Reihenfolge der AutorRef- Elemente bestimmt. Aufgabe 2: Ergänzen Sie die unterstrichenen Lücken in der DTD für das (ggf. korrigierte) Sammelband- Dokument von oben! Es gelten die folgenden Vorgaben: Das Quelle-Element darf höchstens einmal auftreten. Alle Attribute außer Quelltyp sind verpflichtend, Quelltyp hat keinen Default-Wert. Das Attribut AID ist ein eindeutiger Bezeichner für den Autor. Das Attribut RID zeigt auf diesen Bezeichner. Jeder Beitrag hat mindestens einen Autor. <!-- DTD fuer das Sammelband-Dokument --> <!ELEMENT Band (Autoren, Inhalt)> <!ATTLIST Band Titel CDATA #REQUIRED Jahr CDATA #REQUIRED> <!ELEMENT Autoren (Autor)+> <!ELEMENT Autor (#PCDATA)> <!ATTLIST Autor AID ID #REQUIRED> <!ELEMENT Inhalt (Beitrag)+> <!ELEMENT Beitrag ( AutorRef+, Titel, Quelle? )> <!ATTLIST Beitrag Seiten CDATA #REQUIRED> <!ELEMENT AutorRef EMPTY> <!ATTLIST AutorRef RID IDREF #REQUIRED> <!ELEMENT Titel (#PCDATA)> <!ELEMENT Quelle (#PCDATA)> <!ATTLIST Quelle Quelltyp ( Proceedings Monograph Article Poster ) #IMPLIED > 3 von 10

Aufgabe 3: Füllen Sie die Lücken im XML-Schema zum Sammelband-Dokument. Orientieren Sie sich bei den gewünschten Angaben an den Vorgaben der DTD aus Aufgabe 2. Zusätzlich bzw. abweichend soll gelten, dass die Attribute Jahr und Seiten positive ganze Zahlen sind. <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/xmlschema"> <xsd:element name=" Band " type=" BandType "/> <xsd:complextype name="bandtype"> <xsd:sequence> <xsd:element name="autoren" type="autorentype"/> <xsd:element name="inhalt" type="inhalttype"/> </xsd:sequence> <xsd:attribute name="titel" type="xsd:string" use="required"/> <xsd:attribute name="jahr" type=" xsd:positiveinteger " use="required"/> <xsd:complextype name="autorentype"> <xsd:sequence> <xsd:element name="autor" type="autortype" maxoccurs="unbounded" /> </xsd:sequence> <xsd:complextype name="autortype"> <xsd:simplecontent> <xsd:extension base="xsd:string"> <xsd:attribute name="aid" type=" xsd:id " use="required"/> </xsd:extension> </xsd:simplecontent> <xsd:complextype name="inhalttype"> <xsd:sequence> <xsd:element name="beitrag" type="beitragtype" maxoccurs="unbounded" /> </xsd:sequence> 4 von 10

<xsd:complextype name="beitragtype"> <xsd:sequence> <xsd:element name="autorref" type="autorreftype" maxoccurs="unbounded"/> <xsd:element name="titel" type="xsd:string"/> <xsd:element name="quelle" type="quelletype" minoccurs="0" /> </xsd:sequence> <xsd:attribute name="seiten" type=" xsd:positiveinteger " use="required"/> <xsd:complextype name="autorreftype"> <xsd:attribute name="rid" type=" xsd:idref " use="required"/> <xsd:complextype name="quelletype"> <xsd:simplecontent> <xsd:extension base="xsd:string"> <xsd:attribute name="quelltyp"> <xsd:simpletype> <xsd: restriction base=" xsd:string "> <xsd:enumeration value="proceedings"/> <xsd:enumeration value="monograph"/> <xsd:enumeration value="article"/> <xsd:enumeration value="poster"/> </xsd: restriction > </xsd:simpletype> </xsd:attribute> </xsd:extension> </xsd:simplecontent> </xsd:schema> 5 von 10

Aufgabe 4: Ergänzen Sie die Lücken im Stylesheet, damit unser, ggf. korrigiertes Sammelband-Dokument aus Aufgabe 1 die gezeigte Ausgabe erzeugt. <?xml version='1.0'?> <xsl:stylesheet version='1.0' xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:template match="/"> <html> <head> <title>inhaltsverzeichnis</title> </head> <body> <h1><xsl:value-of select=" Band/@Titel "/></h1> <table border="1"> <xsl:apply-templates select=" Band/Inhalt/Beitrag "/> </table> </body> </html> </xsl:template> <xsl:template match="beitrag"> <tr> <td><xsl: apply-templates select="autorref"/></td> <td><xsl:value-of select="titel"/></td> 6 von 10

<td> <xsl:value-of select="quelle"/> (<xsl:value-of select="quelle/@quelltyp"/>) </td> </tr> </xsl:template> <xsl:template match="autorref"> <xsl:value-of select="//autor[_@aid_=current()/ @RID ]"/><br/> </xsl:template> </xsl:stylesheet> Aufgabe 5: Wir erstellen eine Autorenstatistik, die alle Autoren in alphabetischer Reihenfolge ihrer Namen und die Anzahl der Beiträge im Sammelband, an denen sie beteiligt sind, auflistet. Füllen Sie die Lücken in der folgenden XQuery auf dem ggf. korrigierten Dokument Sammelband.xml, sodass das unten gezeigte Ergebnis geliefert wird! <Autorenstatistik> { let $doc := fn:doc("sammelband.xml") for $a in $doc/band/autoren/autor order by $a return <Autor Name="{ $a }"> { fn:count($doc/band/inhalt/beitrag[autorref/@rid= $a/@aid ]) } </Autor> } </Autorenstatistik> Ausgabe: <Autorenstatistik> <Autor Name="Christof Schöch">2</Autor> <Autor Name="Kai Schweinsberg">1</Autor> <Autor Name="Lutz Wegner">2</Autor> <Autor Name="Sebastian Pape">1</Autor> <Autor Name="Stefan Achler">2</Autor> </Autorenstatistik> 7 von 10

Aufgabe 6: Gegeben seien die drei folgenden Datenbanktabellen AUTOREN, BEITRAEGE und AB. AUTOREN BEITRAEGE AB AID NAME BID TITEL AID BID SA Stefan Achler MEDA Gesture-Based Data Exploration SA MEDA SP Sebastian Pape MEDB Mapping XML Documents SA DHC CS Christof Schöch DHC Bringing TEI Lite to Drupal SP JTEI KS Kai Schweinsberg JTEI TEICHI and the Tools Paradox CS DHC LW Lutz Wegner CS JTEI KS MEDB LW MEDB LW JTEI Füllen Sie die Lücken in der SQL/XML-Abfrage unten. Geliefert werden soll die gezeigte Ausgabe, die bis auf das umgebende Element Autorenstatistik gleich ist der Ausgabe aus Aufgabe 5. SELECT XMLELEMENT( NAME "Autor", XMLATTRIBUTES( AUTOREN.NAME AS "Name" ), COUNT(AB.BID) ) FROM AUTOREN, AB WHERE AUTOREN.AID = AB.AID GROUP BY AUTOREN.NAME ORDER BY AUTOREN.NAME; Ergebnis: <Autor Name="Christof Schöch">2</Autor> <Autor Name="Kai Schweinsberg">1</Autor> <Autor Name="Lutz Wegner">2</Autor> <Autor Name="Sebastian Pape">1</Autor> <Autor Name="Stefan Achler">2</Autor> 8 von 10

Aufgabe 7: Auch wenn es nicht ganz in eine Klausur im Sommersemester passt, heute betrachten wir aus unserer Sammlung animierter Verkehrszeichen das Gefahrenzeichen 113 Schnee- oder Eisglätte. Ergänzen Sie die Lücken durch Angabe der passenden Ziffer! Hinweis: Nicht alle Ergänzungen werden gebraucht, manche aber mehrfach. 1 defs 2 #flake 3 path 4 #arrow 5 rotate 6 #strunk 7 translate 8 rect <?xml version="1.0"?> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <rect x="0" y="0" width="600" height="600" fill="white"/> <line x1="50" y1="500" x2="550" y2="500" style="stroke:red; stroke-width:50px; stroke-linecap:round"/> <line x1="50" y1="500" x2="300" y2="67" style="stroke:red; stroke-width:50px; stroke-linecap:round"/> <line x1="300" y1="67" x2="550" y2="500" style="stroke:red; stroke-width:50px; stroke-linecap:round"/> < 3 style="stroke:black; stroke-width:2px" fill="none" d="m 260 50 A 43 43 60 0 1 340 50 L 590 480 A 43 43-60 0 1 550 545 L 50 545 A 43 43-60 0 1 10 480 L 260 50"/> < 1 > <polygon id="arrow" points="300,260 310,265 310,300 290,300 290,265" fill="black"/> <g id="flake"> <rect id="strunk" x="290" y="300" width="20" height="60" fill="black"/> <use xlink:href=" 4 "/> 9 von 10

<use xlink:href=" 4 " transform="rotate(-60, 300, 300)"/> <use xlink:href=" 4 " transform="rotate(60, 300, 300)"/> </g> </ 1 > <g> <use xlink:href=" 2 "/> <use xlink:href=" 2 " transform="rotate(60, 300, 360)"/> <use xlink:href=" 2 " transform="rotate(120, 300, 360)"/> <use xlink:href=" 2 " transform="rotate(180, 300, 360)"/> <use xlink:href=" 2 " transform="rotate(-60, 300, 360)"/> <use xlink:href=" 2 " transform="rotate(-120, 300, 360)"/> <animatetransform attributename="transform" type=" 5 " from="0 300 360" to="360 300 360" dur="6s" repeatcount="indefinite"/> </g> </svg> ENDE DER KLAUSUR 10 von 10