(: Aufgabe 1 for $c in //country[population = max(//country/population)] return let $c := //country[population = max(//country/population)] return
{$c/name} {$c/population}
for $c in //country where $c/population = max(//country/population) return
{$c/name} {$c/population}
Aufgabe 2 for $o in //organization let $p := sum($o/members/id(@country)/population) order by $p descending return Aufgabe 3 let $dakar := number(//city[name="Dakar"]/longitude/text()) for $city in //city where $city/longitude = max(//city[longitude < $dakar]/longitude) return $city Aufgabe 4 for $w in //(river|sea|lake) where $w/id(@country)/@car_code="R" and count($w/id(@country)) = 2 return $w/name //(river|sea|lake) [id(@country)/@car_code="R" and count(id(@country)) = 2] /name Aufgabe 5 for $c in //country[province] let $p1 := $c/population, $p2 := sum($c/province/population) where abs($p2 - $p1) > 0.1 * $p1 return Aufgabe 6 for $c1 in //country[encompassed/id(@continent)/name="Europe"], $c2 in //country[encompassed/id(@continent)/name="Europe"] let $seas1 := //sea[id(@country)/@car_code = $c1/@car_code], $seas2 := //sea[id(@country)/@car_code = $c2/@car_code] where $seas1 and $seas2 and $c1/@car_code != $c2/@car_code and (every $s1 in $seas1 satisfies $s1/name = $seas2/name) and (every $s2 in $seas2 satisfies $s2/name = $seas1/name) return {$c1/name} {$c2/name} {$seas1/name} Aufgabe 7 let $caribbeanislandcountries := ( for $c in //sea[name="Caribbean Sea"]/id(@country) where //island/id(@country)/@car_code = $c/@car_code return $c ) let $caribbeanislands := //island[id(@country)/@car_code = $caribbeanislandcountries/@car_code] return Aufgabe 8 for $c in //country let $neighborspop := if ($c/border) then $c/border/id(@country)/population else 0 return Aufgabe 9 for $c in //country[count(.//city) > 3] let $cities := for $cty in $c//city[population] order by number($cty/population[1]) descending return $cty let $pop3 := $cities[1]/population[1] + $cities[2]/population[1] + $cities[3]/population[1] return :)