Ajánlott
irodalom: lásd
fent Segédanyagok: Nikovits
Tibor összefoglalói és kidolgozott
példái
>> XML dokumentum, XMLTYPE, adatok
lekérdezése: xml_alapok.txt
8.2.
XPath lokációs lépések
Ajánlott
irodalom: lásd
fent Segédanyagok: Nikovits
Tibor összefoglalói és kidolgozott
példái
>> A példák alapjául
szolgáló XML dokumentum itt: xml_dok_pelda.txt
>> XPath nyelv, lokációs
lépések, XPath kifejezések: xpath_alapok.txt
Feladatok:
-- XPath kifejezések
építőköveinek bemutatása: xpath
examples (www.zvon.org)
-- XPath példák (feladatok
megoldásokkal) xpath_feladatok.txt
A példák
alapjául szolgáló XML dokumentum itt
található: xml_dok_pelda.txt
(A fenti példát
nyomtassátok ki, mert
fontos a csomópontok nevében a kis/nagybetű!)
-- 1.) Adjuk meg a teljes dokumentumot
-- 2.) Adjuk meg az összes csúcsot (az
összes
létező részfát)
-- 3.) Adjuk meg az összes második
csúcsot
(az összes létező részfák 2.
csúcsait)
-- 4.) Adjuk meg az első kölcsönző
nevét.
-- 5.) Adjuk meg azokat a csomópontokat,
amelyeknek van 'ar'
attribútuma
-- 6.) Adjuk meg a DVD csomópontok
szöveges
tartalmát nyitó és
záró tagek nélkül
-- 7.) Adjuk meg az összes előadót
-- 8.) Adjuk meg a 2600-nál olcsóbb
vagy
3800-nál drágább DVD-ket
-- 9.) Adjuk meg azokat a csomópontokat,
amelyeknek van 'eloado'
vagy 'szerzo' attributuma
-- 10.) Adjuk meg azokat a csomópontokat, amelyeknek van
'cim'
és 'szerzo' attributuma
-- 11.) Adjuk meg azokat a csomópontokat, amelyeknek nincs
attribútuma
-- 12.) Adjuk meg a Shrek DVD csomópontját
-- 13.) Adjuk meg a 'Szep Holnap' című CD
árát
-- 14.) Adjuk meg azoknak a CD-knek a címeit, amelyeknek
ára legalább 3000
-- 15.) Adjuk meg a 'Shrek' DVD árát
-- 16.) Adjuk meg a Gipsz Jakab által
kölcsönzött konyvek szerzőit
-- 17.) Adjuk meg azoknak a CD-knek az előadóit, amelyeket
nem
Gipsz Jakab kölcsönzött
-- 18.) Adjuk meg azoknak a nevét, akik
kölcsönöztek Zorán CD-t
-- 19.) Adjuk meg azok nevét, akik
kölcsönöztek könyvet
-- 20.) Adjuk meg azok nevét, akik
kölcsönöztek könyvet vagy CD-t
-- 21.) Adjuk meg a Gipsz Jakab utáni
kölcsönzők nevét
-- 22.) Adjuk meg a Gipsz Jakab utáni
kölcsönző
nevét
-- 23.) Adjuk meg az utolsó kölcsönző
nevét
-- 24.) Kik azok, akik 2 könyvet
kölcsönöztek
-- 25.) Kik azok, akik csak 1 féle dolgot
kölcsönöztek
-- 26.) Mely csomópontok nevében van 'r' betű?
-- 27.) Mely csomópontnevek hossza 2? Házi
feladat. Beküldése,
lásd
Beadandók
beküldése
-- 1.) Adjuk meg azoknak a CD-knek a címeit, amelyek
előadójának neve 'Z' betűvel kezdődik.
-- 2.) Adjuk meg a CD-t is kölcsönző
kölcsönzők közül az
utolsónak a nevét.
-- 3.) Adjuk meg az utolsó kölcsönző
nevét, feltéve, hogy ő
kölcsönzött CD-t.
(Ha nem
kölcsönzött,
akkor üres eredmény)
-- 4.) Adjuk meg azok nevét, akikre igaz, hogy az
általuk
kölcsönzött CD-k árainak
összege
több
mint 3000.
-- 5.) Adjuk meg azok nevét, akikre igaz, hogy az
általuk
kölcsönzött összes dolog
árainak összege
kevesebb mint
8000.
-- 6.) Adjuk meg azok nevét, akikre igaz, hogy az
általuk
kölcsönzött CD-k
átlagára több mint
2600.
Ajánlott
irodalom: lásd
fent Segédanyagok: Nikovits
Tibor összefoglalói és kidolgozott
példái
>> A példák alapjául
szolgáló XML dokumentum itt: xml_dok_pelda.txt
>> XPath nyelv, lokációs
lépések, XPath kifejezések: xpath_alapok.txt
Feladatok:
>> Adott egy XML dokumentum xml_dok_pelda.txt
(kolcsonzes tábla azon=1 sorában).
(A fenti példát
nyomtassátok ki, mert
fontos a csomópontok nevében a kis/nagybetű!)
>> Adjuk meg papíron, hogy az
alábbi XPath kifejezések milyen
eredményt szolgáltatnak.
--
'descendant-or-self::Kolcsonzo[self::*/descendant::CD/@eloado="Zoran"]/@nev'
-- '//Kolcsonzo[.//CD/@eloado="Zoran"]/@nev'
-- '//Kolcsonzo[//CD/@eloado="Zoran"]/@nev'
-- '//CD[@eloado="Zoran"]/ancestor::*/@nev'
-- '//Kolcsonzo[@nev="Gipsz Jakab"]/following-sibling::*[1]/@nev' 8.4.
XPath függvények
Ajánlott
irodalom: lásd
fent Segédanyagok: Nikovits
Tibor összefoglalói és kidolgozott
példái
>> XPath függvények (Oracle 10g) xpath_fuggvenyek.txt
8.5.
XQuery alapok
Ajánlott
irodalom: lásd
fent Segédanyagok: Nikovits
Tibor összefoglalói és kidolgozott
példái
>> A példák alapjául
szolgáló XML dokumentum itt: xml_dok_pelda.txt
>> XQuery, FLWOR kifejezés: xquery_alapok.txt
Feladatok:
-- 1.) Igaz-e, hogy minden Kolcsonzo
kölcsönzött DVD-t?
-- 2.) Hány kölcsönző van?
Valójában a neveiket számoljuk meg.
-- 3.) Adjuk meg a kölcsönzők nevét
és az
általuk kölcsönzött CD-k
árának
összegét!
(XML
formátumban)
-- 4.) Mely CD-ket kölcsönözte ki Kis Virag?
-- 5.) Igaz-e, hogy minden kölcsönző
kölcsönzött CD-t? (az eredmény
igen vagy nem legyen)
-- 6.) Mennyi a kölcsönzött DVD-k
árának
összege? (string nélkül
csúnyán
írja ki)
-- 7.) Mennyi a legolcsóbb CD ára?
-- 8.) Adjuk meg az alábbi formában, hogy ki
hány darab dolgot kölcsönzött.
OSZLOP
----------------------------------------
<Kolcsonzo
nev="Gipsz Jakab" darab="4"/>
<Kolcsonzo
nev="Kis Virag" darab="3"/>
<Kolcsonzo
nev="Nagy Pal" darab="1"/>
-- 9.) Adjuk meg az alábbi formában, hogy ki
milyen
összértékű dolgokat
kölcsönzött.
OSZLOP
-------------------------------------------
<Kolcsonzo
nev="Gipsz Jakab" össz="11500"/>
<Kolcsonzo nev="Kis
Virag" össz="8700"/>
<Kolcsonzo nev="Nagy
Pal" össz="2500"/>
Ajánlott
irodalom: lásd
fent Segédanyagok:
>> XML függvények
(pl.DBMS_XMLGEN
csomag) xml_fuggvenyek.txt
Feladatok:
-- A hr.employees táblából
hozzunk létre XML dokumentumot!
-- A hr.departments táblából hozzunk
létre XML dokumentumot,
amely beágyazva
tartalmazza az osztályhoz tartozó
dolgozókat is! 8.7.
DTD és XML-séma
Ajánlott
irodalom: lásd
fent Segédanyagok:
>> DTD: xml_alapok.txt
(itt lásd "Érvényes dokumentum
megadása DTD-vel együtt")
>> XML-séma: xml_pelda_tablak.txt
8.8.
XSLT
Ajánlott
irodalom: lásd
fent Segédanyagok:
>> XSLT