Automatické přiřazení typů

  • pro dokument máme schéma, kde jsou definovány typy

    <xs:element name="cena" type="xs:decimal"/>
  • toto schéma naimportujeme do dotazu

    import schema "urn:x-pokus:schemas:katalog" at "katalog.xsd"
  • jakékoliv dotazy na uzel odpovídající elementu cena nyní budou vracet číselný typ, a ne textový řetězec

  • (: Naimportováním schématu zajistíme validaci dokumentu
       a přiřazení datových typů jednotlivým uzlům.
       Seřazení podle elementu cena tak bude fungovat správně. :)
    
    import schema "urn:x-kosek:schemas:katalog" at "katalog.xsd";
    declare namespace k = "urn:x-kosek:schemas:katalog";
    
    for $p in doc('katalog-s-typy.xml')//k:polozka
    order by $p/k:cena
    return
      <vyrobek>
        { $p/k:nazev, $p/k:cena }
      </vyrobek>
    
  • jedná se nepovinnou funkcionalitu XQuery implementací