Einführung in die XML-Technologien XPath, XSLT und XQuery/Übungen If Then Else

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>XQuery</language>
<code id="4f0988e48c5da">
<filmliste>

    <film id="1">
    <titel>Die Rueckkehr der Jedi-Ritter</titel>
        <genre>Science-Fiction</genre>
      <oscars>1</oscars>
    <regie>
        <regisseur>Richard</regisseur>
    </regie>
    <jahr>1983</jahr>
    </film>
    
    <film id="2">
    <titel>Sin City</titel>
        <genre>Thriller</genre>
     <oscars>0</oscars>
        <regie>
           <regisseur>Frank Miller</regisseur>
            <regisseur>Robert Rodriguez</regisseur>
            <regisseur>Quentin Tarantino</regisseur>
        </regie>
     <jahr>2005</jahr>   
    </film>
    
    <film id="3">
        <titel>Forrest Gump</titel>
        <genre>Drama</genre>
       
        <oscars>6</oscars>
        <regie>
            <regisseur>Robert Zemeckis</regisseur>
        </regie>
        <jahr>1994</jahr>
    </film>
    
    <film id="4">
        <titel>The Dark Knight</titel>
        <genre>Action</genre>
       
        <oscars>2</oscars>
        <regie>
            <regisseur>Christopher Nolan</regisseur>
        </regie>
        <jahr>2008</jahr>
    </film>
    
    <film id="5">
        <titel>Avatar</titel>
        <genre>Science-Fiction</genre>
        <oscars>3</oscars>
        <regie>
            <regisseur>James Cameron</regisseur>
        </regie>
        <jahr>2009</jahr>
    </film>
    
    <film id="6">
        <titel>2012</titel>
        <genre>Katastrophen</genre>
        <oscars>0</oscars>
        <regie>
            <regisseur>Roland Emmerich</regisseur>
        </regie>
        <jahr>2009</jahr>
    </film>
</filmliste>
</code>


1. Geben Sie alle Science-Fiction Filme aus! Wenn die Anzahl der jeweils erhaltenen Oscars höher als eins ist, soll zusätzlich das Erscheinungsjahr ausgegeben werden!

<run id="4f098b63f2887"></run>


<popup name="Lösung">

 for $film in /filmliste/film
 where $film/genre = "Science-Fiction"
 return if($film/oscars > 1) then <science-fiction>{data($film/titel), "erschien im Jahr", data($film/jahr)}</science-fiction>
 else <science-fiction>{data($film/titel)}</science-fiction>

</popup>