Aufgabe 1: Das nachstehende XML- Dokument "Auftrag" ist noch unvollständig.
Vervollständigen Sie dieses Dokument.
<?xml version="1.0" _______ ?>
<Auftrag>
<Auftragskopf>
<Adresse>
____________________
____________________
____________________
____________________
____________________
____________________
____________________
____________________
</Adresse>
</Auftragskopf>
<Positionen>
<Bestellposition>
<Bezeichnung>Lernheft XML 1</Bezeichnung>
<Artikelnummer>4711</Artikelnummer>
<Artikelanzahhl>5</Artikelanzahl>
</Bestellposition>
<Bestellposition>
<Bezeichnung>Lernheft XML 2</Bezeichnung>
<Artikelnummer>4712</Artikelnummer>
<Artikelanzahhl>5</Artikelanzahl>
____________________
___________
</Auftrag>
Ergänzen Sie den Prolog, sodass im Dokument auch Umlaute erlaubt sind.
Ergänzen Sie den unteren Teil "Positionen", sodass ein wohlgeformtes Dokument entsteht.
Ergänzen Sie den Teil "Adresse": Eine Adresse soll die Elemente "Name" (untergliedert in "Nachname"
und "Vorname"), "Strasse", "Hausnummer", "Ort" und "E-Mail" enthalten. Die Postleitzahl ("PLZ") soll
als Attribut von "Ort" vorkommen. "E-Mail" soll als leeres Element mit dem Attribut einer E-Mail-Adresse
dargestellt werden.
Lösung
Aufgabe 2: Ein XML- Dokument "Adresse" hat folgendes Aussehen:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<Adresse>
<Nachname Vorname="Hugo">Jedermann</Nachname>
<E-Mail">jedermann@t-online.de</E-Mail>
<PLZ>12345</PLZ>
<Strasse Hausnummer="17">Blattweg</Strasse>
<Ort>Baumstadt</Ort>
<Adresszusatz>Hinterhof</Adresszusatz>
</Adresse>
-
Erstellen Sie zu diesem Dokument eine DTD "Adresse.dtd", die folgenden Anforderungen genügt:
- Die Elemente "Nachname", "Strasse" und "Ort" kommen genau einmal vor.
- Das Element "E-Mail" ist optional und kann mehrfach vorkommen.
- Ein "Adresszusatz" kann einmal oder gar nicht vorkommen.
- "Vorname" ist ein Attribut, das vorkommen muss.
Lösung
<!ELEMENT Adresse (Nachname, E-Mail*, PLZ, Strasse, Ort, Adresszusatz?)>
<!ELEMENT Nachname (#PCDATA)>
<!ATTLIST Nachname
Vorname CDATA #REQUIRED
>
<!ELEMENT E-Mail (#PCDATA)>
<!ELEMENT PLZ (#PCDATA)>
<!ELEMENT Strasse (#PCDATA)>
<!ATTLIST Strasse
Hausnummer CDATA #IMPLIED
>
<!ELEMENT Ort (#PCDATA)>
<!ELEMENT Adresszusatz (#PCDATA)>
Lösung schließen
-
Wie lautet die Ergänzung im XML- Dokument zur Refernzierung der DTD?
Lösung
Aufgabe 3: Ein XML-Dokument "Positionen.xml" hat folgendes Aussehen.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<Positionen>
<Bestellposition>
<Bezeichnung>Lernheft XML 1</Bezeichnung>
<Artikelnummer>4711</Artikelnummer>
<Artikelanzahhl>5</Artikelanzahl>
</Bestellposition>
<Bestellposition>
<Bezeichnung>Lernheft XML 2</Bezeichnung>
<Artikelnummer>4712</Artikelnummer>
<Artikelanzahhl>5</Artikelanzahl>
</Bestellposition>
</Positionen>
Erstellen Sie zu diesem Dokument eine DTD "Positionen.dtd", die folgenden Anforderungen genügt:
- Eine Bestellposition muss mindestens einmal vorkommen
- Ein Element "Bezeichnung" muss nicht, kann aber mehrere Male vorkommen
- "Artikelnummer" und "Artikelanzahl" kommen jeweils genau einmal vor.
Lösung
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT Positionen (Bestellposition+)>
<!ELEMENT Bestellposition (Bezeichnung*, Artikelnummer, Artikelzahl)>
<!ELEMENT Bezeichnung (#PCDATA)>
<!ELEMENT Artikelnummer (#PCDATA)>
<!ELEMENT Artikelzahl (#PCDATA)>
Lösung schließen
Aufgabe 4: Gestalten Sie ein CSS- Stylesheet "Positionen.css" zum XML- Dokument
"Positionen.xml", sodass die Datei ungefähr in Form der nachfolgenden Abbildung
dargestellt wird. Die Schrifthintergründe sollen blau bzw. gelb erscheinen.
Ergänzen Sie das Dokument "Positionen.xml" um die Referenzierung auf das Stylesheet "Positionen.css".
Lösung
Datei "Positionen.css"
Positionen
{
font-family: 'Comic Sans MS';
}
Bestellposition
{
background-color: yellow;
color: black;
display: block;
margin: 50px;
}
Bezeichnung
{
background-color: blue;
color: #FFFFFF;
font-size: 1.5em;
font-weight: bold;
text-align: center;
display: block;
}
Artikelnummer
{
text-align: right;
display: block;
}
Artikelzahl
{
text-align: left;
display: block;
}
Auszug aus der Datei "Positionen.xml"
<?xml-stylesheet href="positionen.css" type="text/css"?>
Sie können sich die Datei "positionen.xml" ansehen.
Lösung schließen
Aufgabe 5: Die Browserdarstellung der folgenden Abbildung wurde mit dem XSL- Stylesheet
"Positionen.xsl" erstellt.
-
Ergänzen Sie das Stylesheet "Positionen.xsl" um die noch fehlenden Anweisungen
Lösung
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<head>
<title>ESA5 - Positionen</title>
</head>
<body>
<xsl:apply-templates />
</body>
</html>
</xsl:template>
<xsl:template match="Positionen">
<h2>Folgende Positionen werden geliefert:</h2>
<hr />
<xsl:apply-templates />
</xsl:template>
<xsl:template match="Bestellposition">
<i>Bestellposition:</i><br />
<b><xsl:value-of select="Bezeichnung" /></b><br />
<b>Anzahl:</b>
<xsl:value-of select="Bestellposition" /><br />
<b>Artikel:</b>
<xsl:value-of select="Artikelnummer" />
<br /><hr />
</xsl:template>
</xsl:stylesheet>
Lösung schließen
-
Wie referenzieren Sie das Stylesheet im XML-Dokument?
Lösung
-
Erläutern Sie an den Beispielen „Positionen.css“ und „Positionen.xsl“ die unterschiedlichen
Darstellungsmöglichkeiten mit Cascading Stylesheets (CSS) und mit der Stylessheet-Sprache „XSL“.
Lösung
Sowohl CSS als auch XSL können dafür genutzt werden, um die Darstellung von XML-
Dokumenten zu beeinflussen. Es ergeben sich jedoch auch wesentliche Unterschiede zwischen den
beiden Style- Sprachen:
CSS stellt das XML- Dokument in der Reihenfolge dar, wie es geschrieben ist. Bei XSL lässt sich mit die Reihenfolge der Elemente beeinflussen.
CSS kann in Verbindung mit HTML und XML genutzt werden. XSL ist hingegen in der Lage, die XML- Daten in ein beliebiges Format zu transformieren.
Die beiden Sprachen unterscheiden sich in der Syntax. Mit CSS können einzelne Elemente oder Elementgruppen relativ einfach formatiert werden. XSL hingegen folgt den strikten Regeln von XML (Wohlgeformtheit) und ist in verschiedene Templates aufgebaut, die geschlossen sein müssen und eine Verschachtelung zulassen.
Wegen dieser Unterschiede ergänzen sich die beiden Style- Sprachen und können auch zusammen
verwendet werden.
Lösung schließen
Aufgabe 6:
-
In welchem Zusammenhang wird folgender Namensraum verwendet?
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version=“1.0“>
Lösung
Dieser Befehl umschließt das komplette Stylesheet in einer XSL- Datei. Nur zwischen diesem Tag
und dem entsprechenden Ende- Tag </xsl:stylesheet>
können die XSL- Befehle
stehen, da sie nur in diesem Bereich definiert sind. Die Adresse hinter xmlns:xsl
verweist
auf die Veröffentlichung des W3C von 1999 bezüglich des XSL- Standards und der Transformation
von XSL auf andere Formate.
Lösung schließen
-
Was bewirkt die Angabe dieses Namensraumes?
Lösung
Der Befehl verweist auf die Version von XSL und definiert den Namensraum für die XSL-
Anweisungen. Der Namensraum ist in diesem Fall "xsl", das heißt, dass jedem XSL- Befehl ein
xsl:
vorangestellt sein muss, damit sich die XML- Anweisungen von den anderen Tags
(z.B. HTML- Befehle) eindeutig unterscheiden, und es zu keinen Komplikationen kommt.
Lösung schließen
Aufgabe 7: In welchem Zusammenhang werden XPath-Ausdrücke verwendet?
Lösung
Beim XPath handelt es sich um eine von W3C entwickelte Hilfssprache, die zur Adressierung von
Daten - Elemente, Kindelemente und Attribute - innerhalb der XML- Dokumente (vor allem XSLT) dient.
Damit lassen sich die Datensätze gezielt ansprechen und können dann ausgegeben,
verändert oder gespeichert werden.
Die gewünschten Elemente oder Attribute können mit absoluten oder relativen
Pfadangaben angesprochen werden.
Lösung schließen