Syntax highlighting of Archiv/PRG036 pisemka 2005-05-24

[http://mff.modry.cz/xml/2005_05_24-test/ screenshoty prvnich dvou stranek]

= XSChema1 =

 Maximálně kolika způsoby je možné vyjádřit následujicí DTD:
 <!ELEMENT e1 (e2)+ >
 <!ELEMENT e2 (#PCDATA)>
 v jazyce XML Schema?

# žádným
# 1
# 2
# 3
# nekonečno mnoha


Jedna z možností:

  <xs:element name="e1">
   <xs:complexType>
     <xs:sequence>
      <xs:element name="e2" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
     </xs:sequence>
   </xs:complexType>
  </xs:element>

nebo:

  <xs:element name="e1">
   <xs:complexType>
     <xs:choice>
      <xs:element name="e2" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
     </xs:choice>
   </xs:complexType>
  </xs:element>

nebo taky:

  <xs:element name="e1" type="type_e1"/>
  <xs:complexType name="type_e1">
    <xs:sequence>
      <xs:element name="e2" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

případně stejně jako předchozí jen místo ''sequence'' dáme ''choice''.


Odpověď: nekonečně mnoha.

= XSchema3 =

Který z následujicích DTD datových typů je v XML Schema implicitně obsažen?

# #PCDATA
# CDATA
# ID
# (true | false)
# (ano | ne | nevím )

Odpověď: ID

= XSchema11 =

Který z následujicích příkladů specifikuje definici elementu, který se může (ale nemusí) vyskytovat s prázdným obsahem.

1.
 <xs:element name="e1" type="xs:string"/>
2.
 <xs:element name="e1" type="xs:float" nillable="true"/>
3.
 <xs:element name="e1" type="xs:integer"/>
4.
 <xs:element name="e1">
    <xs:complexType>
       <xs:attribute name="a1" type="xs:string"/>
    </xs:complexType>
 </xs:element/>

Odpověď: 2

= XSchema13 =

Kolik chyb je v následujicím fragmentu XML schématu:

 <xs:complexType name="t1">
  <xs:all maxOccurs="3">
   <xs:element name="e1" type="xs:string">
   <xs:element name="e2" type="xs:string" maxOccurs="2"/>
   <xs:element name="e3" type="xs:string">
   <xs:element name="e4" type="xs:string" minOccurs="0"/>
  </xs:all>
 </xs:complexType>

# 1
# 2
# 3
# 4

Řádek: <xs:all maxOccurs="3"> - maxOccurs nemůže být v elementu all.

Řádek: <xs:element name="e2" type="xs:string" maxOccurs="2"/> - V elementu all může být maxOccurs 0 nebo 1.

Odpověď: 2

= XPath1 =

XPath se používá
# k alokaci části XML dokumentu.
# ke konstrukci nového XML dukumentu na základě vstupu starého XML dokumentu.
# k alokaci části XML dokumentu i ke konstrukci nového XML dukumentu na základě vstupu starého XML dokumentu.

= XPath5 =

'''(5) kapitola/nadpis v XPath'''

Kniha ma nadpis a 12 kapitol, pricom kazda kapitola ma opat nadpis. Aky pocet elementov bude vo vysledku dotazov:
(Odpovede dopiste k dotazom)
 a) kapitola/nadpis
 b) //nadpis

'''6, praotec Cech v Xpath'''
Uvazujem rodostrom praotca Cecha. V akom vztahu su k praotcovi Cechovi pribuzni vyjadreni dotazom
 /*/*

'''7, root/child v Xpath'''
Uvazujme element root, ktory ma podelementy child.
Aky bude vysledok dotazu:
 child::*[last()]


'''8, link v XLink'''
Ako urobime jednoduchu vazbu v XLink
# pomocou href
# pomocou typ obsahu + href
# pomocou deklaracie http://www.w3.org v hlavicke
Ktora z odpovedi sa najviac blizi skutocnosti


'''9, XML-QL vlastnosti'''
Ktore tvrdenie o XML-QL su pravdive:
#
# nema definovane poradie elementov v datovom modele
# nema premenne pre elementy
# nedokaze pracovat s viacerymi zdrojmi


'''10, persistent storage - vlastnosti (indexy, transakcie, velkost dotazov)'''
Ktore z nasledujucich tvrdeni o perzistentnom ulozisti XML dat su pravdive:
# nie je potrebne cacheovanie dat
# da sa pouzit klasicke transakcne spracovanie
# nedaju sa pouzit klasicke indexy
# mozne spracovavat vacsie celky naraz
# optimalizacia pre velky rozsah


'''11, spojenie a zachovavanie poradia atributov'''
FIXME


'''12, Pre trvale strukturalne ciselne schema plati (vybrat z mnozstva tvrdeni)'''

Odpoved: Pre kazde deterministicke trvale strukturalne schema C=(p,L) existuje postupnost vlozenia uzlov S dlzky n taka, ze funkcia L priraduje niektoremu uzlu postupnosti identifikator dlzky aspon n-1.


'''13, sekvencia v XQuery'''
FIXME