Spojení dat

  • jeden dotaz může sahat do libovolného množství dokumentů XML

  • spojení dat se provede ručně, pomocí podmínky

  • s využitím predikátu a proměnné funguje podobně jako OUTER JOIN

    (: Spojení dvou XML dokumentů pomocí predikátu :)
    
    for $p in doc('katalog.xml')//polozka
    let $v := doc('vyrobci.xml')//vyrobce[nazev = $p/vyrobce]
    return
      <polozka>
        { $p/nazev, $p/vyrobce, $v/web }
      </polozka>
    
  • s využitím where funguje jako INNER JOIN

    (: Spojení dvou XML dokumentů pomocí where :)
    
    for $p in doc('katalog.xml')//polozka
    for $v in doc('vyrobci.xml')//vyrobce
    where $v/nazev = $p/vyrobce
    return
      <polozka>
        { $p/nazev, $p/vyrobce, $v/web }
      </polozka>