Übungen FLWOR - Ausdrücke

Aus ProgrammingWiki

Grundlage der Übungsaufgaben, ist das aus den Beispielen bekannte XML-Dokument.


1. Geben Sie für alle Filme, die vor dem Jahr 2006 gedreht wurden, den Titel an!


Lösung
for $film in //filmliste/film
where $film/jahr < 2006
return $film/titel


2. Geben Sie alle Science-Fiction Filme nach dem Erscheinungsjahr aufsteigend sortiert aus!


Lösung
for $film in //filmliste/film
where $film/genre = "Science-Fiction"
order by $film/jahr ascending
return $film/titel


3. In welchem Film führte im Jahr 2009 James Cameron Regie?


Lösung
for $film in //filmliste/film
where film/jahr = 2009 and film//regisseur = "James Cameron"
return $film/titel


4. Generieren Sie mit Hilfe von XQuery folgendes HTML-Dokument:

Filmübersicht

Filmtitel Erscheinungsjahr
Avatar 2009
"2012" 2009
The Dark Knight 2008
Sin City 2005
Forrest Gump 1994
Die Rueckkehr der Jedi-Ritter 1983


Seitenquelltext
 <html>
   <head>
      <title>Filmübersicht</title>
   </head>
   <body>
      <h2>Filmübersicht</h2>
      <table>
         <colgroup>
            <col width="500"/>
            <col width="100"/>
         </colgroup>
         <tr>
            <th align="left">Filmtitel</th>
            <th align="left">Erscheinungsjahr</th>
         </tr>
            <tr>
               <td>Avatar</td>
               <td>2009</td>
            </tr>
            <tr>
               <td>"2012"</td>
               <td>2009</td>
            </tr>
            <tr>
               <td>The Dark Knight</td>
               <td>2008</td>
            </tr>
            <tr>
               <td>Sin City</td>
               <td>2005</td>
            </tr>
            <tr>
               <td>Forrest Gump</td>
               <td>1994</td>
            </tr>
            <tr>
               <td>Die Rueckkehr der Jedi-Ritter</td>
               <td>1983</td>
            </tr>
        /table>
   </body>
</html>
 



Lösung
  <html>
     <head>
        <title>Filmübersicht</title>
     </head>
  <body>
    <h2>Filmübersicht</h2>
    <table>
    <colgroup>
        <col width="700"/>
        <col width="100"/>
      </colgroup>
    <tr>
        <th align="left">Filmtitel</th>
        <th align="left">Erscheinungsjahr</th>
    </tr>
    
        {
        for $film in //filmliste/film
        order by $film/jahr descending
        return <tr><td>{data($film/titel)}</td><td>{data($film/jahr)}</td></tr>           
        }
    
    </table>
    </body>
    </html>