PRG036 pisemka 2005-05-24

Z ωικι.matfyz.cz
Přejít na: navigace, hledání

screenshoty prvních dvou stranek

Všechny odpovědi jsou bez záruky.

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?
  1. žádným
  2. 1
  3. 2
  4. 3
  5. 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?

  1. #PCDATA
  2. CDATA
  3. ID
  4. (true | false)
  5. (ano | ne | nevím )

Odpověď: ID

(jojolaser: podľa mna aj CDATA, viz text: Vestavěné datové typy pojmenované výhradně velkými písmeny odpovídají stejnojmenným typům z DTD)

Beaver: pole me je spravne CDATA -> string, ID -> ID a mozna i (true|false) - v XML Scheme je typ boolean (ale tezko rict, jak to autori mysleli).

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 (Dawe: dle testeru ze cvičení i 1 - ze by to bral jako prazdny string?) (Nozka: i attribute bez use="required" se chová nepovinně)

eq 'Profile2') or (@ProfileUsed eq 'Profile1' and fn:count(./Category) > 0 ) or (@ProfileUsed eq 'Profile3'))"/> </xs:complexType> <xs:simpleType name="ProfileNames"> <xs:restriction base="xs:string"> <xs:enumeration value="Profile1"/> <xs:enumeration value="Profile2"/> <xs:enumeration value="Profile3"/> </xs:restriction> </xs:simpleType>Now in my XML instance if I have mutllpie clients, this assertion works correctly for the first client, but fails for the second client.Any idea why?

XPath1

XPath se používá

  1. k alokaci části XML dokumentu.
  2. ke konstrukci nového XML dukumentu na základě vstupu starého XML dokumentu.
  3. k alokaci části XML dokumentu i ke konstrukci nového XML dukumentu na základě vstupu starého XML dokumentu.

Odpověď: 1

XPath3

Označ co je NEPRAVDIVÉ v následujicím výroku:

Výsledkem vyhodnocení výrazu v XPath je:

  1. boolská hodnota
  2. číslo
  3. množina uzlů
  4. pole úzlů

Odpověď: 4

XPath5

Uvažujte XML dokument popisujicí knihu. Kniha má nadpis a obsahuje 12 kapitol, z nich každá má nadpis. Urči, kolik bude na výstupu uzlů po vyhodnocení dotazu.

  1. kapitola/nadpis
  2. //nadpis

Odpověď: 1 - 12 , 2 - 13

Poznámka: závisí to od kontextu. 1 - může být i 0. Dále je potřeba uvažovat uzly a ne elementy. To znamená, že neprázdný element = 2 uzly ...

XPath8

Uvažujte XML dokument popisujicí rodokmen osob odvíjející se od praotce Čecha. Kořenový element reprezentuje tohoto praotce.

  1. V jakém vztahu jsou osoby, jejichž uzly obdržíme dotazem /*/* k praotci Čechovi?
  2. Nechť kontextový uzel odpovídá kořenovému elementu. Co bude výsledkem vyhodnocení dotazu child::*[last()].

Odpověď: 1 - synové, 2 - poslední syn praotce Čecha.

Pozn.: Praotec Čech mohl mít také dcery :-P

Take9 si občas některe9 čle1nky pedši hlavně pro sebe a vlastně ani nevěředm, že by to někoho mohlo zajedmat (třeba takove9 ty osobned věci, kde jsem kdy byl, atd.). Je to prostě takove1 veřejne1 intrenetove1 paměť. Sve9ho času jsem si psal denedk, abych nezapomněl důležite9 okamžiky života, ale jednak pse1t jej pravidelně se mi nechtělo a ostatně stejně jsem jej nijak nepročedtal.Teď dedky blogu tu je takove1 veřejne1 paměť, kterou si občas projdu, mohu na ned odke1zat z nějake9ho nove9ho čle1nku (jdou nave1zat souvislosti mezi minulosted a současnosted), no a jako bonus tam je to, že by to eventue1lně mohlo zajedmat, či nějak inspirovat, i někoho jine9ho.Pokud jde o to psaned čle1nků, tak take9 se mi do toho občas nechce (ostatně teď tu me1m rozpracovane9 tušedm asi dva a nějak se neme1m k jejich dokončened), ale nakonec vždy zvedtězed ten pocit odpovědnosti ke čtene1řům , byť by tedm čtene1řem jsem měl bfdt třeba jen je1 se1m . Mimochodem, tak mě napade1, že bych měl začedt dělat na dalšedm čle1nku Best Of 90 s kre1ted se mi čas a zedtra vlastně už dnes me1 vyjedt dalšed pokračove1ned .

Ostatní

XML-QL vlastnosti Ktore tvrdenie o XML-QL su pravdive:

  1. nema definovane poradie elementov v datovom modeli
  2. nema premenne pre elementy
  3. nedokaze pracovat s viacerymi zdrojmi

Podľa W3C: The data model does not require sibling elements to be ordered even though they may have a fixed order in the XML document.

  • platí 1

In XML-QL, we can query several sources simultaneously and produce an integrated view of their data.

To že má premenné, je vidieť priamo z ukážkových dotazov.


Persistent storage - vlastnosti (indexy, transakcie, velkost dotazov) Ktore z nasledujucich tvrdeni o perzistentnom ulozisti XML dat su pravdive:

  1. nie je potrebne cacheovanie dat
  2. da sa pouzit klasicke transakcne spracovanie
  3. nedaju sa pouzit klasicke indexy
  4. mozne spracovavat vacsie celky naraz
  5. optimalizacia pre velky rozsah

V slajdoch sa píše, že XML Perzistentní úložiště má vlastnosti SŘBD, teda pravdivé by mali byť 2, 4, 5

Spojenie a zachovavanie poradia atributov FIXME


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.


Sekvencia v XQuery FIXME