tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
527
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von nautiLus`
    nautiLus` nautiLus` ist offline Mitglied Gold
    Registriert seit
    Sep 2002
    Ort
    Österreich / Wien / Schwechat
    Beiträge
    209
    Hallo, ich habe ein Problem bei einem xpath query...

    Folgende XML Datenstruktur sei mir gegeben:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    
    <konferenzverwaltung>
        
        <person pid="p1"><name>Sebastian</name></person>
        <person pid="p2"><name>Christian</name></person>
        <person pid="p3"><name>Maria</name></person>
        <person pid="p4"><name>Georg</name></person>
        <person pid="p5"><name>Sabine</name></person>
        
        <konferenz kid="k1">
            <name>Konferenz Nr. 1</name>
            <datum>10.10.2005</datum>
            <ort>Graz</ort>
        </konferenz>
        
        <konferenz kid="k2">
            <name>Konferenz Nr. 2</name>
            <datum>10.10.2005</datum>
            <ort>Wien</ort>
        </konferenz>
        
        <konferenz kid="k3">
            <name>Konferenz Nr. 3</name>
            <datum>10.10.2005</datum>
            <ort>Wien</ort>
        </konferenz>
        
        <vortrag vid="v1"><titel>Datenbanksysteme</titel></vortrag>
        <vortrag vid="v2"><titel>Verteilte Systeme</titel></vortrag>
        <vortrag vid="v3"><titel>Mathematik 1</titel></vortrag>
        
        <teilnahme pid="p1" kid="k1" vid="v1" />
        <teilnahme pid="p2" kid="k2" vid="v2" />
        <teilnahme pid="p3" kid="k2" vid="v1" />
        <teilnahme pid="p4" kid="k2" vid="v1" />
        <teilnahme pid="p5" kid="k2" vid="v1" />
        <teilnahme pid="p5" kid="k3" vid="v3" />
        <teilnahme pid="p3" kid="k2" vid="v1" />
        
    </konferenzverwaltung>

    Wie kann ich nun z.B. die Namen aller Personen filtern, welche jemals auf Konferenzen in Wien einen Vortrag zum Thema "Datenbanksysteme" gehalten haben.

    Ich hab es mal in xquery gemacht, was etwa so aussieht:

    Code :
    1
    2
    3
    4
    5
    6
    7
    
    for $p in /konferenzverwaltung/person,
        $k in /konferenzverwaltung/konferenz,
        $v in /konferenzverwaltung/vortrag,
        $t in /konferenzverwaltung/teilnahme
    where $t/@pid = $p/@pid and $t/@kid = $k/@kid and $t/@vid = $v/@vid
    and $v/titel = "Datenbanksysteme" and $k/ort = "Wien"
    return string($p/name)

    Nur der Ansatz für xpath fehlt mir joins oder was ähnliches durchzuführen wie in xquery.

    Habe mal sowas zusammengewürfelt (ist aber irgendwie kein join):

    konferenzverwaltung/konferenz[ort='Wien']/../vortrag[titel='Datenbanksysteme']/../person/name/text()

    Hat wer einen Ansatz?
     

  2. #2
    Registriert seit
    Dec 2001
    Ort
    Valhalla
    Beiträge
    284
    Hallo Nautilus,

    ich kann dir zwar nicht weiterhelfen, aber mich interessiert das Thema. Woher hast du dein Wissen darüber? Kannst du ein Tutorial oder ein anderes Dokument im Internet empfehlen?
     
    "its like plastic over wood and love should splinter, crack and burn"

  3. #3
    Avatar von nautiLus`
    nautiLus` nautiLus` ist offline Mitglied Gold
    Registriert seit
    Sep 2002
    Ort
    Österreich / Wien / Schwechat
    Beiträge
    209
    hi, also grundsätzlich hab ich mir alles aus dem netz geholt.

    zb so suche ich nach xquery tutorials:

    http://www.google.com/search?hl=en&q...filetype%3Apdf

    oder so nach xpath:

    http://www.google.com/search?hl=en&l...filetype%3Apdf

    das W3C ist meistens auch super:
    http://www.w3schools.com/w3c/w3c_xquery.asp
    http://www.w3schools.com/xpath/default.asp

    hier übrigens noch die lösung zu meinem problem:

    Code :
    1
    
    /konferenzverwaltung/person[@pid=/konferenzverwaltung/teilnahme[@kid=/konferenzverwaltung/konferenz[ort='Wien']/@kid][@vid=/konferenzverwaltung/vortrag[titel='Datenbanksysteme']/@vid]/@pid]/name/text()
     

Ähnliche Themen

  1. Problem mit JOINS
    Von proloser im Forum Relationale Datenbanksysteme
    Antworten: 5
    Letzter Beitrag: 28.01.10, 16:38
  2. Insert into mit JOINS?!
    Von latina1984 im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 15.09.07, 13:13
  3. Java XPath Problem (1.5 javax.xml.xpath.*)
    Von mad_dark_angel im Forum Java
    Antworten: 5
    Letzter Beitrag: 10.05.06, 14:39
  4. Joins forever....
    Von AlexD1979 im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 19.12.05, 13:23
  5. Unterschiede bei Joins
    Von Katzehuhn im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 26.05.05, 23:35