Gruppe A 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

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

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

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

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

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

PRÜFUNG IN SEMI-STRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

PRÜFUNG IN SEMI-STRUKTURIERTE 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

PRÜFUNG IN SEMI-STRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

PRÜFUNG IN SEMI-STRUKTURIERTE 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

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

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

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

PRÜFUNG IN SEMI-STRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

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

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

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

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

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

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

Projektseminar "Texttechnologische Informationsmodellierung"

2. Klausur Web-basierte Informationssysteme SS 2015

Programmieren II. Einführung in XML. Vorlesung 13. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2010 XML JAXP SAX DOM

Web (Site) Engineering (WebSE)

Deklaration standalone="yes" Quelle:

XML, XML-DTDs, und XML Schema

2. Klausur Web-basierte Informationssysteme SS 2016

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

XML-Schema Datentypen

Extensible Stylesheet Language Transformations XSLT

Aufgabe 5.1: (a) Lösung:

XSLT IDE AUTUMN SCHOOL

XSLT für SAP NetWeaver Process Integration. Transformationssprache für XML Dokumente

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

Seminar Dokumentenverarbeitung

Transformation von XML-Dokumenten mit XSLT

Klausur zur Vorlesung Einführung in XML

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

Übersicht. Web (Site) Engineering (WebSE) XML-Beispieldokument. Simple API for XML (SAX) [Pro] XML-Beispiel. Vorlesung 6: Tools und Programmierung

DTDs und XML-Schema. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme

Kurzeinführung in XML. Was ist XML? Well-formed u. gültiges XML Erste Anwendung in XML Externe DTD Attribute und Entities Datenausgabe mit XSL

Klausur zur Vorlesung Einführung in XML

Document Type Definition (DTD)

XSLT XSL Transformations

Wege zur Anzeige. XSL die extensible Stylesheet Language. Wege zur Anzeige. Folie 1. Institut für Dokumentologie und Editorik

Linux I II III Res WN/TT NLTK XML Weka E XML BNC XSLT BNC/XML 7 BNC/XML XML BNC XSLT. Ressourcen-Vorkurs

XSL Transformation. Eine praxisorientierte Einführung Philip Heck

DTDs und XML- Schemata

Einführung in XML. Arthur Brack FHDW Hannover. 1. Oktober 2009

Inhalt des Moduls: Grundlagen. Vorlagen. Kontrollstrukturen. Ausgabestrukturen. Parameter und Variablen. Dateibasierte Auslagerung

Programmieren II. Annotationen (1/3) Vorlesung 6. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester Annotationen XML JAXB

1 Was ist XML? Hallo XML! Kommentare in XML 52

XSLT XSL Transformations

Programmieren II. Annotationen (1/3) Vorlesung 6. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester Annotationen XML JAXB

Übung 2: XML / XQuery

Hauptseminar Informatik. Die Strukturierung von XML-Dokumenten mit Hilfe von DTDs und XML Schema

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

Android will doch nur spielen XML

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

XML-Übersicht. Von HTML zu XML

XML-Übersicht. Von HTML zu XML. Nutzen von XML. Geschichte von XML. Eigenschaften von XML. Nutzen von XML (extensible Markup Language)

Vorlesung Datenbanken II SS 2006

1. Klausur Web-basierte Informationssysteme SS 2010

Musterlösung Übungsblatt 14

Matrikelnummer: Bitte Namen und Matrikelnummer auf jeder Seite der Vorgabe und allen Arbeitsblättern eintragen!

XML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

XML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

artikel.dtd: Document Type Definition mit der Strukturbeschreibung artikel.xml: XML-Datei mit den durch Tags markierten Daten.

XML Schema vs. Relax NG

1. Einführung 2. DTD 3. XML Schema 4. XPath 5. XSLT 6. XSL-FO 7. XQuery 8. Web Services 9. XML und Datenbanken

XML Schema 2016 S h_da S Seite 1

XML steht für Extensible Markup Language. Helmut Vonhoegen (2007) beschreibt XML unter anderem so:

XML allgemein. Gliederung. Einführung und Überblick. Strukturelle Grundkonzepte. Dokument-Typ-Definitionen (DTD) XML-Schema. XML und Datenbanksysteme

Document Type Definitions (DTDs)

Einführung in XML Einführung in XML. Erik Wilde Institut für Technische Informatik und Kommunikationsnetze (TIK) ETH Zürich

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

Repräsentation von Struktur

XML Schema 2012/2013 S Seite 1 h_da W

extended Markup Language (XML)

Rückblick Klausurvorbereitung

XSL Transformations (XSLT) Teil II

XML. XML-Dokumente Schemadefinition DOM-Parser SAX-Parser Erzeugen von XML-Dokumenten XSL-Transformation API-Auszug

XSLT vs. STX STX. Streaming Transformation for XML. Jan Krueger

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

XSL. extended Stylesheet Language. Die Stylesheet Sprache für XML

XSL Transformations (XSLT) Teil I

Seminar im Sommersemester 2006 Institut für Mikrosystemtechnik, niversität Siegen

Eine Dokumenttypdefinition lässt sich im Kopfbereich des XML-Dokumentes (interne DTD) oder in einer separaten Datei formulieren (externe DTD).

Transkript:

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 13. 1. 2015 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden nicht gewertet. Bitte tragen Sie Namen, Studienkennzahl und Matrikelnummer ein. Halten Sie Ihren Studentenausweis bereit. Aufgabe 1: (12) Betrachten Sie die folgende xml-schema Datei test.xsd: <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/xmlschema"> <xsd:element name="a" type="atype"/> <xsd:complextype name="atype"> <xsd:choice minoccurs="1" maxoccurs="2"> <xsd:element name="b" type="btype" maxoccurs="2"/> <xsd:element name="c" type="xsd:int" /> </xsd:choice> </xsd:complextype> <xsd:complextype name="btype" mixed="true"> <xsd:sequence> <xsd:element name="b" type="btype" minoccurs="0" maxoccurs="2"/> <xsd:element name="c" type="xsd:int" minoccurs="0" maxoccurs="unbounded" /> </xsd:sequence> </xsd:complextype> </xsd:schema> Betrachten Sie weiters die acht verschiedenen xml-dateien, die unten angeführt sind. Sie können davon ausgehen, dass alle folgenden xml-dateien wohlgeformt sind. Es geht also lediglich darum, ihre Gültigkeit bezüglich test.xsd zu entscheiden. Kreuzen Sie an, welche der folgenden xml-dateien gültig bezüglich test.xsd sind: 1. <a/> gültig ungültig 2. <a><c>1</c></a> gültig ungültig 3. <a><b/><b/><b/><b/></a> gültig ungültig 4. <a><c>1</c><c>2</c><b/></a> gültig ungültig 5. <a><b><b><c>zahl 3</c></b></b></a> gültig ungültig 6. <a><b><b/><b/></b><b/></a> gültig ungültig 7. <a><b><b/><b/><b/></b></a> gültig ungültig 8. <a><b><b>zahl <c>3</c></b></b></a> gültig ungültig (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)

Aufgabe 2: Kreuzen Sie an, ob die folgenden Aussagen wahr oder falsch sind. (15) 1. Das X in XML steht für extensible. wahr falsch 2. Bei XML befindet sich immer Struktur und Präsentation in einem Dokument. wahr falsch 3. Das Wurzelelement eines XML Dokuments darf keine Attribute haben. wahr falsch 4. Jedes wohlgeformte XML-Dokument ist auch gültig. wahr falsch 5. In einem XML-Schema haben Attribute einen beliebigen xsd:simpletype als Datentyp. wahr falsch 6. Der XPath Ausdruck./../* eq. liefert in jedem Knoten (außer der Wurzel) falsch. wahr falsch 7. XSLT ist eine W3C Recommendation. wahr falsch 8. Der Speicherbedarf eines SAX-Parsers ist im Allgemeinen höher als eines DOM-Parsers. wahr falsch 9. Im match-attribut eines <xsl:template>-elements eines XSLT-Stylesheets dürfen beliebige XPath-Ausdrücke verwendet werden. wahr falsch 10. Ein absoluter XPath-Pfad beginnt beim Wurzelelement. 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)

Die folgenden Aufgaben 3 7 beziehen sich auf das XML-Dokument pruefung.xml, das Sie auf der letzten Seite dieser Prüfungsangabe finden. Aufgabe 3: (12) Vervollständigen Sie das DTD Dokument pruefung.dtd, sodass XML-Dokumente in der Gestalt von pruefung.xml (siehe Anhang) bezüglich dieser DTD gültig sind. Berücksichtigen Sie beim Erstellen der DTD folgende Punkte: Das Element pruefung ist das Wurzelelement und soll aus 5 7 beispiel-elementen, gefolgt von beliebig vielen (oder keinem) anhang-elementen. Spezifizieren Sie die bsp- und anhang-elemente anhand der Datei pruefung.xml. Beachten Sie, dass Elemente gemischten Inhalt haben können. Spezifizieren Sie die Attribute entsprechend dem Dokument pruefung.xml im Anhang. Das Auftreten der Attribute ist, sofern es sich nicht anders aus pruefung.xml schließen läßt, verpflichtend. Versuchen Sie weiters entsprechende Schlüsselbeziehungen zu finden und in der DTD abzubilden. Sollten bei bestimmten Elementen oder Attributen keine näheren Angaben bezüglich des genauen Typs vorgegeben sein, wählen Sie selbst einen sinnvollen Typ aus. Datei pruefung.dtd: <!ELEMENT pruefung (bsp,bsp,bsp,bsp,bsp,(bsp,bsp?)?,anhang*)> <!ATTLIST pruefung datum CDATA #REQUIRED> <!ELEMENT bsp (#PCDATA hinweis datei)*> <!ATTLIST bsp punkte CDATA #REQUIRED> <!ATTLIST bsp anmerkung CDATA #IMPLIED> <!ATTLIST bsp nr CDATA #REQUIRED> <!ELEMENT hinweis (#PCDATA)> <!ELEMENT datei (#PCDATA)> <!ATTLIST datei ref IDREF #REQUIRED> <!ELEMENT anhang (#PCDATA)> <!ATTLIST anhang name ID #REQUIRED>

Aufgabe 4: (10) Betrachten Sie die folgenden XPath-Abfragen angewandt auf das Dokument pruefung.xml (siehe Anhang). Falls als Ergebnis mehrere Knoten selektiert werden, trennen Sie die jeweiligen Ausgaben durch Leerzeichen. Falls der angegebene XPath Ausdruck keine Knoten selektiert, notieren Sie im entsprechenden Feld leere Ausgabe. Falls als Ergebnis bsp Knoten selektiert werden, geben Sie deren nr Attribute an. Betrachten Sie dazu folgendes Beispiel: //bsp 1 2 3 4 5 6 7 Geben Sie nun die entsprechende Ausgaben der folgenden XPath-Abfragen an. //bsp[@punkte>10] 1 2 3 //bsp[*] 1 3 4 //bsp[not(datei)] 1 2 5 6 7 count(//bsp[@punkte>10]) 3 sum(//bsp[@nr<3]/@punkte) 27

Aufgabe 5: (8) Betrachten Sie folgende-xquery Abfrage pruefung.xq angewandt auf pruefung.xml: for $b in //bsp let $p := $b/@punkte order by number($b/@punkte) descending return element {concat( bsp,$b/@nr){string($p) Geben Sie nun die Ausgabe von pruefung.xq angewandt auf pruefung.xml an. Die exakte Behandlung von Whitespaces ist dabei nicht relevant. <bsp2>15</bsp2> <bsp1>12</bsp1> <bsp3>12</bsp3> <bsp4>10</bsp4> <bsp6>9</bsp6> <bsp7>9</bsp7> <bsp5>8</bsp5> Aufgabe 6: (10) Erstellen Sie ein XSLT-Stylesheet pruefung.xsl, das angewandt auf Dokumente der Gestalt pruefung.xml ein Dokument folgender Art erzeugt: \begin{document \textbf{beispiel 1 (12 Punkte). \textbf{beispiel 2 (15 Punkte). \textbf{beispiel 3 (12 Punkte). \textbf{beispiel 4 (10 Punkte). \textbf{beispiel 5 (8 Punkte). \textbf{beispiel 6 (9 Punkte). \textbf{beispiel 7 (9 Punkte). \end{document

Das bedeutet also: Für die pruefung soll zuerst der Text \begin{document ausgegeben werden und abschliessend der Text \end{document ausgegeben werden. Für jedes Beispiel bsp soll der Text \textbf{bespiel nr (punkte Punkte). ausgegeben werden. Dabei sollen natürlich als nr und punkte die entsprechenden Attributwerte verwendet werden. Vervollständigen Sie hier das XSLT-Stylesheet pruefung.xsl. Die Verwendung von Kontrollstrukturen wie xsl:for-each ist für die Lösung nicht erlaubt! Datei pruefung.xsl: <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:output method="text"/> <xsl:template match="/"> <xsl:text>\begin{document </xsl:text> <xsl:apply-templates select="pruefung/bsp"/> <xsl:text>\end{document</xsl:text> </xsl:template> <xsl:template match="bsp"> <xsl:text>\textbf{beispiel </xsl:text> <xsl:value-of select="@nr"/> <xsl:text> (</xsl:text> <xsl:value-of select="@punkte"/> <xsl:text> Punkte). </xsl:text> </xsl:template> </xsl:stylesheet>

Aufgabe 7: (8) Vervollständigen Sie den folgenden SAX Handler, der angewandt auf Dokumente der Gestalt pruefung.xml überprüfen soll, ob die Gesamtpunkteanzahl (Summe der Punkte aller Beispiele) tatsächlich 75 beträgt. Ist dies der Fall soll der Text Passt! auf die Standardausgabe ausgegeben werden, ansonsten der Text Fehler!. Um die genaue Formatierung der Ausgabe brauchen Sie sich nicht zu kümmern public class PrüfungPrüfen extends DefaultHandler { int punkte; public void startelement(string uri, String localname, String qname, Attributes atts) throws SAXException { if ("bsp".equals(localname)) { punkte += Integer.parseInt(atts.getValue("punkte")); public void enddocument() throws SAXException { if (punkte == 75) { System.out.println("Passt!"); else { System.out.println("Fehler!");

Sie können diese Seite abtrennen! Datei pruefung.xml: <pruefung datum="2015-01-13"> <bsp nr="1" punkte="12" anmerkung="multiple choice"> Betrachten Sie die folgende XML-Schema Datei... <hinweis>pro korrekter Antwort 1.5 Punkte,... </hinweis> </bsp> <bsp nr="2" punkte="15" anmerkung="multiple choice">...</bsp> <bsp nr="3" punkte="12"> Vervollstaendigen Sie das DTD Dokument pruefung.dtd, sodass XML-Dokumente in der Gestalt von <datei ref="pruefung">pruefung.xml</datei> (siehe Anhang)... </bsp> <bsp nr="4" punkte="10"> Betrachten Sie die folgenden XPath-Abfragen angewandt auf das Dokument <datei ref="pruefung">pruefung.xml</datei> (siehe Anhang)... </bsp> <bsp nr="5" punkte="8">xquery...</bsp> <bsp nr="6" punkte="9">xslt... </bsp> <bsp nr="7" punkte="9">ende! </bsp> <anhang name="pruefung"> <![CDATA[ <!DOCTYPE pruefung SYSTEM "pruefung.dtd"> <pruefung datum="2015-01-13"> <bsp nr="1" punkte="12" anmerkung="multiple choice"> Betrachten Sie die folgende XML-Schema Datei... <hinweis>pro korrekter Antwort 1.5 Punkte,... </hinweis>... ]]> </anhang> </pruefung> Gesamtpunkte: 75