XPath 1.0. Jeszenszky Péter Debreceni Egyetem, Informatikai Kar Utolsó módosítás: szeptember 5.

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "XPath 1.0. Jeszenszky Péter Debreceni Egyetem, Informatikai Kar Utolsó módosítás: szeptember 5."

Átírás

1 XPath 1.0 Jeszenszky Péter Debreceni Egyetem, Informatikai Kar Utolsó módosítás: szeptember 5. 1

2 XPath 1.0 XML Path Language (XPath) Version 1.0 (W3C ajánlás, november 16.) Hibajegyzék (utolsó módosítás: november 2.): a/ Célja, hogy lehetővé tegye XML dokumentumok részeinek megcímzését. Ehhez biztosítja karakterláncok, számok és logikai értékek kezelését is. Az XSLT és az XPointer szabványok használják (mindkettő kibővíti). 2

3 XPath 2.0 (1) XML Path Language (XPath) 2.0 (Second Edition) (W3C ajánlás, december 14.) Lényegesen fejlettebb az 1.0 verziónál. Szoros összefonódás az XSLT 2.0 és az XQuery 1.0 szabványokkal. Maga az XQuery 1.0 az XPath 2.0 kiterjesztése. 3

4 XPath 2.0 (2) Kapcsolódó szabványok: XQuery 1.0 and XPath 2.0 Data Model (XDM) (Second Edition) (W3C ajánlás, december 14.) XQuery 1.0 and XPath 2.0 Formal Semantics (Second Edition) (W3C ajánlás, december 14.) XQuery 1.0 and XPath 2.0 Functions and Operators (Second Edition) (W3C ajánlás, december 14.) W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures (W3C ajánlás, április 5.) W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes (W3C ajánlás, április 5.) 4

5 XPath 3.0 XML Path Language (XPath) 3.0 (W3C ajánlás, április 8.) Kapcsolódó szabványok: XQuery and XPath Data Model 3.0 (W3C ajánlás, április 8.) XPath and XQuery Functions and Operators 3.0 (W3C ajánlás, április 8.) XSL Transformations (XSLT) Version 3.0 (W3C ajánlás, június 8.) 5

6 Jellemzők Tömör, nem-xml szintaxis (XPath kifejezések). XPath kifejezések használata URI-kban és attribútumok értékeiben. XML dokumentumokhoz a DOM-hoz hasonló módon egy logikai adatmodell definiálása, azonban vannak eltérések a DOM adatmodelljétől. Fa adatmodell, amelyben minden csomóponthoz definiált annak sztringértéke. Az XPath kifejezések egy részhalmaza alkalmas mintaillesztésre, éppen erre használja az XSLT. Az elnevezés onnan jön, hogy a '/' karakter éppen olyan módon használt egy hierarchikus szerkezetben való navigálásra, mint az állományrendszernél. 6

7 Adatmodell (1) XML dokumentumok modellezése olyan fákkal, melyekben az alábbi fajta csomópontok szerepelhetnek: Gyökércsomópont Elemcsomópont Szövegcsomópont Tulajdonság-csomópont Névtércsomópont Feldolgozási utasítás-csomópont Megjegyzéscsomópont 7

8 Adatmodell (2) Minden csomópontnak pontosan egy szülője van, kivéve a gyökércsomópontot, melynek nincs szülője. Gyermekei csak az elem- és gyökércsomópontoknak lehetnek. Minden csomópontnak van sztring-értéke. Bizonyos esetekben ez magának a csomópontnak része, más esetekben a leszármazottak sztring-értékeiből határozható meg. A csomópontoknak lehet kifejtett neve, ami egy lokális részből és egy névtér URI-ból álló pár, ahol a névtér URI lehet null. A csomópontokon egy rendezés definiált (dokumentumsorrend). 8

9 Példa (1) <?xml version="1.0"?> <!DOCTYPE movies SYSTEM "movies.dtd"> <!-- Forrás: --> <movies> <movie id=" "> <title>psycho</title> <year>1960</year> <rating>8.6</rating> </movie> </movies> 9

10 Példa (2) 10

11 Dokumentumsorrend (1) Egy csomópont dokumentumsorrendben megelőz egy másikat, ha az általános egyedek helyettesítése után az XML reprezentációjának első karaktere megelőzi a másikét a dokumentumban. A gyökércsomópont az első a sorrendben. Az elemcsomópontok így értelemszerűen megelőzik a gyermekeiket a sorrendben. Az elemcsomópontok rendezése tehát a nyitócímkék előfordulásának sorrendjében történik. 11

12 Dokumentumsorrend (2) A tulajdonság- és névtércsomópontok megelőzik azt a csomópontot, melyhez tartoznak. Egy elemcsomóponthoz tartozó névtércsomópontok megelőzik a tulajdonságcsomópontokat. A tulajdonság- és névtércsomópontok relatív elrendezése implementációfüggő. Fordított dokumentumsorrend (értelemszerű). 12

13 Dokumentumsorrend szemléltetése 13

14 Gyökércsomópont A fa gyökere. Gyermekei a dokumentum gyökérelemét reprezentáló elemcsomópont, valamint a dokumentumban azt megelőző és követő megjegyzéseket és feldolgozási utasításokat ábrázoló csomópontok. Nincs kifejtett neve. Sztring-értéke az összes leszármazott szövegcsomópont sztring-értékének dokumentumsorrendben történő összefűzésével adódik. 14

15 Elemcsomópontok Minden a dokumentumban szereplő elemnek egy elemcsomópont felel meg a fában. Van kifejtett nevük (értelemszerű). A sztring-érték úgy határozandó meg, mint a gyökércsomópont esetében. 15

16 Tulajdonság-csomópontok Nem gyermekei az elemcsomópontoknak. A tulajdonság-csomópontoknak szülői azok az elemcsomópontok, melyekhez tartoznak. Van kifejtett nevük (értelemszerű). Sztring-értékük a normalizált tulajdonságérték. A névtér-deklarációk nem tulajdonságcsomópontokként jelennek meg. 16

17 Névtércsomópontok (1) Minden elemcsomóponthoz hozzárendelt névtércsomópontok egy halmaza. Minden egyes olyan névtér-előtaghoz, amelynek hatáskörében van az elem, egy névtércsomópont megfeleltetése. Ha az elem alapértelmezett névtér-deklaráció hatáskörébe esik, annak is egy névtércsomópont megfeleltetése. 17

18 Névtércsomópontok (2) Nem gyermekei az elemcsomópontoknak. Viszont a névtércsomópontoknak szülői azok az elemcsomópontok, melyekhez tartoznak. Van kifejtett nevük: A lokális rész a névtér-előtag (alapértelmezett névtérnél az üres sztring). A névtér URI null. Sztring-értékük a megfelelő névtér URI. Ha a névtér-deklarációban adott URI relatív, akkor ez a sztring-érték implementációfüggő! 18

19 Szövegcsomópontok Szövegcsomópontot soha nem előz meg vagy követ másik szövegcsomópont. Nincs kifejtett nevük. A sztring-érték értelemszerű (legalább egy karakterből áll). A dokumentumelemen (gyökérelemen) kívüli whitespace karakterek nem jelennek meg szövegcsomópontokként. 19

20 További fajta csomópontok Feldolgozási utasítás-csomópontok: A dokumentumban szereplő feldolgozási utasításokat ábrázolják (a DTD-ben lévő feldolgozási utasítások nem jelennek meg a modellben). Van kifejtett nevük, bennük a lokális rész a feldolgozó alkalmazás neve, a névtér URI null. Sztring-értéküket a feldolgozási utasításban az alkalmazás nevét a whitespace karakterek után követő karakterek adják meg. Megjegyzéscsomópontok: A dokumentumban szereplő megjegyzéseket ábrázolják (a DTDben lévő megjegyzések nem jelennek meg a modellben). Nincs kifejtett nevük. Sztring-értékük a tartalmazott megjegyzés szöveg. 20

21 Eltérések a DOM adatmodelltől (1) A DOM adatmodellel ellentétben nem követhetik egymást szövegcsomópontok. Névterek eltérő módon történő kezelése. A DOM adatmodellben elemcsomópontoknál csak az explicit módon megadott névtér-deklarációk jelennek meg, és közönséges tulajdonságokként. A DOM adatmodellben a tulajdonságcsomópontoknak nincs szülője. A DOM adatmodellel ellentétben a CDATAszakaszok szövegcsomópontokként jelennek meg. 21

22 Eltérések a DOM adatmodelltől (2) Az XPath adatmodellben valamennyi egyedhivatkozás helyettesítésre került, így azok nem jelennek meg önálló csomópontokként. Nem jelenik meg az adatmodellben a dokumentumtípus-deklaráció sem. 22

23 XPath kifejezések (1) XPath kifejezések értéke az alábbi típusú lehet: csomóponthalmaz (node-set) logikai szám (lebegőpontos) sztring A kifejezések kiértékelése adott kontextusban történik, melynek meghatározását az XSLT és az XPointer szabványok definiálják. 23

24 XPath kifejezések (2) A kontextus az alábbiakat jelenti: kontextus-csomópont kontextusméret és -pozíció (pozitív egészek) változó-kötések érvényben lévő névtér-deklarációk függvénykönyvtár Egy kifejezés részeinek kiértékelésekor más-más lehet a kontextus-csomópont, a kontextusméret és -pozíció! 24

25 XPath kifejezések (3) Fennáll a kontextus-pozíció kontextusméret reláció (jelentésüket lásd később). A változó-kötések változónevekhez értékeket rendelnek. A függvénykönyvtár függvénynevekhez függvényeket rendel. A névtér-deklarációk előtagokhoz névtér URI-kat rendelnek. 25

26 XPath kifejezések (4) XML dokumentumokban (tulajdonságértékekben) előforduló kifejezésekben speciális karakterek helyett a megfelelő egyedhivatkozásokat kell használni. A kifejezéseket alkotó tokenek között whitespace karakterek szabadon elhelyezhetők. 26

27 Függvények A szabvány részeként egy olyan függvénykönyvtár definiálása, melyet minden implementáció kell, hogy támogasson. Ezt az XSLT és az XPointer is kibővíti. A könyvtár mind a négy adattípus kezeléséhez biztosít függvényeket. Változó argumentumszámú függvények használata. A függvényhívás módja a szokásos, a paraméterátadás során sorrendi kötés van, a paraméterek átalakítása automatikusan történik a megfelelő típusúvá (automatikus típuskonverziók). 27

28 Csomóponthalmazok Elérési útvonalak kiértékelésének eredményeként adódnak. A halmazoktól elvárt viselkedésnek megfelelően rendezetlenek és ismétlődés sem megengedett az elemek között. Csomóponthalmazok uniójának képzésére használható a ' ' operátor. Más típusú objektumokat nem lehet csomóponthalmazokká konvertálni. 28

29 Sztringek Unicode karakterek alkotják. Sztring literálok megadásánál a '"' és ''' határoló karaktereket is lehet használni. Csomóponthalmazok, számok és logikai értékek sztringgé konvertálása az alábbi módon történik: Csomóponthalmaz esetén a konverzió eredménye a halmaz dokumentumsorrendben első csomópontjának sztring-értéke, üres halmaz esetén üres sztring. Logikai értékek sztringgé konvertálása során a true és false sztringeket kapjuk eredményül. Például a pozitív végtelen érték sztringgé konvertálásának eredménye az Infinity karakterlánc. 29

30 Számok (1) Dupla pontosságú, 64-bites lebegőpontos számok (IEEE 754) Van pozitív és negatív nulla, pozitív és negatív végtelen, valamint NaN érték. Aritmetikai operátorok: +, - (unáris és bináris), *, div, mod Az osztást div jelöli a '/' karakter speciális szerepe miatt, a többi operátor a megszokott. Az operátorok automatikusan számokká alakítják az operandusokat. A következő numerikus függvények állnak rendelkezésre: ceiling(), floor(), number(), sum(), round(). 30

31 Számok (2) Számmá konvertálás: Sztringek számmá konvertálása értelemszerű módon történik. Ha a konverzió nem végezhető el, akkor az eredmény NaN érték. Igaz logikai érték számmá konvertálása során az eredmény 1, hamis érték esetén 0. Csomóponthalmaz számmá konvertálása során a halmaz először sztringgé konvertálódik, az így kapott eredmény pedig számmá (lásd fenn). 31

32 Logikai értékek (1) Igaz és hamis értékek. Logikai operátorok (precedencia szerint növekvő sorrendben): or and =!= <= < > = > Valamennyi logikai operátor balról asszociatív. Az or és and logikai műveletek rövidzár műveletek, az operandusok értékét automatikusan logikai típusúvá alakítják. 32

33 Logikai értékek (2) Negálás a not() függvénnyel lehetséges. Nincsenek logikai konstansok, az igaz és hamis értékek előállítására szolgálnak a true() és false() beépített függvények. 33

34 Logikai értékek (3) Logikai értékké konvertálás: Negatív nulla, pozitív nulla és NaN értékek konvertálása hamis értékké, az összes többi szám konvertálása igaz értékké. Nem üres csomóponthalmaz konvertálása igaz értékké, üres csomóponthalmaz konvertálása hamis értékké. Nem üres sztring konvertálása igaz értékké, üres sztring konvertálása hamis értékké. 34

35 Logikai műveletek (1) Ha a!= és = logikai összehasonlító műveletek operandusai csomóponthalmazok: Az eredmény igaz akkor, és csak akkor, ha létezik egyegy olyan csomópont mindkét csomóponthalmazban, amelyek sztring-értékére teljesül a megfelelő reláció. Ha a <=, <, >, >= logikai összehasonlító műveletek operandusai csomóponthalmazok: Az eredmény igaz akkor, és csak akkor, ha létezik egyegy olyan csomópont mindkét csomóponthalmazban, melyek számmá konvertált sztring-értékére teljesül a megfelelő reláció. 35

36 Logikai műveletek (2) Ha a <=, <, =,!=, >, >= logikai összehasonlító műveletek egyik operandusa csomóponthalmaz, a másik szám: Az eredmény igaz akkor, és csak akkor, ha a csomóponthalmazban van olyan csomópont, melynek számmá konvertált sztring-értéke és a szám operandus között teljesül a megfelelő reláció. 36

37 Logikai műveletek (3) Ha a!= és = logikai összehasonlító műveletek egyik operandusa csomóponthalmaz, a másik pedig sztring: Az eredmény igaz akkor, és csak akkor, ha a csomóponthalmazban van olyan csomópont, melynek sztringértéke és a sztring operandus között fennáll az adott reláció. Ha a <=, <, >, >= logikai összehasonlító műveletek egyik operandusa csomóponthalmaz, a másik pedig sztring: Az eredmény igaz akkor, és csak akkor, ha a csomóponthalmazban van olyan csomópont, melynek számmá konvertált sztring-értéke és a számmá konvertált sztring operandus között fennáll az adott reláció. 37

38 Logikai műveletek (4) Ha a!= és = logikai összehasonlító műveletek egyik operandusa csomóponthalmaz, a másik logikai érték: Az eredmény igaz akkor, és csak akkor, ha a logikai operandus és a logikai értékké konvertált csomóponthalmaz között fennáll az adott reláció. Ha a <=, <, >, >= logikai összehasonlító műveletek egyik operandusa csomóponthalmaz, a másik logikai érték: Az eredmény igaz akkor, és csak akkor, ha fennáll a megfelelő reláció a logikai típusú operandus és logikai típusúvá konvertált csomóponthalmaz számokká alakítása során nyert értékek között. 38

39 Logikai műveletek (5) Ha a!= és = logikai összehasonlító műveletek egyik operandusa sem csomóponthalmaz, akkor egy megfelelő közös típusra konvertálás során kapott értékek összehasonlítása: ha az egyik operandus logikai érték, akkor a másik operandus logikai típusúvá konvertálása. egyébként ha az egyik operandus szám, akkor a másik operandus számmá konvertálása. egyébként mindkét operandus sztringgé konvertálása. Azonos típusú értékek összehasonlítása a!= és = operátorokkal már értelemszerűen történik. 39

40 Logikai műveletek (6) Ha a <=, <, >, >= logikai összehasonlító műveletek egyik operandusa sem csomóponthalmaz, akkor mindkét operandus számmá konvertálása és a konverzió eredményeként kapott értékek összehasonlítása. 40

41 Egy minta XML dokumentum <?xml version="1.0"?> <books> <book> <title>a Mester és Margarita</title> <publisher>európa</publisher> <year>1991</year> </book> <book> <title>a Pendragon legenda</title> <publisher>magvető</publisher> <year>2001</year> </book> <book> <title>a Foucault-inga</title> <publisher>európa</publisher> <year>2004</year> </book> <book> <title>száz év magány</title> <publisher>magvető</publisher> <year>1994</year> </book> </books> 41

42 Példa Igaz értékű a book[publisher='európa']/year > book[publisher='magvető']/year logikai kifejezés, ha a books elemcsomópont a kontextus-csomópont. Ugyancsak igaz értékű a book[publisher='európa']/year < book[publisher='magvető']/year logikai kifejezés, ha a books elemcsomópont a kontextus-csomópont. 42

43 Elérési útvonalak (location paths) A kifejezések egyik fajtáját alkotják, ezek a legfontosabbak. Feladatuk csomópontok kiválasztása a kontextuscsomóponthoz képest relatív módon. Értékeik csomóponthalmazok. Rövidítések lehetségesek (rövidített szintaxis). 43

44 Példák elérési útvonalakra (1) child::p A kontextus-csomópont p nevű elemcsomópont gyermekeinek kiválasztása dokumentumsorrendben. child::* A kontextus-csomópont összes elemcsomópont gyermekének kiválasztása dokumentumsorrendben. child::text() A kontextus-csomópont összes szövegcsomópont gyermekének kiválasztása dokumentumsorrendben. 44

45 Példák elérési útvonalakra (2) attribute::href A kontextus-csomóponthoz tartozó href tulajdonságcsomópont kiválasztása. attribute::* A kontextus-csomóponthoz tartozó összes tulajdonságcsomópont kiválasztása. descendant::img A kontextus-csomópont img nevű elemcsomópont leszármazottainak kiválasztása dokumentumsorrendben. 45

46 Példák elérési útvonalakra (3) child::p[position()=1] A kontextus-csomópont dokumentumsorrendben első p nevű elemcsomópont gyermekének kiválasztása. child::p[position()=last()] A kontextus-csomópont dokumentumsorrendben utolsó p nevű elemcsomópont gyermekének kiválasztása. child::div[attribute::class="footer"] A kontextus-csomópont azon div nevű elemcsomópont gyermekeinek kiválasztása dokumentumsorrendben, melyek class tulajdonságának értéke "footer". 46

47 Példák elérési útvonalakra (4) child::table[child::caption] A kontextus-csomópont azon table nevű elemcsomópont gyermekeinek kiválasztása dokumentumsorrendben, melyeknek van caption nevű elemcsomópont gyermeke. /descendant::h1[position()=10] Kiválasztja a dokumentumot ábrázoló adatszerkezetben a dokumentumsorrend szerinti tizedik h1 elemcsomópontot. 47

48 Elérési útvonalak felépítése Az elérési útvonalak lehetnek abszolút és relatív elérési útvonalak. A relatív elérési útvonalak '/' karakterekkel elválasztott lépésekből állnak, a lépések feldolgozása balról jobbra haladva történik. Az abszolút elérési útvonalak '/' karakterrel kezdődnek, melyet egy opcionális relatív elérési útvonal követ. 48

49 Relatív elérési útvonalak kiértékelése 1)Az első lépésben adott kifejezés kiértékelése a kontextus-csomóponthoz relatív módon, ilyen módon bizonyos csomópontok kiválasztása. 2)A nyert csomóponthalmaz minden elemére mint kontextus-csomópontra ki kell értékelni az elérési útvonal soron következő lépést, és az így kapott csomóponthalmazok unióját kell venni. 3)A eredményül kapott csomóponthalmazra ismételni a 2. pontban leírtakat, egészen addig, míg minden lépés feldolgozásra nem került. 49

50 Példa A child::b/child::c/child::e elérési útvonal által kiválasztott csomópontok (a kontextus-csomópontot szaggatott vonal jelöli): 50

51 Abszolút elérési útvonalak A / abszolút elérési útvonal kiválasztja a gyökércsomópontot. Ha egy abszolút elérési útvonalban a kezdő '/' karaktert egy relatív útvonal követi, akkor annak kiértékelése során a kontextus-csomópont a gyökércsomópont. Azaz a '/' karaktert követő relatív elérési útvonal kiértékelése a gyökércsomóponthoz relatív módon történik. 51

52 Elérési útvonal lépések A lépések 3 részből állnak: Irány (axis): célja csomópontok kiválasztása a kontextuscsomóponthoz képest. Csomópont-teszt (node test): az irány által kijelölt csomópontok közül továbbiak kiválasztása típus és név alapján. Feltételes kifejezés (predicate): olyan opcionális rész, melyből tetszőleges sok megadható, további szűrést valósít meg az irány és a csomópont-teszt által kiválasztott csomópontokon. Szinaxiusuk az alábbi: irány '::' csomópont-teszt ('[' feltételes_kif ']')* 52

53 Irányok child descendant parent ancestor following-sibling preceding-sibling following preceding attribute namespace self descendant-orself ancestor-or-self 53

54 A child irány 54

55 A descendant irány 55

56 A parent irány 56

57 Az ancestor irány 57

58 A following-sibling irány 58

59 A preceding-sibling irány 59

60 A following irány 60

61 A preceding irány 61

62 A self irány 62

63 A descendant-or-self irány 63

64 Az ancestor-or-self irány 64

65 Irányok Az ancestor, descendant, following, preceding és self irányok diszjunkt módon osztják fel a dokumentumot. Az általuk kiválasztott csomóponthalmazok diszjunktak, valamint a névtér- és tulajdonság-csomópontok kivételével tartalmaznak minden csomópontot. 65

66 Előre haladó és fordított irányok Az irányok mindegyike előre haladó (forward) vagy fordított (reverse). Előre haladó irány csak a kontextus-csomópontot és a dokumentumsorrendben azt követő csomópontokat választhatja ki. Fordított irány csak a kontextus-csomópontot és a dokumentumsorrendben azt megelőző csomópontokat választhatja ki. Fordított az ancestor, ancestor-or-self, preceding, preceding-sibling irány, az összes többi előre haladó. Mivel a self irány egyetlen csomópontot választ ki, ennél nem lényeges, hogy a kettő közül milyennek definiált. 66

67 Szomszédsági pozíció Csomóponthalmazok elemeinél az adott iránynak megfelelő szomszédsági pozíció (proximity position) értelmezése. Egy csomóponthalmaz egy elemének az iránynak megfelelő szomszédsági pozíciója: Előre haladó irány esetén a csomópont pozíciója a dokumentumsorrendbe rendezett csomóponthalmazban. Fordított irány esetén a csomópont pozíciója a fordított dokumentumsorrendbe rendezett csomóponthalmazban. A pozíciók számozása mindkét esetben 1-től történik. A szomszédsági pozíció szolgáltatja a kontextuspozíciót az elérési útvonalak kiértékelése során. 67

68 Csomópont-tesztek (1) Minden irányhoz definiált egy úgynevezett elsődleges csomóponttípus (principal node type): Az attribute irány esetében ez tulajdonság, mivel az irány tulajdonságcsomópontokat választ ki. A namespace irány esetében ez névtér, mivel az irány névtércsomópontokat választ ki. Az összes többi irány esetében az elsődleges csomópont-típus elem, mivel ezek ki tudnak választani elemcsomópontokat is. Egy minősített név, mint csomópont-teszt igaz egy adott irány által kiválasztott csomópontra, ha a csomópont típusa megegyezik az irány elsődleges csomópont-típusával, a kifejtett neve pedig a csomópont-tesztben adott névnek megfelelő kifejtett névvel. Például a child::p elérési útvonal lépés a kontextus-csomópont p nevű elemgyermekeit választja ki. 68

69 Csomópont-tesztek (2) A * csomópont-teszt igaz minden olyan csomópontra, melynek típusa megegyezik az irány elsődleges csomópont-típusával. Például child::* kiválasztja a kontextus-csomópont összes elemgyermekét, attribute::* pedig kiválasztja a kontextuscsomóponthoz tartozó összes tulajdonság-csomópontot. Az előtag:* csomópont-teszt igaz egy csomópontra, ha annak típusa megegyezik az irány elsődleges csomóponttípusával, valamint kifejtett nevének URI-ja megegyezik az adott előtaghoz tartozó URI-val. Például child::xslt:*, attribute::xml:* módon használható. 69

70 Csomópont-tesztek (3) További csomópont-tesztek: text(): igaz a szövegcsomópontokra comment(): igaz a megjegyzéscsomópontokra processing-instruction(): igaz a feldolgozási utasítás-csomópontokra node(): igaz minden csomópontra 70

71 Feltételes kifejezések (1) A kifejezés kiértékelése megtörténik minden egyes előzőleg az irány és a csomópont-teszt vagy egy előző feltételes kifejezés által kiválasztott csomópontra, mint kontextus-csomópontra, ez alapján történik a kiválasztás. A [] karakterek között adott kifejezés értékének logikai értékké konvertálása. Ha a kifejezés értéke szám, akkor a konverzió eredménye igaz logikai érték, ha a szám egyenlő a kontextus-pozícióval, hamis egyébként. Ha a kifejezés értéke nem szám, akkor az adott típusú érték logikai értékké konvertálása történik (a konverziós szabályokat lásd a típusoknál). 71

72 Feltételes kifejezések (2) Azoknak a csomópontoknak a kiválasztása történik, melyekre a kifejezés igaz. A kifejezés-kiértékelés során a kontextusméret annak a csomóponthalmaznak az elemeinek száma, melynek minden egyes elemére ki kell értékelni a kifejezést. Az előbbi csomóponthalmaz egy elemének kontextus-pozíciója a csomópont szomszédsági pozíciója annak az iránynak megfelelően, mely kiválasztotta a csomóponthalmazt. Egy elérési útvonal lépésben akár több feltételes kifejezés is megadható. Minden egyes feltételes kifejezés egy újabb szűrést végez az előző feltételes kifejezés által kiválasztott csomópontokon. 72

73 Rövidített szintaxis (1) child:: elhagyható az elérési útvonal lépésekből attribute:: helyett /descendant-or-self::node()/ helyett használható // self::node() helyett használható. Hasznosan kombinálható a // konstrukcióval parent::node() helyett használható.. 73

74 Rövidített szintaxis (2) Például a child::div/child::h1 kifejezés röviden div/h1 módon írható. Az attribute::class módon rövidíthető. A child::img/attribute::src kifejezés ekvivalens rövid alakja img/@src. A child::title[attribute::xml:lang="hu"] kifejezés röviden title[@xml:lang="hu"] módon írható. A parent::node()/attribute::style kifejezés tömörebb alakja../@style. 74

XPath. dr. Paller Gábor. XML technológiák

XPath. dr. Paller Gábor. XML technológiák XPath dr. Paller Gábor XPath Az XPath nyelv más specifikációkat szolgál ki. Elsődlegesen az XSLT céljaira készült. Funkciói XML dokumentum részeinek kiválasztása, címzése. Mintaillesztés (van-e olyan XML

Részletesebben

5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben?

5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben? Adatbázis modellek 5. téma XML DB Az adatkezelés és XML kapcsolata Miért fontos az XML használata az adatbázis kezelésben? Adattárolás alapformái: - strukturált - szabad-szöveges - szemi struktúrált -

Részletesebben

XML és XSLT (a színfalak mögül)

XML és XSLT (a színfalak mögül) XML és XSLT (a színfalak mögül) Írta: Nagy Tamás Motiváció Ez a dokumentum eredetileg egy előadás írott változatának készült. Már az előadásra való felkészülés során, több könyv és Internetes oldal elolvasása

Részletesebben

XML sémanyelvek Jeszenszky, Péter

XML sémanyelvek Jeszenszky, Péter XML sémanyelvek Jeszenszky, Péter XML sémanyelvek Jeszenszky, Péter Publication date 2010 Szerzői jog 2010 Jeszenszky Péter A tananyag a TÁMOP-4.1.2-08/1/A-2009-0046 számú Kelet-magyarországi Informatika

Részletesebben

Általános lekérdezési feladatok

Általános lekérdezési feladatok Általános lekérdezési feladatok Az XML értékeinek szűrése, kiválasztása: navigálás, kiválasztás, információ kinyerése XML dokumentumok összefésülése, aggregálás: Összekapcsolás, aggregálás Adott sémájú

Részletesebben

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak

Részletesebben

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva! A PL/SQL alapelemei Karakterkészlet Az angol ABC kis- és nagybetűi: a-z, A-Z Számjegyek: 0-9 Egyéb karakterek: ( ) + - * / < > =! ~ ^ ; :. ' @ %, " # $ & _ { }? [ ] Szóköz, tabulátor, kocsivissza A kis-

Részletesebben

Adatkezelési mőveletek az XML nyelvben XQuery - XML dokumentumok lekérdezésére szolgáló lekérdezınyelv kifejezı ereje az OQL nyelvével egyenértékő.

Adatkezelési mőveletek az XML nyelvben XQuery - XML dokumentumok lekérdezésére szolgáló lekérdezınyelv kifejezı ereje az OQL nyelvével egyenértékő. Adatkezelési mőveletek az XML nyelvben XQuery - XML dokumentumok lekérdezésére szolgáló lekérdezınyelv kifejezı ereje az OQL nyelvével egyenértékő. más nyelvek: XML-QL, XQL, Lorel, de jelenleg valószínő,

Részletesebben

Lekérdezések az SQL SELECT utasítással

Lekérdezések az SQL SELECT utasítással Lekérdezések az SQL SELECT utasítással Az SQL SELECT utasítás lehetőségei Vetítés Kiválasztás 1. tábla 1. tábla Összekapcsolás 1. tábla 2. tábla Elemi SELECT utasítások SELECT * {[DISTINCT] column expression

Részletesebben

Az XML dokumentumok adatmodellje

Az XML dokumentumok adatmodellje Az XML dokumentumok adatmodellje dr. Kovács László XML dokumentumok reprezentációs formái Az XML dokumentumok egyik érdekessége, hogy többarcúak, különböző megközelítésből más és más alakban jellennek

Részletesebben

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 2. előadás Szintaktikai alapok Alapvető típusok, ismétlés C# típus.net típus Méret (byte) Leírás byte System.Byte 1Előjel nélküli 8 bites egész szám (0..255) char

Részletesebben

Kifejezések. Kozsik Tamás. December 11, 2016

Kifejezések. Kozsik Tamás. December 11, 2016 Kifejezések Kozsik Tamás December 11, 2016 Kifejezések Lexika Szintaktika Szemantika Lexika azonosítók (változó-, metódus-, típus- és csomagnevek) literálok operátorok, pl. + zárójelek: (), [], {},

Részletesebben

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >> I. Alapok Interaktív shell-ben vagy shell-scriptben megadott karaktersorozat feldolgozásakor az első lépés a szavakra tördelés. A szavakra tördelés a következő metakarakterek mentén zajlik: & ; ( ) < >

Részletesebben

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve

Részletesebben

XML alapú adatbázis-kezelés. (Katona Endre diái alapján)

XML alapú adatbázis-kezelés. (Katona Endre diái alapján) XML alapú adatbázis-kezelés Adatstruktúrák: Digitális kép, hang: teljesen strukturálatlan A web (linkek): részben strukturált Relációs: teljesen strukturált Motiváció: (Katona Endre diái alapján) Ismeretlen

Részletesebben

Szoftvertervezés és -fejlesztés I.

Szoftvertervezés és -fejlesztés I. Szoftvertervezés és -fejlesztés I. Operátorok Vezérlési szerkezetek Gyakorlás 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik.

Részletesebben

Programozási nyelvek (ADA)

Programozási nyelvek (ADA) Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 1. előadás Hasznos weboldal http://kto.web.elte.hu Program felépítése Programegységek (program unit) eljárások (procedure)

Részletesebben

Webes űrlapok és az XForms ajánlás

Webes űrlapok és az XForms ajánlás Debreceni Egyetem Informatikai Kar Webes űrlapok és az XForms ajánlás Témavezető: Dr. Adamkó Attila egyetemi adjunktus Készítette: Hetei György programtervező Informatikus Debrecen 2010 Bevezetés 3 A HTML

Részletesebben

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,

Részletesebben

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,

Részletesebben

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 2. előadás

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 2. előadás Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás 2. előadás Console I/O bővebben Lásd mintaprogram 2015.09.21. Számítástechnika I. 2. Előadás 2 Számábrázolásról

Részletesebben

AWK programozás, minták, vezérlési szerkezetek

AWK programozás, minták, vezérlési szerkezetek 10 AWK programozás, minták, vezérlési szerkezetek AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa

Részletesebben

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. HA 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) HA 2 Halmazok HA 3 Megjegyzések A halmaz, az elem és az eleme fogalmakat nem definiáljuk, hanem alapfogalmaknak

Részletesebben

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit

Részletesebben

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1 Halmazelmélet 1. előadás Farkas István DE ATC Gazdaságelemzési és Statisztikai Tanszék Halmazelmélet p. 1/1 A halmaz fogalma, jelölések A halmaz fogalmát a matematikában nem definiáljuk, tulajdonságaival

Részletesebben

Készítette: Nagy Tibor István

Készítette: Nagy Tibor István Készítette: Nagy Tibor István Operátorok Műveletek Egy (vagy több) műveleti jellel írhatók le A műveletet operandusaikkal végzik Operátorok fajtái operandusok száma szerint: egyoperandusú operátorok (pl.:

Részletesebben

Kifejezések. A programozás alapjai előadás. Operátorok. Kifejezések. Operátorok precedenciája. Operátorok precedenciája

Kifejezések. A programozás alapjai előadás. Operátorok. Kifejezések. Operátorok precedenciája. Operátorok precedenciája A programozás alapjai 1 Kifejezések 5. előadás Híradástechnikai Tanszék Operandusok Literál Azonosító Kifejezés Kifejezések Precedencia Melyik hajtódik először végre? Asszociativitás Balról jobbra vagy

Részletesebben

Assembly programozás: 2. gyakorlat

Assembly programozás: 2. gyakorlat Assembly programozás: 2. gyakorlat Számrendszerek: Kettes (bináris) számrendszer: {0, 1} Nyolcas (oktális) számrendszer: {0,..., 7} Tízes (decimális) számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális

Részletesebben

Occam 1. Készítette: Szabó Éva

Occam 1. Készítette: Szabó Éva Occam 1. Készítette: Szabó Éva Párhuzamos programozás Egyes folyamatok (processzek) párhuzamosan futnak. Több processzor -> tényleges párhuzamosság Egy processzor -> Időosztásos szimuláció Folyamatok közötti

Részletesebben

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT ADATBÁZISOK 9-10. gyakorlat: SQL 2. rész SELECT SELECT utasítás általános alakja SELECT [DISTINCT] oszloplista FROM táblanévlista [WHERE feltétel] [GROUP BY oszloplista [HAVING feltétel] ] [ORDER BY oszloplista];

Részletesebben

XML technikák II Kovács, László

XML technikák II Kovács, László XML technikák II Kovács, László XML technikák II Kovács, László Kelet-Magyarországi Informatika Tananyag Tárház Nemzeti Fejlesztési Ügynökség http://ujszechenyiterv.gov.hu/ 06 40 638-638 Lektor Dr. Johanyák

Részletesebben

AWK programozás Bevezetés

AWK programozás Bevezetés 09 AWK programozás Bevezetés AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa és feldolgozhatóvá

Részletesebben

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - szintaxis, vezérlési szerkezetek Operációs rendszerek 11. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik

Részletesebben

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1 Halmazok 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 2 A fejezet legfontosabb elemei Halmaz megadási módjai Halmazok közti műveletek (metszet,

Részletesebben

Aspektus-orientált nyelvek XML reprezentációja. Kincses Róbert Debreceni Egyetem, Informatikai Intézet

Aspektus-orientált nyelvek XML reprezentációja. Kincses Róbert Debreceni Egyetem, Informatikai Intézet Aspektus-orientált nyelvek XML reprezentációja Kincses Róbert Debreceni Egyetem, Informatikai Intézet kincsesr@inf.unideb.hu Bevezetés OOP: helyesen alkalmazva jó minőségű szoftvert lehet vele előállítani

Részletesebben

FUNKCIONÁLIS PROGRAMOZÁS GYAKORLAT JEGYZET

FUNKCIONÁLIS PROGRAMOZÁS GYAKORLAT JEGYZET FUNKCIONÁLIS PROGRAMOZÁS GYAKORLAT JEGYZET Szerkesztette: Balogh Tamás 2013. május 17. Ha hibát találsz, kérlek jelezd a info@baloghtamas.hu e-mail címen! Ez a Mű a Creative Commons Nevezd meg! - Ne add

Részletesebben

Komputeralgebra Rendszerek

Komputeralgebra Rendszerek Komputeralgebra Rendszerek Számkezelés Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék 2015. február 24. TARTALOMJEGYZÉK 1 of 53 TARTALOMJEGYZÉK 1 TARTALOMJEGYZÉK 2 Az egzakt aritmetika Bignum aritmetika

Részletesebben

Magas szintű adatmodellek Egyed/kapcsolat modell I.

Magas szintű adatmodellek Egyed/kapcsolat modell I. Magas szintű adatmodellek Egyed/kapcsolat modell I. Ullman-Widom: Adatbázisrendszerek. Alapvetés. 4.fejezet Magas szintű adatmodellek (4.1-4.3.fej.) (köv.héten folyt.köv. 4.4-4.6.fej.) Az adatbázis modellezés

Részletesebben

Komputeralgebra Rendszerek

Komputeralgebra Rendszerek Komputeralgebra Rendszerek Konstansok, változók, típusok Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék 2015. február 24. TARTALOMJEGYZÉK 1 of 110 TARTALOMJEGYZÉK I 1 TARTALOMJEGYZÉK 2 Nevek kezelése

Részletesebben

XML adatkezelés. 11. témakör. Az XQuery nyelv alapjai. XQuery. XQuery célja egy imperatív lekérdező nyelv biztosítása. XQuery.

XML adatkezelés. 11. témakör. Az XQuery nyelv alapjai. XQuery. XQuery célja egy imperatív lekérdező nyelv biztosítása. XQuery. XML adatkezelés 11. témakör Az nyelv alapjai ME GEIAL dr Kovács Lászl szló célja egy imperatív lekérdező nyelv biztosítása SQL XPath XSLT (nem XML) XDM Forrás XML processzor Eredmény XML 1 jellemzői --

Részletesebben

Komputeralgebra Rendszerek

Komputeralgebra Rendszerek Komputeralgebra Rendszerek Összetett adatszerkezetek a MAPLE -ben Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék 2014. március 11. TARTALOMJEGYZÉK 1 of 66 TARTALOMJEGYZÉK I 1 TARTALOMJEGYZÉK 2 Kifejezéssorozatok

Részletesebben

Kifejezések. Kozsik Tamás. December 11, 2016

Kifejezések. Kozsik Tamás. December 11, 2016 Kifejezések Kozsik Tamás December 11, 2016 Kifejezés versus utasítás C/C++: kifejezés plusz pontosvessző: utasítás kiértékeli a kifejezést jellemzően: mellékhatása is van például: értékadás Ada: n = 5;

Részletesebben

XSLT ( XSL Transformations)

XSLT ( XSL Transformations) XSLT ( XSL Transformations) Tartalomjegyzék: 1. Az XSLT helye... 3 2. Az XSLT feldolgozás... 3 3. Az XSLT stíluslapok felépítése... 4 3.1. Sablonok... 4 3.2. Minták és kifejezések... 4 3.3. Az XSLT stíluslap

Részletesebben

Adatbázisok II. Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A

Adatbázisok II. Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A Adatbázisok II. 6 Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A XQUERY 6 XQUERY jellemzői XML dokumentumok lekérdezésére szolgáló lekérdezőnyelv W3C szabvány 2007 óta; a böngészők és ABKR értik

Részletesebben

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix 2. Adattípusonként különböző regisztertér Célja: az adatfeldolgozás gyorsítása - különös tekintettel a lebegőpontos adatábrázolásra. Szorzás esetén karakterisztika összeadódik, mantissza összeszorzódik.

Részletesebben

Apple Swift kurzus 3. gyakorlat

Apple Swift kurzus 3. gyakorlat Készítette: Jánki Zoltán Richárd Dátum: 2016.09.20. Apple Swift kurzus 3. gyakorlat Kollekciók: Tömb: - let array = [] - üres konstans tömb - var array = [] - üres változó tömb - var array = [String]()

Részletesebben

Lekérdezések az SQL-ben 1.rész

Lekérdezések az SQL-ben 1.rész Lekérdezések az SQL-ben 1.rész Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.1. Egyszerű (egy-relációs) lekérdezések az SQL-ben - Select-From-Where utasítás

Részletesebben

XML (DTD) (XSD) DOM SAX XSL. XML feldolgozás

XML (DTD) (XSD) DOM SAX XSL. XML feldolgozás XML feldolgozás Áttekintés XML -bevezetés (XML érvényességének vizsgálata (DTD, XSD)) XML feldolgozók (DOM, SAX) XML transformációk (XSLT) Áttekintés XML -bevezetés (XML érvényességének vizsgálata (DTD,

Részletesebben

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók Haskell 1. Alapok tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók elég jól elkerülhetők így a mellékhatások könnyebben

Részletesebben

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás A tárgy órái Előadás hetente (St101) csüt. 8:15 Bécsi Tamás C elmélet Ajánlott irodalom Dennis Ritchie: A C programozási nyelv Gyakorlat hetente

Részletesebben

Felvételi tematika INFORMATIKA

Felvételi tematika INFORMATIKA Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.

Részletesebben

Hardver leíró nyelvek (HDL)

Hardver leíró nyelvek (HDL) Hardver leíró nyelvek (HDL) Benesóczky Zoltán 2004 A jegyzetet a szerzıi jog védi. Azt a BME hallgatói használhatják, nyomtathatják tanulás céljából. Minden egyéb felhasználáshoz a szerzı belegyezése szükséges.

Részletesebben

A szemantikus elemzés elmélete. Szemantikus elemzés (attribútum fordítási grammatikák) A szemantikus elemzés elmélete. A szemantikus elemzés elmélete

A szemantikus elemzés elmélete. Szemantikus elemzés (attribútum fordítási grammatikák) A szemantikus elemzés elmélete. A szemantikus elemzés elmélete A szemantikus elemzés elmélete Szemantikus elemzés (attribútum fordítási grammatikák) a nyelvtan szabályait kiegészítjük a szemantikus elemzés tevékenységeivel fordítási grammatikák Fordítóprogramok előadás

Részletesebben

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS 2.ELŐADÁS A VB programozási nyelv Az Excel programozása 2 A VB programozási nyelv Adattípusok Adatok kezelése Vezérlőszerkezetek Adattípusok és műveletek Egész adattípusok

Részletesebben

Algoritmizálás és adatmodellezés tanítása 1. előadás

Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az

Részletesebben

BASH script programozás II. Vezérlési szerkezetek

BASH script programozás II. Vezérlési szerkezetek 06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van

Részletesebben

Informatikai alapismeretek Földtudományi BSC számára

Informatikai alapismeretek Földtudományi BSC számára Informatikai alapismeretek Földtudományi BSC számára 2010-2011 Őszi félév Heizlerné Bakonyi Viktória HBV@ludens.elte.hu Titkosítás,hitelesítés Szimmetrikus DES 56 bites kulcs (kb. 1000 év) felcserél, helyettesít

Részletesebben

1. Bevezetés A C++ nem objektumorientált újdonságai 3

1. Bevezetés A C++ nem objektumorientált újdonságai 3 Előszó xiii 1. Bevezetés 1 2. A C++ nem objektumorientált újdonságai 3 2.1. A C és a C++ nyelv 3 2.1.1. Függvényparaméterek és visszatérési érték 3 2.1.2. A main függvény 4 2.1.3. A bool típus 4 2.1.4.

Részletesebben

2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér

2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér Funkcionális programozás 2. el adás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2019, tavaszi félév Mir l volt szó? Követelmények, osztályozás Programozási

Részletesebben

ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA)

ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA) ÍTÉLETKALKULUS SZINTAXIS ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA) jelkészlet elválasztó jelek: ( ) logikai műveleti jelek: ítéletváltozók (logikai változók): p, q, r,... ítéletkonstansok: T, F szintaxis szabályai

Részletesebben

Logika és informatikai alkalmazásai

Logika és informatikai alkalmazásai Logika és informatikai alkalmazásai 1. gyakorlat Németh L. Zoltán http://www.inf.u-szeged.hu/~zlnemeth SZTE, Informatikai Tanszékcsoport 2011 tavasz Követelmények A tárgy (ea+gyak) teljesítésének követlményeit

Részletesebben

Készítette: Nagy Tibor István

Készítette: Nagy Tibor István Készítette: Nagy Tibor István A változó Egy memóriában elhelyezkedő rekesz Egy értéket tárol Van azonosítója (vagyis neve) Van típusa (milyen értéket tárolhat) Az értéke értékadással módosítható Az értéke

Részletesebben

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.10.. -1- Mit tudunk már? Típus fogalma char, int, float,

Részletesebben

A C# programozási nyelv alapjai

A C# programozási nyelv alapjai A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet

Részletesebben

Dokumentumformátumok Jelölő nyelvek XML XML. Sass Bálint sass@digitus.itk.ppke.hu. Bevezetés a nyelvtechnológiába 2. gyakorlat 2007. szeptember 20.

Dokumentumformátumok Jelölő nyelvek XML XML. Sass Bálint sass@digitus.itk.ppke.hu. Bevezetés a nyelvtechnológiába 2. gyakorlat 2007. szeptember 20. XML Sass Bálint sass@digitus.itk.ppke.hu Bevezetés a nyelvtechnológiába 2. gyakorlat 2007. szeptember 20. 1 DOKUMENTUMFORMÁTUMOK 2 JELÖLŐ NYELVEK 3 XML 1 DOKUMENTUMFORMÁTUMOK 2 JELÖLŐ NYELVEK 3 XML DOKUMENTUMFORMÁTUMOK

Részletesebben

Bevezetés a C++ programozási nyelvbe

Bevezetés a C++ programozási nyelvbe Bevezetés a C++ programozási nyelvbe Miskolci Egyetem Általános Informatikai Tanszék CPP0 / 1 Története A C++ programozási nyelv a C programozási nyelv objektum orientált kiterjesztése. Az ANSI-C nyelvet

Részletesebben

1. Egyszerű (primitív) típusok. 2. Referencia típusok

1. Egyszerű (primitív) típusok. 2. Referencia típusok II. A Java nyelv eszközei 1. Milyen eszközöket nyújt a Java a programozóknak Korábban már említettük, hogy a Java a C nyelvből alakult ki, ezért a C, C++ nyelvben járatos programozóknak nem fog nehézséget

Részletesebben

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI 5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI 1 Kombinációs hálózatok leírását végezhetjük mind adatfolyam-, mind viselkedési szinten. Az adatfolyam szintű leírásokhoz az assign kulcsszót használjuk, a

Részletesebben

Kölcsönhatás diagramok

Kölcsönhatás diagramok Kölcsönhatás diagramok Célkitűzés Olvasni tudják az alap UML kölcsönhatás diagramok (kommunikáció és szekvencia) diagramok jelöléseit. 2 Bevezetés Miért léteznek az objektumok? Azért, hogy a rendszer valamilyen

Részletesebben

7. Gyakorlat A relációs adatmodell műveleti része

7. Gyakorlat A relációs adatmodell műveleti része 7. Gyakorlat A relációs adatmodell műveleti része Relációs algebra: az operandusok és az eredmények relációk; azaz a relációs algebra műveletei zártak a relációk halmazára Műveletei: Egy operandusú Két

Részletesebben

Adatbázismodellek. 1. ábra Hierarchikus modell

Adatbázismodellek. 1. ábra Hierarchikus modell Eddig az adatbázisokkal általános szempontból foglalkoztunk: mire valók, milyen elemekből épülnek fel. Ennek során tisztáztuk, hogy létezik az adatbázis fogalmi modellje (adatbázisterv), amely az egyedek,

Részletesebben

Komputeralgebra rendszerek

Komputeralgebra rendszerek Komputeralgebra rendszerek III. Változók Czirbusz Sándor czirbusz@gmail.com Komputeralgebra Tanszék ELTE Informatika Kar 2009-2010 ősz Index I 1 Szimbolikus konstansok kezelés A konstansok Nevek levédése

Részletesebben

Adatbázisok elmélete 9. előadás

Adatbázisok elmélete 9. előadás Adatbázisok elmélete 9. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2005 ADATBÁZISOK ELMÉLETE

Részletesebben

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai SQL ALAPOK Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai BEVEZETÉS SQL: Structured Query Language Strukturált Lekérdező Nyelv Szabvány határozza meg, azonban számos nyelvjárása létezik

Részletesebben

Webprogramozás szakkör

Webprogramozás szakkör Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás

Részletesebben

ADATBÁZIS-KEZELÉS. Relációalgebra, 5NF

ADATBÁZIS-KEZELÉS. Relációalgebra, 5NF ADATBÁZIS-KEZELÉS Relációalgebra, 5NF ABSZTRAKT LEKÉRDEZŐ NYELVEK relációalgebra relációkalkulus rekord alapú tartomány alapú Relációalgebra a matematikai halmazelméleten alapuló lekérdező nyelv a lekérdezés

Részletesebben

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Bevezetés a programozásba II 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Emlékeztető struct Vektor { int meret, *mut; Vektor(int meret); int szamlal(int mit); }; int Vektor::szamlal(int mit)

Részletesebben

Komputeralgebra rendszerek

Komputeralgebra rendszerek Komputeralgebra rendszerek III. Változók Czirbusz Sándor czirbusz@gmail.com Komputeralgebra Tanszék ELTE Informatika Kar 2009-2010 ősz Index I 1 Szimbolikus konstansok kezelés A konstansok Nevek levédése

Részletesebben

Az R nyelv. Jeszenszky Péter Debreceni Egyetem, Informatikai Kar június 12.

Az R nyelv. Jeszenszky Péter Debreceni Egyetem, Informatikai Kar június 12. Az R nyelv Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.hu 2019. június 12. Általános tudnivalók Az R kisbetű-nagybetű érzékeny. 2 Objektumok Az R által kezelt különböző

Részletesebben

Lekérdezések az SQL-ben 1.rész

Lekérdezések az SQL-ben 1.rész Lekérdezések az SQL-ben 1.rész Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.1. Egyszerű (egy-relációs) lekérdezések az SQL-ben - Select-From-Where utasítás

Részletesebben

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.4. Relációs algebra (áttekintés) 5.1.

Részletesebben

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3) Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Mit tudunk már? Típus fogalma char, int, float, double változók deklarációja operátorok (aritmetikai, relációs, logikai,

Részletesebben

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. február 18. Minimum és maximumkeresés u s i n g n a m e s p a c e s t d ; i n t main ( ) { c o u t

Részletesebben

2016, Funkcionális programozás

2016, Funkcionális programozás Funkcionális programozás 2. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2016, tavaszi félév Miről volt szó? Programozási paradigmák: imperatív,

Részletesebben

sallang avagy Fordítótervezés dióhéjban Sallai Gyula

sallang avagy Fordítótervezés dióhéjban Sallai Gyula sallang avagy Fordítótervezés dióhéjban Sallai Gyula Az előadás egy kis példaprogramon keresztül mutatja be fordítók belső lelki világát De mit is jelent, az hogy fordítóprogram? Mit csinál egy fordító?

Részletesebben

Aritmetikai kifejezések lengyelformára hozása

Aritmetikai kifejezések lengyelformára hozása Aritmetikai kifejezések lengyelformára hozása Készítették: Santák Csaba és Kovács Péter, 2005 ELTE IK programtervező matematikus szak Aritmetikai kifejezések kiértékelése - Gyakran felmerülő programozási

Részletesebben

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Adatbázis-lekérdezés. Az SQL nyelv. Makány György Adatbázis-lekérdezés Az SQL nyelv Makány György SQL (Structured Query Language=struktúrált lekérdező nyelv): relációs adatbázisok adatainak visszakeresésére, frissítésére, kezelésére szolgáló nyelv. Születési

Részletesebben

Adatbázisok* tulajdonságai

Adatbázisok* tulajdonságai Gazdasági folyamatok térbeli elemzése 4. előadás 2010. 10. 05. Adatbázisok* tulajdonságai Rendezett, logikailag összefüggő és meghatározott szempont szerint tárolt adatok és/vagy információk halmaza Az

Részletesebben

34. Elsődleges kulcs megadása XMLSchema-ban... 11 35. Idegen kulcs megadása XMLSchema-ban... 12 36. Típusok kategóriái és saját típus megadásának

34. Elsődleges kulcs megadása XMLSchema-ban... 11 35. Idegen kulcs megadása XMLSchema-ban... 12 36. Típusok kategóriái és saját típus megadásának 1 Kérdések 1. XML kialakulása, története... 5 2. XML jellemzése, előnyei, szerepe... 5 3. XML megjelenési alakjai:... 5 4. XDM modell jellemzése, csomóponttípusok:... 5 5. XML helyesen formáltsága... 6

Részletesebben

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs Programozás I. 1. előadás: Algoritmusok alapjai Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember 7. Sergyán

Részletesebben

Interfészek. PPT 2007/2008 tavasz.

Interfészek. PPT 2007/2008 tavasz. Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése 2 Már megismert fogalmak áttekintése Objektumorientált

Részletesebben

Programozás I gyakorlat

Programozás I gyakorlat Programozás I. - 3. gyakorlat Operátorok, típuskonverziók, matematikai függvények Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 24,

Részletesebben

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18 C# Nyelvi Elemei Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei 2013 1 / 18 Tartalomjegyzék 1 Object 2 Típusok 3 String 4 RegEx Tóth Zsolt (Miskolci Egyetem) C# Nyelvi

Részletesebben

Komputeralgebra Rendszerek

Komputeralgebra Rendszerek Komputeralgebra Rendszerek Programozás Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék 2014. február 23. TARTALOMJEGYZÉK 1 of 28 TARTALOMJEGYZÉK I 1 TARTALOMJEGYZÉK 2 Értékadás MAPLE -ben SAGE -ben 3

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA, MATEmATIkA I. 4 IV. FÜGGVÉNYEk 1. LEkÉPEZÉSEk, függvények Definíció Legyen és két halmaz. Egy függvény -ből -ba egy olyan szabály, amely minden elemhez pontosan egy elemet rendel hozzá. Az

Részletesebben

Web-fejlesztés NGM_IN002_1

Web-fejlesztés NGM_IN002_1 Web-fejlesztés NGM_IN002_1 XML - Bevezetés Az XML extensible Markup Language egyszer!bb SGML (részhalmaz), korlátozásokkal meta markup language hordozható adatformátum (prezentációs megoldás) kommunikációs

Részletesebben

Adatmodellezés. 1. Fogalmi modell

Adatmodellezés. 1. Fogalmi modell Adatmodellezés MODELL: a bonyolult (és időben változó) valóság leegyszerűsített mása, egy adott vizsgálat céljából. A modellben többnyire a vizsgálat szempontjából releváns jellemzőket (tulajdonságokat)

Részletesebben

1. előadás: Halmazelmélet, számfogalom, teljes

1. előadás: Halmazelmélet, számfogalom, teljes 1. előadás: Halmazelmélet, számfogalom, teljes indukció Szabó Szilárd Halmazok Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) összessége. Egy halmaz akkor adott, ha minden objektumról eldönthető,

Részletesebben

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17 Adatbázisok 8. gyakorlat SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT 2015. október 26. 2015. október 26. Adatbázisok 1 / 17 SQL nyelv Structured Query Language Struktúrált lekérdez

Részletesebben

5. Gyakorlat. 5.1 Hálós adatbázis modell műveleti része. NDQL, hálós lekérdező nyelv:

5. Gyakorlat. 5.1 Hálós adatbázis modell műveleti része. NDQL, hálós lekérdező nyelv: 5. Gyakorlat 5.1 Hálós adatbázis modell műveleti része NDQL, hálós lekérdező nyelv: A lekérdezés navigációs jellegű, vagyis a lekérdezés megfogalmazása során azt kell meghatározni, hogy milyen irányban

Részletesebben