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

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

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

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

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

XML Schema vs. Relax NG

Klausur zur Vorlesung Einführung in XML

Klausur zur Vorlesung Einführung in XML

Extraktion von Metainformationen

Zusammenfassung M. Rigling 1/22 Version 1.0

XML Kurs LRZ 1

Diese Version ist anwendbar für die Übermittlung von Daten, die die folgenden Veranlagungszeiträume betreffen:

Programmieren II SAX. Beispiel-Schema kontakt.xsd SAX DOM. Dr. Klaus Höppner JAXB. Hochschule Darmstadt SS 2008

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester Fachbereich MNI Technische Hochschule Mittelhessen

Einführung in Datenbanken - XML - Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung

Angewandte Softwareentwicklung XML

ASN.1 <-> XML TRANSLATION

Aufgaben eines Codegenerators

Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis

XML für Medientechnologen

Gliederung. Service Oriented Architecture - XML Technologies. 1 von 11

Projektseminar "Texttechnologische Informationsmodellierung"

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

Vortrag im Rahmen des IFC-Seminars am Performance Messungen mit XML bei der empolis GmbH

Duale Zustellung. Standardprofile. Version 1.0.0, DI Arne Tauber

Technische Richtlinie

AUFGABENSTELLUNG FÜR DIE DIPLOMARBEIT

XSL Templates. Mit Templates arbeiten. XSL Templates

DTD: Syntax-Zusammenfassung

XML Informationsmodelle

Modell/Metamodell. Generated Source Code. Generator. Model. Fakultät für Informatik und Wirtschaftsinformatik MDSD - SS 2014

Ruhr.pm XML-Daten verarbeiten mit XML::LibXML Autor: Datum:

Stefan Brass Martin-Luther-Universität Halle-Wittenberg

Crashkurs XML. Überblick - Nachmittag Felix Naumann RDBMS XML. Anfragebearbeitung Optimierung

XML-Datenmodellierung und Web-Services

XML-Dateien und Powershell

Reimo Fachhändlerbereich Import Datei

Historisches Ortsnamenverzeichnis

Interface Spezifikation exotargets LS

Projektarbeit Sommersemester Fachhochschule Ravensburg- Weingarten

Transformation von XML-Dokumenten. IDE SummerSchool 2013, Chemnitz

Polymorphe Typen in OEM (1) OEM. Polymorphe Typen in OEM (2) Object Exchange Model (OEM)

Daten in XML umwandeln

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis

Microsoft SQL Server 2000: Architektur

Übungsaufgaben zu XML:

<BPM-XML-Seminar/> Michael Fellmann, M.A. Grundlagen Standards und Vokabulare XML-basiertes Prozessmanagement. Universität Osnabrück

XML. Basis Syntax. Basis Syntax. XML (extensible Markup Language)

Konfiguration von Web Services zur Ausführung von Jobs

Datenaustauschformate. Datenaustauschformate - FLV

XML und Datenbanken. Simon Temp Hamburg, 30 Nov. 2005

<UL> <LI> Curie <LI> Sokrates </UL> & '$ "( % # ) * + ",+ <UL> <LI> Mäeutik <LI> Bioethik </UL> ) -. / 0

Web-Programmierung (WPR)

Die besondere Rolle von XML im EAI. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm

Vorlesungsreihe Entwicklung webbasierter Anwendungen XML. Prof. Dr.-Ing. Thomas Wiedemann.

Internetbasierte Systeme

Softwareentwicklung mit Komponenten

Softwaretechnologien Teil: XML-Technologien und Programmierung Master-Studiengang IKT Herbst 2010

Verwaltungsaufgaben lösen mit XML und L A T E X

XML-Programmierschnittstellen: SAX, DOM

Klausur Semistrukturierte Daten und XML Sommersemester 2009 Prof. Dr. Wolfgang May 16. Juli 2009, Uhr Bearbeitungszeit: 90 Minuten

XML-Schema. Einordnung

Vorlesung - Web Services

XML und Java -- wohin geht die Reise?

Semistrukturierte Daten. 2. Datenmodellierung mit XML und XML-Schema XML. Lernziele:

Marek Kubica Michael Kerscher Rechnernetze und Verteilte Systeme Übungsblatt 10 Gruppe G

XML. Design Patterns. von Susanne Katz (sk30) und Daniel Brenner (db029)

1 Software Engineering 1

Material zum Praktikumsversuch

XML Grundlagen Teil I

Rechnungserstellung und Datenformate

Kapitel 5: XML (Extensible Markup Language)

X-Technologien. XML and Friends. Jörn Clausen 9. Juli 2001

Übersicht. Web (Site) Engineering (WebSE) Java-Applets II. Java-Applets. Client-basierte Techniken Applets

Flexible Automatisierung von Geschäftsprozessen mit BPMN und Web Services

Berner Fachhochschule Software Schule Schweiz JDOM. Beatrice Amrhein. Oktober 06

XML-Datei für Web Service auslesen und schreiben

Cross Media Publishing von Lehrmaterialien mit XML Schema & XSL-Transformationen

[ZUSAMMENFASSUNG] Extensible Markup Language (XML) Betriebliche Informationssysteme 1 - PA

Datenbanksysteme I XML & Datenbanken Dr. Gjergji Kasneci (Folien von Prof. Dr. Felix Naumann)

Seminar E-Services WS 02/03 WSDL. Web Services Description Language. Moritz Kleine SES 02 - WSDL

XML-Parser K. Schild, 2006 / M. Mochol

XML. Webtechnologien - WebT. Übersicht. Datenformat: Vergleich. Wozu XML? extensible Markup Language Das universelle Datenaustauschformat

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

XML DTD und Schema von Thomas Mangold

Ferhat Ayaz. XML mit C++

Michel Messerschmidt Diplomarbeit. Entwurf einer Sprache zur Klassifizierung von Malware-Vorfällen

XMI & Java. von Stefan Ocke so3@inf.tu-dresden.de 5.Juli 2001

XML-Praxis. XML-Grammatiken. Jörn Clausen

Diazo. XSLT basiertes Website Theming. Maik Derstappen Inqbus GmbH & Co. KG maik.derstappen@inqbus.de

Einzelne Anforderungen an den Inhalt und den Aufbau des Datensatzes

Erhöhung der Datenqualität in XML-Dokumenten von Desktop Applikationen. Alexander Hilliger von Thile - REI/ID

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder

Java API for XML Binding

XML und Internet-Datenbanken

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

Klausur zur Vorlesung Einführung in XML

XML Bank Management Systeme (XBMS)

IT-Zertifikat: Daten- und Metadatenstandards

Internetbasierte Systeme SS 2009 (Version vom )

Transkript:

Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 27. 6. 2007 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 120 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden nicht gewertet. Aufgabe 1: (9) Vervollständigen Sie die DTD nachrichten.dtd, so dass das XML-Dokument nachrichten.xml bezüglich dieser DTD gültig ist. Berücksichtigen Sie beim Erstellen der DTD folgende Punkte: Die Verknüpfung mit einer XML Schema-Definition ist optional. Ein nachrichten -Element kann 0 oder beliebig viele nachricht -Subelemente haben. Ein nachricht -Element kann 1 oder beliebig viele titel -Subelemente haben. Das redakteur -Subelement des nachricht -Elements ist optional. Das Attribut bereich des nachricht -Elements soll den Default-Wert sport haben. Ein text -Element hat gemischten Inhalt. Als Subelemente können folgende Elemente beliebig oft und in beliebiger Reihenfolge auftreten: schlagwort, auto und/oder person. Datei nachrichten.dtd: <!ELEMENT auto (#PCDATA)> <!ELEMENT person (#PCDATA)> <!ELEMENT schlagwort (#PCDATA)> <!ELEMENT orf:nachrichten (orf:nachricht*)> <!ATTLIST orf:nachrichten xmlns:orf CDATA #REQUIRED xmlns:xsi CDATA #IMPLIED xsi:schemalocation CDATA #IMPLIED> <!ELEMENT orf:nachricht (nr, titel+, datum, redakteur?, text)> <!ATTLIST orf:nachricht bereich CDATA "sport"> <!ELEMENT nr (#PCDATA)> <!ELEMENT titel (#PCDATA)> <!ELEMENT datum (#PCDATA)> <!ELEMENT redakteur (#PCDATA)> <!ELEMENT text (#PCDATA schlagwort auto person)*> A 1

Aufgabe 2: (9) Vervollständigen Sie in der XML Schema Definition nachrichten.xsd die complextype-definition des Typs Nachricht- Typ, so dass das XML-Dokument nachrichten.xml bezüglich dieses Schemas gültig ist. Berücksichtigen Sie dabei folgende Punkte: Das redakteur -Subelement des nachricht -Elements ist optional. Das Attribut bereich des nachricht -Elements soll den Default-Wert sport haben. Ein text -Element hat gemischten Inhalt. Als Subelemente können folgende Elemente beliebig oft und in beliebiger Reihenfolge auftreten: schlagwort, auto und/oder person. Datei nachrichten.xsd: <?xml version="1.0" encoding="utf-8" standalone="no"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" targetnamespace="http://www.orf.at/news" xmlns:news="http://www.orf.at/news"> <xs:element name="nachrichten"> <xs:complextype> <xs:sequence> <xs:element ref="news:nachricht" minoccurs="0" maxoccurs="unbounded"/> </xs:sequence> </xs:complextype> </xs:element> <xs:element name= "nachricht" type="news:nachrichttyp"/> <xs:complextype name="nachrichttyp"> <!-- Vervollständigen Sie diese complextype-definition --> <xs:sequence> <xs:element name="nr" type="xs:integer"/> <xs:element name="titel" type="xs:string" maxoccurs="unbounded"/> <xs:element name="datum" type="xs:date" /> <xs:element name="redakteur" type="xs:string" minoccurs="0" /> <xs:element name="text"> <xs:complextype mixed="true"> <xs:choice maxoccurs="unbounded"> <xs:element name="schlagwort" type = "xs:string" /> <xs:element name="auto" type = "xs:string" /> <xs:element name="person" type = "xs:string" /> </xs:choice> </xs:complextype> </xs:element> </xs:sequence> <xs:attribute name="bereich" type="xs:string" default="sport"/> </xs:complextype> </xs:schema> A 2

Aufgabe 3: (9) Vervollständigen Sie die XML Schema Definition fussball.xsd, so dass das XML-Dokument fussball.xml bezüglich dieses Schemas gültig ist. Berücksichtigen Sie beim Vervollständigen der XML Schema Definition folgende Punkte: Sie brauchen sich nicht um die Definition der Typen vereinetyp, bewerbetyp und titeltyp zu kümmern! Ergänzen Sie die Element-Definition von fussball, so dass folgende Schlüssel definiert werden: Das Attribut v id der verein -Elemente ist ein Primärschlüssel für die Vereine. Das Subelement b id der bewerb -Elemente ist ein Primärschlüssel für die Bewerbe. Die titel -Elemente enthalten folgende zwei Fremdschlüssel: Das Subelement verein ist ein Fremdschlüssel auf den Primärschlüssel der Vereine, und das Subelement bewerb ist ein Fremdschlüssel auf den Primärschlüssel der Bewerbe. Datei fussball.xsd: <?xml version="1.0" encoding="iso-8859-1"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/xmlschema"> <xsd:element name="fussball"> <xsd:complextype> <xsd:sequence> <xsd:element name="vereine" type="vereinetyp"/> <xsd:element name="bewerbe" type="bewerbetyp"/> <xsd:element name="titel" maxoccurs="unbounded" type="titeltyp"/> </xsd:sequence> </xsd:complextype> <!-- Fügen Sie hier die Primär- und Fremdschlüssel-Definitionen ein. --> <xsd:key name="pk_verein"> <xsd:selector xpath="vereine/verein"/> <xsd:field xpath="@v_id"/> </xsd:key> <xsd:key name="pk_bewerb"> <xsd:selector xpath="bewerbe/bewerb"/> <xsd:field xpath="b_id"/> </xsd:key> <xsd:keyref name="fk_verein" refer="pk_verein"> <xsd:selector xpath="titel"/> <xsd:field xpath="verein"/> </xsd:keyref> <xsd:keyref name="fk_bewerb" refer="pk_bewerb"> <xsd:selector xpath="titel"/> <xsd:field xpath="bewerb"/> </xsd:keyref> </xsd:element> </xsd:element> <!-- restliches Schema ist nicht Teil der Prüfungsaufgabe! --> <xsd:complextype name="vereinetyp">... </xsd:complextype> <xsd:complextype name="bewerbetyp">... </xsd:complextype> <xsd:complextype name="titeltyp">... </xsd:complextype> </xsd:schema> A 3

Aufgabe 4: (12) Vervollständigen Sie das XSLT Stylesheet fussball2vereine.xsl, das auf Instanz-Dokumente des Schemas fussball.xsd der vorigen Aufgabe angewandt werden kann und ein XML-Dokument gemäß folgender DTD liefert: <!ELEMENT vereine (verein*)> <!ELEMENT verein (v_id, name, titel*)> <!ELEMENT v_id (#PCDATA)> <!ELEMENT name (#PCDATA)> <!ELEMENT titel (bezeichnung, jahr)> <!ELEMENT bezeichnung (#PCDATA)> <!ELEMENT jahr (#PCDATA)> Erläuterung zu dieser DTD: Die verein -Elemente entsprechen genau den verein -Elementen laut fussball.xsd. Die Subelemente v id und name eines verein -Elements entsprechen den Informationen des entsprechenden verein -Elements laut fussball.xsd. Die Subelemente titel eines verein -Elements entsprechen jenen titel -Elementen laut fussball.xsd, deren Fremdschlüssel verein auf die v id dieses Vereins zeigt. Die Subelemente bezeichnung und jahr eines titel -Elements entsprechen der Bewerb-Bezeichnung laut b id und dem Subelement jahr laut fussball.xsd. Beispiel: Angewandt auf das XML-Dokument fussball.xml liefert dieses Stylesheet folgendes Ergebnis: <vereine> <verein> <v_id>1001</v_id> <name>fc Liverpool</name> <bezeichnung>champions League</bezeichnung> <jahr>1984</jahr> <bezeichnung>champions League</bezeichnung> <jahr>2005</jahr> </verein> <verein> <v_id>1002</v_id> <name>fc Barcelona</name> <bezeichnung>champions League</bezeichnung> <jahr>2006</jahr> <bezeichnung>primera Division</bezeichnung> <jahr>2006</jahr> </verein> </vereine> A 4

Datei fussball2vereine.xsl: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <!-- Ausgabe als XML --> <xsl:output method="xml" indent="yes" encoding="utf-8" version="1.0" /> <xsl:template match="fussball"> <vereine> <xsl:apply-templates select="//vereine/verein" /> </vereine> </xsl:template> <xsl:template match="verein"> <!-- Vervollständigen Sie dieses Template --> <verein> <v_id><xsl:value-of select="@v_id"/></v_id> <xsl:copy-of select = "name"/> <xsl:variable name="vid" select ="@v_id"/> <xsl:for-each select ="/fussball/titel[verein=$vid]"> <xsl:variable name="bew" select ="bewerb"/> <xsl:copy-of select = "//bewerb[b_id=$bew]/bezeichnung"/> <xsl:copy-of select ="jahr" /> </xsl:for-each> </verein> </xsl:template> </xsl:stylesheet> A 5

Aufgabe 5: (7) Geben Sie die Events plus Inhalt (Namen und evtl. Text), wie sie von einem SAX Parser gefeuert werden, für das folgende XML Fragment an. Gehen Sie davon aus, dass jeweils nur ein characterevent pro Textknoten gefeuert wird. Sie können die Events auch abkürzen (zb startelement = se). Beispiel: startelement wein bzw. se wein <wein><sorte>shiraz</sorte><?confidential-start?><frostschutz>10%</frostschutz><?confidential-end?></wein> startelement wein startelement sorte characterevent Shiraz endelement sorte processinginstruction confidential-start startelement frostschutz characterevent 10% endelement frostschutz processinginstruction confidential-end endelement wein A 6

Aufgabe 6: (9) Vervollständigen Sie die folgende Java Methode, so dass ein Node-Objekt zurückgegeben wird, das dem folgenden XML- Fragment entspricht. <wein><sorte typ="rot">shiraz</sorte></wein> Node constructrebe(document doc) throws Exception { Element wein = doc.createelement("wein"); Element sorte = doc.createelement("sorte"); sorte.setattribute("typ","rot"); Text shiraz = doc.createtextnode("shiraz"); sorte.appendchild(shiraz); wein.appendchild(sorte); } return wein; A 7

Aufgabe 7: (a) Schreiben Sie folgende XPath-Anfragen für das XML-Dokument nachrichten.xml von Aufgabe 1: (8) 1. Alle Nachrichten, für die kein Redakteur angegeben wurde. //orf:nachricht[not(redakteur)] 2. Alle Elemente namens nachricht im Namespace http://www.orf.at/news. Sie dürfen sich bei dieser Anfrage nur auf den Namespace und nicht auf ein bestimmtes Präfix verlassen. //node()[local-name()= nachricht and namespace-uri()= http://www.orf.at/news ] (b) Schreiben Sie folgende XPath-Anfragen für das XML-Dokument fussball.xml von Aufgabe 3: 3. Anzahl der Bewerbe, deren Organisator den Teil-String Football enthält. count( //bewerbe/bewerb[contains(organisator, Football )] ) 4. Summe der Budgets aller Vereine, deren Budget in Euro angegeben ist. sum(//verein/budget[@waehrung = Euro ]) Aufgabe 8: Kreuzen Sie an, ob die folgenden Aussagen wahr oder falsch sind. (12) 1. In der XML Schema Datei fussball.xsd von Aufgabe 3 hätte man die Schlüssel auch innerhalb der complextype- Definitionen definieren können, d.h.: Primärschlüssel für vereine innerhalb von vereinetyp, Primärschlüssel für bewerbe innerhalb von bewerbetyp, die beiden Fremdschlüssel innerhalb von titeltyp. wahr falsch 2. Das Element budget des XML-Dokuments fussball.xml von Aufgabe 3 könnte man in einer XML Schema Definition auf folgende Weise definieren: <xsd:element name="budget" type= "xsd:decimal"> <xsd:attribute name="waehrung" type="xsd:string"/> </xsd:element> wahr falsch 3. Betrachten Sie das XSLT-Stylesheet fussball2vereine.xsl von Aufgabe 4. Wenn man in der apply-templates Anweisung das Attribut select = //vereine/verein durch select = * ersetzt, so erhält man genau das gleiche Resultat. wahr falsch 4. Betrachten Sie das XSLT-Stylesheet fussball2vereine.xsl von Aufgabe 4. Wenn man beim ersten template das Attribut match = fussball durch match = / ersetzt, so erhält man genau das gleiche Resultat. wahr falsch 5. Für das XML-Dokument fussball.xml liefert die XPath-Anfrage //titel/jahr = 1984 den Boole schen Wert true und die XPath-Anfrage //titel/jahr!= 1984 den Boole schen Wert false. wahr falsch 6. Für das XML-Dokument fussball.xml liefert die XPath-Anfrage//verein/@v id = //bewerbe/bewerb/b id den Boole schen Wert true. wahr falsch 7. SAX verwendet die DOM API um ein XML Dokument zu lesen. wahr falsch 8. Je größer das XML Dokument ist, desto größer ist der Speicherbedarf des SAX Parsers. wahr falsch (Pro korrekter Antwort 1.5 Punkte, pro inkorrekter Antwort -1.5 Punkte, pro nicht beantworteter Frage 0 Punkte, für die gesamte Aufgabe mindestens 0 Punkte) A 8

Das folgende XML-Dokument nachrichten.xml gilt für die Aufgaben 1 und 2: <!DOCTYPE nachrichten SYSTEM "nachrichten.dtd"> <orf:nachrichten xmlns:orf = "http://www.orf.at/news" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://www.orf.at/news nachrichten.xsd"> <orf:nachricht bereich="sport"> <nr>10005</nr> Ferrari auf Fehlersuche <datum>2007-06-18</datum> <redakteur>heinz Prueller</redakteur> <text> Hamilton zermuerbt Konkurrenz. <auto>ferrari</auto> geraet im Kampf um die <schlagwort>wm 2007</schlagwort> endgueltig ins Hintertreffen. In Indianapolis waren die Italiener am Sonntag bereits im dritten Rennen in Folge gegen <auto>mclaren</auto> ohne Siegeschance. Nun wird fieberhaft gearbeitet, um das Kraefteverhaeltnis bis zum <schlagwort>grand Prix</schlagwort> von Frankreich am 1. Juli wieder umzudrehen. </text> </orf:nachricht> <orf:nachricht bereich="sport"> <nr>10015</nr> Abgang mit Polizeibegleitung Polizei holt Trainer vom Platz <datum>2007-06-19</datum> <text> Kuriose Szenen in der brasilianischen <schlagwort>meisterschaft</schlagwort>: Weil er nach einer vermeintlichen Fehlentscheidung das Spielfeld nicht verlassen wollte, wurde America-Trainer <person>lori Sandri</person> von der Polizei abgefuehrt. </text> </orf:nachricht> </orf:nachrichten> A 9

Das folgende XML-Dokument fussball.xml gilt für die Aufgaben 3 und 4: <fussball> <vereine> <verein v_id="1001"> <name>fc Liverpool</name> <gegruendet>1892</gegruendet> <budget waehrung="pfund">45100342.50</budget> </verein> <verein v_id="1002"> <name>fc Barcelona</name> <gegruendet>1899</gegruendet> <budget waehrung="euro">80100543.00</budget> </verein> </vereine> <bewerbe> <bewerb> <b_id>1001</b_id> <bezeichnung>premier League</bezeichnung> <organisator>football Association</organisator> </bewerb> <bewerb> <b_id>1053</b_id> <bezeichnung>primera Division</bezeichnung> <organisator>real Federacion de Futbol</organisator> </bewerb> <bewerb> <b_id>1100</b_id> <bezeichnung>champions League</bezeichnung> <organisator>uefa</organisator> </bewerb> </bewerbe> <verein>1001</verein> <bewerb>1100</bewerb> <jahr>1984</jahr> <verein>1002</verein> <bewerb>1100</bewerb> <jahr>2006</jahr> <verein>1001</verein> <bewerb>1100</bewerb> <jahr>2005</jahr> <verein>1002</verein> <bewerb>1053</bewerb> <jahr>2006</jahr> </fussball> Gesamtpunkte: 75 A 10