Zk 14.06.2007

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: Zk 14.06.2007

od johnny » 17. 6. 2007 10:13

Hodina a půl.

od Trupik » 17. 6. 2007 08:30

kolik je na písemku času?

od yayo » 15. 6. 2007 10:18

myslim, ze znamkovanie bolo
22-19 = 1
18-17 = 2 ??
16-15 = 3 ?????

bodovanie (podla mojho cislovania prikladov)
1. [2]
2. [2]
3. [6]
4. [1]
5. [1]
6. [2], [3]
7. [2]
otazka doplnena johnnym [3]

priblizne takto.. nech ma niekto opravi..

od stinny » 15. 6. 2007 10:05

A jake bylo bodovani jednotlivych prikladu? A znamkovani?

od @tiMan » 15. 6. 2007 02:02

johnny píše:Trvalo mi dost dlouho, než mi tohle došlo a když jsem jel ze zkoušky, tak mně taky napadlo, že tam měla být ta část s "/*/". Nevím, jestli to je teď po tomhle příspěvku jasnější :D
Ale je, diky moc, aspon mam lepsi pocit, ze som to asi fakt nemal uplne dobre. No bolo zaujimave, ze za tento priklad bolo 6 bodov, co predstavuje rozdiel i troch znamok vo vysledku.

od johnny » 14. 6. 2007 17:28

Na téhle stránce se to chová takhle:
1) /AAA/descendant-or-self::* - vybere vše, včetně kořene AAA
2) /AAA/descendant::* - vybere vše, kromě kořene AAA
3) /AAA//* - stejně jako 2)

// je sice /descendant-or-self/, ale
//X je /descendant-or-self/child::X

Trvalo mi dost dlouho, než mi tohle došlo a když jsem jel ze zkoušky, tak mně taky napadlo, že tam měla být ta část s "/*/". Nevím, jestli to je teď po tomhle příspěvku jasnější :D

od @tiMan » 14. 6. 2007 16:46

honzik123 píše:descendant::autor[position()=1]
znamena, vem vsechny descendent (nasledniky) od aktualniho kontextu (nebylo tam lomitko na zacatku, tak je to ten aktualni kontext), z nich vyber elementy autor a nakonec vyber toho prvniho
tedy: . znamena self, tedy od aktualniho kontextu, potom .//autor je od aktualniho kontextu libovolneho autora a nakonec pridat index (.//autor[1])
To vsetko ja chapem, mam problem len s tym, ze descendent (potomci) su bez toho kontextoveho uzlu - striktne pod. Tvoje riesenie pocita i s kontextovym uzlom, ze? Cize od aktualneho kontextu vcetne. Ale je dost dobre mozne, ze sa mylim...

od honzik123 » 14. 6. 2007 16:20

Zkusim napsat, jak jsem to udelal ja a jak to chapu/nechapu, kdyztak me prosim nekdo opravte.
Asi nejdulezitejsi je rozmyslet si co znamena x::y, je to ve slidech...

descendant::autor[position()=1]
znamena, vem vsechny descendent (nasledniky) od aktualniho kontextu (nebylo tam lomitko na zacatku, tak je to ten aktualni kontext), z nich vyber elementy autor a nakonec vyber toho prvniho
tedy: . znamena self, tedy od aktualniho kontextu, potom .//autor je od aktualniho kontextu libovolneho autora a nakonec pridat index (.//autor[1])

/descendant::autor[position()=1]
Tady je to podobne, akorat / rika, ze zaciname hned od vrchu stromu, tedy od vrcholu stromu najdem vsechny nasledniky, ktere jsou autor, to se snadno udela //autor, k tomu uz staci jen pridat index a je to...
(//autor[1])

Vsechny dalsi jsou uz jen lehke upraveniny :)

od yayo » 14. 6. 2007 16:12

tiez neviem, preco bolo tvoje zle, ale napr. descendant::autor som prepisal na .//autor a bolo to spravne..

edit: dve lomitka som tam mal

od @tiMan » 14. 6. 2007 15:54

Mne sa zdal XPath v tej trojke nejak divny...Vsade tam bola osa descendant. Pokial dobre viem, // je zkratka za /descendant-OR-SELF::node()/ a nie len pre descendant. Cize ja som tam dal vsade este */, aby som preskocil jednu uroven a zacal o jednu nizsie - aby som vynechal uzol samotny, kedze tam nebol ten self.
Tymto som stratil 3 body :? No stale neviem, preco bolo moje riesenie zle.

od honzik123 » 14. 6. 2007 14:40

Ja jsem dostal za 2. Ze zacatku se mi to zdalo dosti tezke, ale kdyz se nad tim clovek zamyslel, tak to je hracka...
Jinak Pokorny rikal, ze znamky budou v SISu az zitra.

od johnny » 14. 6. 2007 14:31

Ještě tam byla otázka na přepis DTD co nejpřesněji do XML Schema, ale bez použití typu atributů ID/IDREFS. To DTD bylo přibližně toto:

Kód: Vybrat vše

<!ELEMENT firma (zamestnanec+)>
<!ELEMENT zamestnanec EMPTY>
<!ATTLIST zamestnanec 
  id ID #REQUIRED
  nadrizeny IDREF #IMPLIED>
U XQuery bylo potřeba znát, jak se v XQuery používá "if".

Máte už někdo nějakou známku? Je 14:30, výsledky tam měly být po 11:30, v SISu pořád nic nemám, na vyhlášení u Pokorného jsem nebyl.

Zk 14.06.2007

od yayo » 14. 6. 2007 13:23

tak skusim dat dokopy nejaku kostru pisomky.. bola takmer cisto prakticka..
1.

Kód: Vybrat vše

   <?xml version="1.0" encoding="windows-1250"?>
   <xsl:stylesheet version="1.0">
     <xsl:output method="xml" />
     <xsl:template match="zamestnanec">
       <<xsl:copy-of select="jmeno">
     </xsl:template>
   </xsl:stylesheet>     
tak nejak..
a) je to well-formed xml
b) nejaka blbost
c) transformuje do HTML..
d) transformuje do XML jako zoznam mien - nejak tak, ale bolo to spravne..

2. <element/>: dva sposoby ako zapisat v XML Schema, aby toto tam preslo..

3. skrateny zapis XPath - 6 prikladov typu
a) descendant::autor[position()=1] (.//autor[1])
b) /descendant::autor[position()=1] (//autor[1])
c) descendant::kniha[attribute(jazyk)="angl"] (.//kniha[@jazyk="angl"])
d) descendant::kniha[attribute(jazyk)!="angl"] (.//kniha[@jazyk@!="angl"])
e) (child::bib/descendant::kniha)[position()=1] ((bib//kniha)[1])
f) nejaky strasne dlhy nezrozumitelny dotaz

4. to co uz niekde bolo template ci sa pise s match, if alebo when.. (spravne match)

5. uz tiez bola, xpath dotaz s knihou -> spravny dotaz /kniha/kapitola[1]/nadpis/preceding::* a vyznacit na obrazku

6. XQuery dotazy - jednoduchy -> vybrat knihy z dokumentu a k nim pocet kapitol..
zlozitejsi -> mame druhy subor s recenziami.. na jednu knizku moze byt v 0 az n recenzii a mame vybrat titul, autora knizky a k tomu vsetky texty recenzii cize pre jednu knizku to malo vyzerat

Kód: Vybrat vše

<recenze_knihy>
 <titul>Janko Hrasko</titul>
 <autor>ludova</autor>
 <text>prvej rezencia</text>
 <text>druha rezencia</text>
 <text>tretia rezencia</text>
</recenze_knihy>
ak recenzia na knizku neexistovala, tak tam element recenze knihy nebol..

DTD suboru recenze.xml
<!ELEMENT recenze (zaznam)*>
<!ELEMENT zaznam (titul, cena, text)>
titul,cena,text - PCDATA

dotaz, ktory mi uznali. neviem, ci je syntakticky spravne:

Kód: Vybrat vše

 for $kniha in doc('kniha.xml')
 let $nazev := doc('recenze.xml')/recenze/zaznam/titul[.=$kniha/nazev]
 if (exists($nazev))
 return
 {
  <rezenze_knihy>
   <titul>{$kniha/nazev}</titul>
   <autor>{$kniha/autor}</autor>
   {
    for $zaznam in doc('rezenze.xml')/rezenze/zaznam
    where $zaznam/titul = $kniha/nazev
    return
    {
     <text>{$zaznam/text}</text>
    }
   }
  </rezenze_knihy>
 }

7. otazka ktora uz bola.. Xpath 2 podmnozinou xquery 1, xquery sa daju vytvarat vlastne funkcie...


tak snad pomoze, kto by mal presnejsie zadania, nech to sem da..

edit: doplneny dotaz v XQuery

Nahoru