Übungsaufgaben zu XML:

Transcription

Übungsaufgaben zu XML:
Übungsaufgaben zu XML:
Aufgabe 1
Allgemeine Fragen zu XML:
(Benutzen Sie zum Lösen der Aufgaben die Online-Hilfen, welche wir erwähnt
haben.)
a) Was ist eine DTD?
DTD steht für Document Type Definition. Innerhalb der DTD werden die Tags
definiert. Die DTD ist damit der Schlüssel zum XML-Code. Alle Tags müssen in einer
internen oder externen DTD definiert werden. Ein definiertes Tag kann weitere Tags
enthalten oder direkt die Daten.
b) Was ist ein Wurzelelement und wo liegt der Unterschied zu einem Unter-Tag?
Als Wurzelelement bezeichnet man das erste definierte Tag in der DTD. Bei der
Definition folgen dem Wurzeltag in der runden Klammer die Namen der
untergeordneten Tags. XML ist streng hierarchisch aufgebaut. Ein XML-Dokument
darf nie zwei Wurzelelemente enthalten.
c) Welche der folgenden Tag-Namen sind falsch?
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
MODell (#PCDATA)>
Hersteller des Autos (#PCDATA)> <!-- falsch -->
Jahr_des_Bauens (#PCDATA)>
Bemerkungen_12neu (#PCDATA)>
12_Hallo (#PCDATA)>
<!-- falsch -->
d) In dem nachfolgenden XML-Code befinden sich 5 Fehler. Finden Sie diese uns
korrigieren Sie den Code:
<?xml version=“1.0“ ?>
<!-- Jetzt kommt die DTD -->
<!DOCTYPE CDSAMMLUNG [
<!-- Jetzt werden die Tags definiert -->
<!ELEMENT CDSAMMLUNG (Datensatz)+>
<!ELEMENT Datensatz (Kuenstler, Titel, Jahr)>
<!ELEMENT Kuenstler (#PCDATA)>
<!ELEMENT Titel (#PCDATA)>
<!ELEMENT Jahr (#PCDATA)>
]>
<!-- Jetzt beginnt der Kern -->
<CDSAMMLUNG>
<!-- 1.
<!-- Jetzt folgen die Daten -->
<!-- Datensatz Nummer 1 -->
<Datensatz>
<Kuenstler>Klaus Meier</Kuenstler>
<Titel>Mirage</Titel>
<!-- 2.
<Jahr>1977</Jahr>
<!-- 3.
</Datensatz>
<!-- Datensatz Nummer 2 -->
<Datensatz>
<Kuenstler>Herbert Krone</Kuenstler>
<!-- 4.
<Titel>Aber also</Titel>
<Jahr>1989</Jahr>
</Datensatz>
<!-- 5.
</CDSAMMLUNG>
Grundlagen Netzwerke und Kommunikation "XML"
1
Fehler -->
Fehler -->
Fehler -->
Fehler -->
Fehler -->
15.09.09
e) Wo liegt der Unterschied zwischen XML und HTML?
Bei HTML sind die beiden Aspekte - Strukturierung des Inhalts und Ausgabe im
Browser - eng miteinander verknüpft. XML ist generell nicht für die Darstellung
zuständig. Dafür gibt es die Sprache XSL (Extensible Stylesheet Language), welche
für die korrekte Ausgabe im Browser sorgt (Ist auch mit CSS realisierbar).
Die Tags können in XML frei definiert werden. Man hat sogar die Möglichkeit eigene
Attribute zu definieren.
f) Wozu benötigt man einen „Parser“ und welche Vorteile bringt dies?
Wenn Sie eine XML-Datei laden, startet der Browser (ab IE5.X oder Netscape 6.X)
einen sogenannten Parser, der den XML-Quellcode durchgeht und die Syntax des
Codes überprüft. Dieser Parser ist im Browser integriert. Der Vorteil eines Parsers ist,
dass ein Fehler im Browser direkt angezeigt wird mit der genauen Position im Code,
wodurch Sie schnell und einfach Programmierfehler finden können.
Microsoft verwendet den eigenen "msxml"-Parser.
Netscape setzt den Parser von James Clark "expat" ein.
g) Welche Web-Browser können heute XML/XSL darstellen (siehe
„www.xmlguru.de“)?
- Microsoft Internet Explorer 5.0
- Microsoft Internet Explorer 5.5
- Microsoft Internet Explorer 6.0
- Netscape Communicator 6.0 / Netscape Gecko
- Opera 4.0 / Opera 5.0 / Opera 6.0 / Opera 7.0
h) Wie wird eine externe CSS-Datei in eine XML-Datei eingebunden?
<?xml-stylesheet href="format.css" type="text/css"?>
i) Wie wird eine externe DTD-Datei in eine XML-Datei eingebunden?
<!DOCTYPE Adresse SYSTEM "daten.dtd">
Aufgabe 2
Realisieren Sie die folgende Browser-Darstellung (Internet-Explorer 5.X) und
beschreiben Sie alle Tags.
<?xml version="1.0"?>
<!DOCTYPE Adresse [
<!ELEMENT Adresse (Name, Vorname, Strasse, Ort)>
<!ELEMENT Name (#PCDATA)>
<!ELEMENT Vorname (#PCDATA)>
<!ELEMENT Strasse (#PCDATA)>
<!ELEMENT Ort (#PCDATA)>
]>
<Adresse>
<Name> Muster </Name>
<Vorname> Hans </Vorname>
<Strasse> Bahnhofstr. 1 </Strasse>
<Ort> Musterwil </Ort>
</Adresse>
Grundlagen Netzwerke und Kommunikation "XML"
2
15.09.09
Aufgabe 3
Im nachfolgenden XML-Code und der dazugehörenden CSS-Datei befinden sich
sieben Fehler. Finden Sie diese und korrigieren Sie den Code:
<?xml version=“1.0“?>
<?xml-stylesheet href=“test.css“ type="text/css"?>
<Homepage>
<Kapitel>
<Text> Willkommen auf meiner Seite!</Text>
<Text> Wollen Sie mehr von XML kennenlernen?</Text>
<Text> Eigenschaften sind:</Text>
</Kapitel>
</Homepage>
Die dazugehörige CSS-Datei lautet:
Homepage
{
background-image:url(pferd.gif);
}
Kapitel
{
background-color:violet;
}
Text
{
color:red;
font-size:45pt;
}
Grundlagen Netzwerke und Kommunikation "XML"
3
15.09.09
Aufgabe 4
Realisieren Sie die folgende Browser-Darstellung mittels einer externen DTD-Datei
und mit einer externen CSS-Datei. Die Tags dürfen Sie selbständig benennen.
Lösung der XML-Datei:
<?xml version="1.0"?>
<?xml-stylesheet href="test.css" type="text/css"?>
<!-- externe DTD wird eingebunden: Document Type Definition -->
<!DOCTYPE Adresse SYSTEM "daten.dtd">
<!-- hier beginnt der Inhalt mit den definierten Tags -->
<Adresse xmlns:html="http://www.w3.org/TR/REC-html40">
<html:h1>Das ist ein HTML-Titel in einer XML-Seite </html:h1>
<Datensatz>
<Name> Muster </Name>
<Vorname> Hans </Vorname>
<Strasse> Bahnhofstr. 1 </Strasse>
<Ort> Musterwil </Ort>
</Datensatz>
<html:br></html:br>
<Datensatz>
<Name> Huber </Name>
<Vorname> Bruno </Vorname>
<Strasse> Rosenweg 1 </Strasse>
<Ort> Kappel </Ort>
<Telefon> 062 216 06 74 </Telefon>
</Datensatz>
<html:br></html:br>
<Datensatz>
<Name> Meier </Name>
<Vorname> Max </Vorname>
<Strasse> Gartenstrasse </Strasse>
<Ort> Solothurn</Ort>
<Telefon> 032 321 66 44 </Telefon>
</Datensatz>
</Adresse>
Grundlagen Netzwerke und Kommunikation "XML"
4
15.09.09
Lösung der DTD-Datei:
<!-- genannt DTD: Document Type Definition -->
<!-- hier werden die Tags definiert -->
<!ELEMENT Adresse (Datensatz)+>
<!ELEMENT Datensatz (Name, Vorname, Strasse, Ort)>
<!ELEMENT Name (#PCDATA)>
<!ELEMENT Vorame (#PCDATA)>
<!ELEMENT Strasse (#PCDATA)>
<!ELEMENT Ort (#PCDATA)>
<!ELEMENT Telefon (#PCDATA)>
Lösung der CSS-Datei:
Name
{
font-family:arial;
font-size:35pt;
color:#FF0000;
}
Vorname
{
font-family:arial;
font-size:35pt;
color:blue;
}
Strasse
{
font-family:arial;
font-size:35pt;
color:green;
}
Ort
{
font-family:arial;
font-size:35pt;
color:black;
}
Telefon
{
font-family:arial;
font-size:20pt;
color:black;
}
Grundlagen Netzwerke und Kommunikation "XML"
5
15.09.09