Využití typů a schémat

  • validace a otypování vstupních dat

  • validace generovaných dat

  • signatury funkcí

  • určení typů proměnných

    (: Nenalezne-li se výrobce ohlásí dotaz chybu, 
       protože proměnná $v nebude obsahovat právě jeden element :)
    
    for $p in doc('katalog.xml')//polozka
    let $v as element() := doc('vyrobci.xml')//vyrobce[nazev = $p/vyrobce]
    return
      <polozka>
        { $p/nazev, $p/vyrobce, $v/web }
      </polozka>
    
  • některé implementace nabízejí statickou typovou kontrolu