\chapter{Übungsklausur -- 2016} \section{Aufgabe 1 (18 Punkte – 2/6/10)} \begin{enumerate}[label=\textsf{\textbf{\alph*)}},leftmargin=*] \item Verweise werden im \acs{WWW} in einer besonderen Form realisiert. Wie heißt die technische Realisierungsform von Verweisen im \acs{WWW} und was ist daran anderes als bei den meisten Verweisen in unserem täglichen Leben? \textsf{\textbf{Lösung}} \newline Die Realisierungsform von Verweisen heißt \enquote{Hyperlink}. \newline Das besondere ist die automatische Verweisauflösung. \item Zwei weitere Eigenschaften dieser Verweise (neben der in \textsf{\textbf{a.)}} gefragten) machen den Erfolg des \acs{WWW} aus. Um welche Eigenschaften handelt es sich (mit Erläuterung)? Waren beide Eigenschaften bereits vom Erfinder des Webs, Tim Berners-Lee, geplant? Belegen und begründen Sie ihre Antwort! \textsf{\textbf{Lösung}} \newline Es handelt sich um die Lokations- und Medienunabhängigkeit. \begin{description} \item[Lokationsunabhängigkeit] \hfill \newline Unabhängigkeit von der Lokation der Information und der des Suchenden. Dies war von Anfang an geplant, da auch der Tag für Hyperlinks (\html{}) ab der ersten \acs{HTML}-Version existiert. \item[Medienunabhängigkeit] \hfill \newline Informationen können in verschiedenen Medienformaten (Bilder, Video, Text, \ldots) vorliegen. Dies war nicht geplant, da \begin{itemize}[noitemsep] \item das \code{T} in \acs{HTTP} für \enquote{Text} steht \item das \code{T} in der Sprache \acs{HTML} für \enquote{Text} steht \item die erste Version von \code{HTTP} keinen \code{Content-Type}-Header besaß \end{itemize} \end{description} Vergleiche auch \autoref{sec:lokations_medienunabhaengigkeit} zu den Eigenschaften und \autoref{sec:html_history} für die Geschichte von \acs{HTML}. \item Relativ und absolut sind zwei Begriffe, welche im Zusammenhang mit Verweisen häufig verwendet werden. Erläutern Sie, was relativ und absolut bei Verweisen bedeutet, in welchen Fällen Verweise relativ und absolut eingesetzt werden und was die jeweilige Form für Vorteile bietet! \textsf{\textbf{Lösung}} \textbf{Absolute Verweise} haben ein festes Ziel. Dies hat den Vorteil, dass die angegebene \acs{URL} immer auf das gleiche Ziel verweist, auch wenn das Dokument verschoben wird. Dies wird zum Beispiel verwendet, wenn man auf die eigene Webseite verlinken möchte, aber unter einem anderen Protokoll (\acs{FTP}, \acs{HTTPS}, \ldots). \textbf{Relative Verweise} können mithilfe der vollständigen \acs{URL} des enthaltenden Dokuments zu absoluten Verweisen gemacht werden. Vorteil ist \ua die kürzere Länge und die \enquote{Umzugsfähigkeit} der Web-Präsenz auf einen anderen Server (host-relativ) oder in ein anderes Verzeichnis (pfad-relativ). Man unterscheidet zwischen: \begin{itemize}[noitemsep] \item Protokoll-relative \acs{URL} (falls \acs{HTTP}/\acs{HTTPS} automatisch gewählt werden soll) \item Host-relative (Pfad absolute) \acs{URL} (für zentrale Dokumente, \zB den \acs{CSS}-Ordner). \item Pfad-relative \acs{URL} (für den Verweis auf ein übergeordnetes Verzeichnis) \end{itemize} Siehe auch \autoref{sec:relative_url} auf Seite~\pageref{sec:relative_url}. \end{enumerate} \section{Aufgabe 2 (22 Punkte – 10/12)} \begin{enumerate}[label=\textsf{\textbf{\alph*)}},leftmargin=*] \item Zur Repräsentation der lieferbaren Produkttypen (\enquote{Produktkatalog}) eines Schlossherstellers soll eine lineare Darstellung als Text mittels \acs{XML} Verwendung finden. Entwerfen und beschreiben Sie ein entsprechendes Dateiformat (inklusive einer kurzen \acs{XML}-Beispieldatei), welches folgende Daten enthält: \vspace*{-2mm} \begin{itemize}[noitemsep] \item Eindeutige Kennung (numerisch) \item Art des Schlüsselsystems (Einzelschloss, Systemschloss) \item Anzahl möglicher Schlösser \item Sicherheitsklasse (gekennzeichnet mit A für einfache Sicherheit bis E für hohe Sicherheit) \item Verweis auf eine Abbildung \end{itemize} \vspace*{-3mm} \textsf{\textbf{Lösung}}\smallskip \begin{lstlisting}[language=XML,caption=Schlosshersteller -- XML] Einzelschloss 999 A Abbildung des Schlosses Systemschloss 9999 C Abbildung des Schlosses Nr. 124 \end{lstlisting} % Diese Einrückung ist Absicht! \begin{Hinweis} Bei dieser Aufgabe fehlt die Beschreibung noch. Es muss keine \acs{DTD} sein, eine schriftliche Beschreibung reicht. Den \code{DOCTYPE} sollte man jedoch nicht vergessen! \end{Hinweis} \item Schreiben Sie eine \acs{XSLT}, welche eine entsprechend Ihrer obigen Grammatik geschriebene Datei in eine von jedem Web-Browser darstellbare \acs{HTML}-Datei wandelt. Dabei soll die Darstellung als eine Tabelle der obigen Felder erfolgen. \begin{lstlisting}[language=XML,caption=XSLT -- Schlosshersteller] Titel
Kennung System Anzahl möglicher Schlösser Sicherheitsklasse Verweis (Abbildung)
\end{lstlisting} \end{enumerate} \section{Aufgabe 3 (22 Punkte – 12/10)} \begin{enumerate}[label=\textsf{\textbf{\alph*)}},leftmargin=*] \item Gegeben seien die folgenden quadratischen Bezier-Kurven über die folgenden Koordinaten (\code{x}, \code{y}) von Anfangspunkt (AP), Stützpunkt (SP) und Endpunkt (EP): \begin{center} \begin{tabular}{ccc} AP & SP & EP \\ 2,4 & 3,5 & 7,5 \\ 7,5 & 8,6 & 8,10 \\ 9,8 & 8,9 & 3,7 \\ 3,7 & -7,3 & 5,0 \\ \end{tabular} \end{center} Aus diesen Kurven wird ein Kurvenzug gebildet. Geben Sie an, an welchen Punkten (AP, SP und EP) der Kurvenzug rund ist und an welchen er \enquote{nicht rund} ist, also Ecken aufweist! Begründen Sie jeweils Ihre Antwort! \textsf{\textbf{Lösung}} Der Kurvenzug ist am Punkt: \begin{itemize}[noitemsep] \item \code{7,5} eckig, da die Steigung der ersten und zweiten Kurve an dem Punkt nicht übereinstimmt (\code{0} $\Leftrightarrow$ \code{1}) \item \code{8,10} und \code{9,8} nicht stetig, da sich die Koordinaten unterscheiden. \newline Somit ist er dort auch nicht rund. \item \code{3,7} rund, da die Steigung der dritten und vierten Kurve gleich sind ($\frac{2}{5} \Leftrightarrow \frac{4}{10} = \frac{2}{5}$) \end{itemize} \begin{center} \includegraphics[scale=0.9]{Bilder/Uebungsklausur_Kurve.png} \end{center} \begin{Hinweis} Eine alternative Aufgabe könnte sein, dass Punkte vorgegeben sind und man diese erweitern muss, sodass sich eine Rundung ergibt! \end{Hinweis} \newpage \item Schreiben Sie eine vollständige \acs{SVG}-Datei, welche als Inhalt die in der vorigen Teilaufgabe beschriebenen Kurvenzüge hat! \textsf{\textbf{Lösung}} \begin{lstlisting}[language=XML,caption=Übungsklausur -- SVG] \end{lstlisting} % Diese Einrückung ist Absicht! Wenn man die oben stehende Grafik erhalten möchte: \begin{lstlisting}[language=XML,caption=Übungsklausur -- Beispiel SVG mit Farbe] \end{lstlisting} % Diese Einrückung ist Absicht! \begin{Tipp} Da absolute Werte gegeben sind, ist es am sinnvollsten diese auch zu verwenden, \dash Großbuchstaben für die Bézierkurve. Der erste der drei Werte ist der Anfangspunkt. Dieser wird durch ein \enquote{move} (\code{M}) erreicht und durch eine quadratische Bézierkurve über den Stützpunkt und Endpunkt mit \code{Q} fortgesetzt. \end{Tipp} \end{enumerate} \section{Aufgabe 4 (16 Punkte – 10/6)} \begin{enumerate}[label=\textsf{\textbf{\alph*)}},leftmargin=*] \item Die folgende \acs{HTML}-Seite enthält mehrere syntaktische Fehler und entspricht damit in einigen Punkten nicht dem Standard. Ändern Sie den Code so ab, dass er fehlerfrei und XHTML1.0-konform wird. Geben Sie bei jedem Fehler eine kurze Begründung an! \begin{lstlisting}[language=HTML5,caption=HTML - Klausuraufgabe]
  1. Dies ist das erste Element einer ungeordneten Liste.
  2. Und hier folgt das zweite Element.
  3. Das dritte Element enthä:lt eine weitere Liste:
    • bla
    • fasel
    • blubber
Damit ist dann die innere Liste und auch das dritte Element beendet.