Hallo,
im Rahmen einer Klausuraufgabe soll ich in der XML-Datei weiter unten nach Literatur (mit Titel und Art) suchen, die für Reisen in die Region "Thüringen" empfohlen wird. Das Ergebnis erhalte ich soweit richtig, aber es sind eben noch Duplikate drin. Und genau die bekomm' ich trotz vieler Versuche nicht entfernt.
XML-Datei:
Meine bisherige Abfrage:
Ich komme einfach nicht weiter. Weder mit dem LET-Ausdruck, noch mit ähnlichen Konstrukten wie
Kann mir jemand weiterhelfen?
VG
Matthias
im Rahmen einer Klausuraufgabe soll ich in der XML-Datei weiter unten nach Literatur (mit Titel und Art) suchen, die für Reisen in die Region "Thüringen" empfohlen wird. Das Ergebnis erhalte ich soweit richtig, aber es sind eben noch Duplikate drin. Und genau die bekomm' ich trotz vieler Versuche nicht entfernt.
XML-Datei:
Code:
<?xml version="1.0" encoding="UTF-8"?> <Reisen> <Reise Nr="11"> <Beschreibung>Interessante Staedte Thueringens auf einer Rundreise</Beschreibung> <Gebiet> <Region>Thueringen</Region> <Land>Deutschland</Land> </Gebiet> <Empfohlen> <Literatur> <Titel>Thueringen</Titel> <Art>Reisefuehrer</Art> </Literatur> </Empfohlen> <Etappen> <Etappe> <ENr>1</ENr> <Ort>Weimar</Ort> <Naechte>3</Naechte> </Etappe> <Etappe> <ENr>2</ENr> <Ort>Eisenach</Ort> <Naechte>1</Naechte> </Etappe> <Etappe> <ENr>3</ENr> <Ort>Oberhof</Ort> <Naechte>1</Naechte> </Etappe> <Etappe> <ENr>4</ENr> <Ort>Erfurt</Ort> <Naechte>2</Naechte> </Etappe> </Etappen> </Reise> <Reise Nr="13"> <Beschreibung>Etappenwanderung am Rennsteig</Beschreibung> <Gebiet> <Region>Thueringen</Region> <Land>Deutschland</Land> </Gebiet> <Empfohlen> <Literatur> <Titel>Mittler Thueringer Wald</Titel> <Art>Wanderkarte</Art> </Literatur> <Literatur> <Titel>Thueringen</Titel> <Art>Reisefuehrer</Art> </Literatur> </Empfohlen> <Etappen> <Etappe> <ENr>1</ENr> <Ort>Oberhof</Ort> <Naechte>1</Naechte> </Etappe> <Etappe> <ENr>2</ENr> <Ort>Frauenwald</Ort> <Naechte>1</Naechte> </Etappe> <Etappe> <ENr>3</ENr> <Ort>Neustadt</Ort> <Naechte>1</Naechte> </Etappe> <Etappe> <ENr>4</ENr> <Ort>Friedrichshoehe</Ort> <Naechte>1</Naechte> </Etappe> </Etappen> </Reise> <Reise Nr="17"> <Beschreibung>Wandern in den Cinque Terre</Beschreibung> <Gebiet> <Region>Ligurien</Region> <Land>Italien</Land> </Gebiet> <Empfohlen> <Literatur> <Titel>Cinque Terre</Titel> <Art>Wanderfuehrer</Art> </Literatur> </Empfohlen> <Etappen> <Etappe> <ENr>1</ENr> <Ort>Vernazza</Ort> <Naechte>10</Naechte> </Etappe> </Etappen> </Reise><Reise Nr="27"> <Beschreibung>Wunderbare Staedte Italiens</Beschreibung> <Gebiet> <Region>Oberitalien</Region> <Land>Italien</Land> </Gebiet> <Empfohlen> <Literatur> <Titel>Verona</Titel> <Art>Stadtfuehrer</Art> </Literatur> <Literatur> <Titel>Milano</Titel> <Art>Stadtfuehrer</Art> </Literatur> <Literatur> <Titel>Genova</Titel> <Art>Stadtfuehrer</Art> </Literatur> </Empfohlen> <Etappen> <Etappe> <ENr>1</ENr> <Ort>Brixen</Ort> <Naechte>1</Naechte> </Etappe> <Etappe> <ENr>2</ENr> <Ort>Verona</Ort> <Naechte>2</Naechte> </Etappe> <Etappe> <ENr>3</ENr> <Ort>Mailand</Ort> <Naechte>4</Naechte> </Etappe> <Etappe> <ENr>4</ENr> <Ort>Genua</Ort> <Naechte>3</Naechte> </Etappe> </Etappen> </Reise> </Reisen>
Code:
for $b in fn:doc("Reisen.xml")//Reise where $b/Gebiet/Region="Thueringen" return $b/Empfohlen/Literatur Ergebnis (eben noch mit Duplikaten): <Literatur> <Titel>Thueringen</Titel> <Art>Reisefuehrer</Art> </Literatur> <Literatur> <Titel>Mittler Thueringer Wald</Titel> <Art>Wanderkarte</Art> </Literatur> <Literatur> <Titel>Thueringen</Titel> <Art>Reisefuehrer</Art> </Literatur>
Code:
for $c in doc("Reisen.xml")//Literatur where fn:count($c/Titel) != fn:count(fn:distinct-values($c/Titel)) return $c
VG
Matthias
Comment