Fachhochschule Augsburg
Fachbereich Informatik

Klausur im Fach „XML“, Wintersemester 2001/02

Semester: I/MM 8
2002-01-30, 1530 Uhr
Bearbeitungszeit: 60 Minuten
Zugelassene Hilfsmittel: keine



Alle Codebeispiele, die angegeben oder verlangt sind, beziehen sich auf die Version 1.0 (second edition) der XML Recommendation des World Wide Web Consortiums vom 6. Oktober 2000.



back to top   1 Grundlagen

 

1.1  XML-Strukturen

  1. ) Skizzieren Sie kurz Syntax und Semantik der XML-Primitive Element und Attribut.
  2. ) Sind beide Primitive zwingend zur Inhaltsdarstellung notwendig?

1.2  XML-Inhaltscodierung

  1. ) Welche Rolle spielt der Unicode-Standard in XML?
  2. ) XML v1.1 wird zusätzlich zu den bisherigen white spaces auch die Zeichen 0x28 (Zeilentrenner in IBM-Mainframesystemen) und 0x2028 (Unicode Zeilentrenner) als Separatorensymbole enthalten.
    Welche Auswirkungen erwachsen hieraus für XML-Dokumente?

1.3  XHTML

Worin unterscheidet sich der HTML-Nachfolgestandard XHTML v1.0 vom klassischen HTML v4.01?

1.4  Wohlgeformtheit

  1. ) Welche Eigenschaften eines Textstroms müssen erfüllt sein, um ihn als wohlgeformtes XML einstufen zu können?
  2. ) Inwiefern stützt sich der Begriff der Wohlgeformtheit auf die Festlegungen des XML-Information Sets ab?

back to top   2 Namensräume

 

  1. ) Umreißen Sie die Rolle der Namensräume im praktischen Einsatz von XML-Sprachen.
  2. ) Geben Sie für jedes Element und Attribut des abgebildeten XML-Dokuments den zutreffenden Namensraum an.
  3. ) Befinden sich die Elemente elementE und elementF im selben Namensraum?
    Begründen Sie ihre Antwort!
(1)<?xml version="1.0" encoding="UTF-8"?>
(2)<document xmlns:nsA="http://www.example.com" xmlns:nsB="urn:companies:aCompany" xmlns:nsC="urn:companies:bCompany">
(3)	<elementA xmlns="http://www.fh-augsburg.de">
(4)		<nsB:elementB nsC:att1="0815">
(5)			<elementC att2="42"/>
(6)		</nsB:elementB>
(7)		<elementE xmlns="http://www.example.com" att3="">
(8)			<nsA:elementF>
(9)				<nsA:elementC/>
(10)			</nsA:elementF>
(11)		</elementE>
(12)	</elementA>
(13)</document>

back to top   3 XML-Schema

 

3.1  Schema-Erstellung

Geben Sie zu nachfolgendem Dokument ein strukturell möglichst restriktives Schema an.

(1)<test>
(2)	<ElementA att1="42">
(3)		<ElementB>the quick <color>brown</color>
(4)      fox jumps over the lazy dog</ElementB>
(5)	</ElementA>
(6)	<ElementC>
(7)		<ElementA/>
(8)		<ElementD>
(9)			<ElementE/>
(10)			<ElementE/>
(11)		</ElementD>
(12)	</ElementC>
(13)</test>

3.2  Entwicklung aus einer DTD

Formen Sie nachstehende Dokumenttypdefinition (DTD) in ein äquivalentes XML-Schema um.

(1)<?xml version="1.0" encoding="UTF-8"?>
(2)<!ELEMENT Person (Name, primaryAddress, secondaryAddresses)>
(3)<!ATTLIST Person
(4)    birthday CDATA #REQUIRED
(5)    marriageState (married | divorced | single) #IMPLIED
(6)>
(7)<!ELEMENT Name (givenName+, Surname)>
(8)<!ELEMENT givenName (#PCDATA)>
(9)<!ELEMENT Surname (#PCDATA)>
(10)<!ELEMENT primaryAddress (Address)>
(11)<!ELEMENT secondaryAddresses (Address)+>
(12)<!ELEMENT Address (Street, ZIP, City)>
(13)<!ELEMENT City (#PCDATA)>
(14)<!ELEMENT ZIP (#PCDATA)>
(15)<!ELEMENT Street (#PCDATA)>

3.3  Dokumenterstellung

Geben Sie zum nachfolgenden Schema ein gültiges (d.h. schema valid) Dokument an.

(1)<?xml version="1.0" encoding="UTF-8"?>
(2)<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
(3)	<xsd:element name="root">
(4)		<xsd:complexType>
(5)			<xsd:choice>
(6)				<xsd:element ref="elementA" minOccurs="3" maxOccurs="5"/>
(7)				<xsd:element ref="elementB"/>
(8)			</xsd:choice>
(9)		</xsd:complexType>
(10)	</xsd:element>
(11)	<xsd:element name="elementA">
(12)		<xsd:complexType>
(13)			<xsd:sequence/>
(14)		</xsd:complexType>
(15)	</xsd:element>
(16)	<xsd:element name="elementB">
(17)		<xsd:complexType mixed="true">
(18)			<xsd:choice>
(19)				<xsd:element ref="elementC"/>
(20)			</xsd:choice>
(21)		</xsd:complexType>
(22)	</xsd:element>
(23)	<xsd:element name="elementC">
(24)		<xsd:complexType>
(25)			<xsd:sequence/>
(26)		</xsd:complexType>
(27)	</xsd:element>
(28)</xsd:schema>

back to top   4 Lokator- und Anfragesprachen

 

Die nachfolgenden Fragen beziehen sich auf das abgebildete Dokument:

(1)<?xml version="1.0" encoding="UTF-8"?>
(2)<XMLBooks>
(3)	<book>
(4)		<title>XML in a Nutshell</title>
(5)		<authors>
(6)			<author>Elliotte Rusty Harrold</author>
(7)			<author>W. Scott Means</author>
(8)		</authors>
(9)		<publisher>O'Reilly</publisher>
(10)		<address>Bejing (China), Cambridge (UK), Framingham (USA), et al.</address>
(11)	</book>
(12)	<book>
(13)		<title>The XML Handbook</title>
(14)		<authors>
(15)			<author>Charles F. Goldfarb</author>
(16)			<author>Paul Prescod</author>
(17)		</authors>
(18)		<publisher>Prentice Hall</publisher>
(19)		<address>Upper Addle River (USA)</address>
(20)	</book>
(21)	<book>
(22)		<title>XSLT Quickly</title>
(23)		<authors>
(24)			<author>Bob DuCharme</author>
(25)		</authors>
(26)		<publisher>Manning</publisher>
(27)		<address>Greenwich (USA)</address>
(28)	</book>
(29)</XMLBooks>

4.1  XPath

benötigte XPath-Funktionen:
boolean: contains(value,substring)
number : count(nodeset)

  1. Geben Sie den XPath-Ausdruck an, der alle Bücher die im Vereinigten Königreich (UK) erschienen sind, lokalisiert.
  2. Geben Sie einen XPath-Ausdruck an, der die Titel aller Bücher lokalisiert, die durch mehr als einen Autor geschrieben wurden.
  3. Welche(n) Knoten lokalisiert der Ausdruck
    /XMLBooks/book[(position() div 2) = 1]?
  4. Welche(n) Knoten lokalisiert der Ausdruck
    //book[authors/author[.='W. Scott Means']]/title?

4.2  XQuery

Gegeben sei der XQuery-Ausdruck:

FOR $x in //book
LET $y := $x//author
WHERE $y ='Charles F. Goldfarb'
RETURN $x/publisher
  1. Welches Resultat liefert seine Ausführung?
  2. Formen Sie den Ausdruck in eine Form ohneLET-Block um.

back to top   5 XSLT

 

Geben Sie eine XSLT-Transformation an, die das Dokument aus Aufgabe 4 in folgende Form überführt:

(1)<?xml version="1.0" encoding="ISO-8859-1"?>
(2)<ListOfAuthors>
(3)	<author name="Elliotte Rusty Harrold">
(4)		<title>XML in a Nutshell</title>
(5)	</author>
(6)	<author name="W. Scott Means">
(7)		<title>XML in a Nutshell</title>
(8)	</author>
(9)	<author name="Charles F. Goldfarb">
(10)		<title>The XML Handbook</title>
(11)	</author>
(12)	<author name="Paul Prescod">
(13)		<title>The XML Handbook</title>
(14)	</author>
(15)	<author name="Bob DuCharme">
(16)		<title>XSLT Quickly</title>
(17)	</author>
(18)</ListOfAuthors>

back to top   6 Programmier-APIs

 

6.1  SAX und DOM

Charakterisieren Sie kurz die wesentlichen Eigenschaften von SAX und DOM.
Lassen sich hieraus bereits bevorzugte Problemklassen der beiden APIs ableiten?

6.2  Java Data Binding for XML

Vergleichen Sie die beiden Ansätze DOM und das Java Data Binding for XML.
Diskutieren Sie die Auswirkungen auf die Anwendungsentwicklung unter Verwendung der beiden Schnittstellen.




separator line
Service provided by Mario Jeckle
Generated: 2004-06-07T12:31:07+01:00
Feedback Feedback       SiteMap SiteMap
This page's original location This page's original location: http://www.jeckle.de/vorlesung/xml/ws2001_02.html
RDF metadata describing this page RDF description for this page