PMJ, XPath

Podobni dokumenti
PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk

Microsoft Word - M docx

Analiza dimenzij kakovosti informacij spletnih strani slovenskih podjetij

Vprašanja za 2. izpitno enoto poklicne mature Strokovni predmet NPA Vprašanja Visual C# (4. letnik) 1. Uporabniški vmesnik razvojnega okolja Visual C#

Microsoft Word - M docx

Chapter 1

Podatkovni model ER

PMJ, XML

Strojna oprema

APS1

Nameščanje Adopt Open Java Development Kit 8

Nameščanje Adopt Open Java Development Kit 8

RAČUNALNIŠKA ORODJA V MATEMATIKI

Neuničljive predloge

Ime in priimek

IZGRADNJA PREDSTAVITVENE SPLETNE STRANI GLUCOWATCH Avtor: Marko Zajko Projekt delno financira Evropska unija, in sicer iz Evropskega socialnega sklada

Microsoft Word - UP_Lekcija04_2014.docx

Microsoft Word - M _mod..docx

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in

Stran

Vaja04_Ver02

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

RAČUNALNIŠKI PRAKTIKUM d o c. d r. A N D R E J T A R A N E N K O Kdo bo z vami? Predavatelj: dr. Andrej Taranenko

Diapozitiv 1

Delavnica Načrtovanje digitalnih vezij

Microsoft PowerPoint - Java_spremenljivke

Avtomatizirano modeliranje pri celostnem upravljanju z vodnimi viri

LAMP, MEAN, ANNE – kaj izbrati za razvoj spletne aplikacije?

Slajd 1

Microsoft Word - M doc

EKVITABILNE PARTICIJE IN TOEPLITZOVE MATRIKE Aleksandar Jurišić Politehnika Nova Gorica in IMFM Vipavska 13, p.p. 301, Nova Gorica Slovenija Štefko Mi

ACAD-BAU-Analiza-prostorov

Diplomsko delo visokošolskega strokovnega študija Informatika v organizaciji in managementu SPLETNA REŠITEV ZA ISKANJE TERMINOV IN LOKACIJ PREDAVANJ M

Osnove matematicne analize 2018/19

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

Diapozitiv 1

CMSC 838T Lecture

ZAHTEVA ZA VZDRŽEVANJE LEI (sklad) REQUEST FOR A MAINTENANCE OF LEI (fund) 1. PODATKI O SKLADU / FUND DATA: LEI: Ime / Legal Name: Druga imena sklada

Navodila za izdelavo diplomske naloge

Primerjava razvoja prave domorodne mobilne aplikacije in razvoja z uporabo ogrodja React Native

PowerPoint Presentation

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA

Napovedovanje obsega komentiranja spletnih novic z modeli strojnega ucenja

1. IDENTIFIKACIJA PODATKOVNEGA NIZA 1.1 Naslov Strukturno-tektonska karta Slovenije 1: Alternativni naslov Strukturno-tektonska karta Slove

Microsoft PowerPoint _12_15-11_predavanje(1_00)-IR-pdf

2. Model multiple regresije

Vrste

Microsoft Word - M docx

OWL, I.Savnik

DKMPT

Microsoft Word - bibliografske-zbirke-medicina.doc

Slide 1

OSNOVE UMETNE INTELIGENCE

P4 Management.pptx

16 TABAK.cdr

(Microsoft Word - U\350enje telegrafije po Kochovi metodi.doc)

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Teo Cerovski Avtomatsko ocenjevanje kakovosti prostorskih podatkov DIPLOMSKO DELO NA VI

Postopek za pripravo in oddajo kontrolnih podatkov za napoved dohodnine za leto 2007

Diapozitiv 1

NASLOV PREDAVANJA IME IN PRIIMEK PREDAVATELJA

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Statistika Pisni izpit 31. avgust 2018 Navodila Pazljivo preberite

Preštudirati je potrebno: Floyd, Principles of Electric Circuits Pri posameznih poglavjih so označene naloge, ki bi jih bilo smiselno rešiti. Bolj pom

6.1 Uvod 6 Igra Chomp Marko Repše, Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru

PowerPoint Presentation

Gimnazija Bežigrad Peričeva Ljubljana OPERACIJSKI SISTEM Predmet: informatika

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo

DSI 2019

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v

DN5(Kor).dvi

Naloge iz kolokvijev Analize 1 (z rešitvami) E-UNI, GING, TK-UNI FERI dr. Iztok Peterin Maribor 2009 V tej datoteki so zbrane naloge iz kolokvijev za

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Anže Pratnemer Analiza algoritmov za iskanje podnizov s pomočjo sistema ALGator DIPLOMS

Orodje za izvoz podatkov

Najprej si poglejmo učilnico. Za vse začetnike lahko tukaj najdete čudovito knjigo Python za programiranje. Poda odlično iztočnico za učenje. Priporoč

11/21/2017 SQL-ODBC Povezava do podatkovne baze modul pyodbc povezovalni niz (eksplicitno, ali z uporabo DSN) In [6]: import pyodbc from future import

David Zakelšek SPLETNA PODPORA UČENJU MATEMATIKE Diplomsko delo Maribor, september 2013

Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se

PowerPointova predstavitev

(Microsoft PowerPoint - vorsic ET 9.2 OES matri\350ne metode 2011.ppt [Compatibility Mode])

Brownova kovariancna razdalja

PowerPointova predstavitev

Microsoft PowerPoint - Objekti_gradnja.ppt

Standardi za označevanje dokumentov Razlogi za standardizacijo označevanja dokumentov, označevalni jeziki: MARC, RTF, Teχ, LaTeχ, SGML.

Smernice o izračunu pozicij repozitorjev sklenjenih poslov v skladu z uredbo EMIR 28/03/2019 ESMA SL

Iztok KOSEM in Špela ARHAR HOLDT Trojina, zavod za uporabno slovenistiko ANALIZA BESEDIŠČA IN SKLADNJE V BESEDILIH TESTA BRALNE PISMENO

Microsoft Word - CNC obdelava kazalo vsebine.doc

Datum in kraj

DOMACA NALOGA - LABORATORIJSKE VAJE NALOGA 1 Dani sta kompleksni stevili z in z Kompleksno stevilo je definirano kot : z = a + b, a p

Zadeva: Ponudba

Microsoft PowerPoint - OAPS1- P12.ppt

Pridobivanje, integracija in prikaz podatkov za potrebe cenilcev

Navodila za pripravo oglasov na strani Med.Over.Net v 2.2 Statistično najboljši odziv uporabnikov je na oglase, ki hitro in neposredno prenesejo osnov

Diapozitiv 1

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Boris Špoljar Analiza spletnih tehnologij DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Ment

Microsoft Word - prevod[1].doc

PowerPoint Presentation

Microsoft Word - sdjt04-12rodman.doc

Transkripcija:

Imenski prostori, poti in kazalci v XML Iztok Savnik 1

Imenski prostori v XML XML dokument lahko uporablja atribute, elemente in definicije, ki se nahajajo v drugih datotekah Modularna zasnova Ne sme priti do trkov imen Imena se morajo razlikovati Imenski prostori Datoteke, kjer so definirana imena (simboli) Namesto, da definiramo svoja imena uporabimo obstoječa Uporaba standardiziranih imenskih prostorov omogoča razumljivost dokumenta

Imenski prostori v XML (1) Imenski prostor v XML definiramo z uporabo vnaprej definiranih atributov xmlns: in xmlns Predpono imenskega prostora definiramo z xmlns: Privzet imenski prostor definiramo z xmlns Uporabniki ne smejo uporabljati xmlns nikjer drugje

Imenski prostori v XML (2) Primer definicije imenskega prostora <x xmlns:edi='http://ecommerce.example.org/schema'> <!-- the 'taxclass' attribute's namespace is http://ecommerce.example.org/schema --> <lineitem edi:taxclass="exempt">baby food</lineitem> </x>

Imenski prostori v XML (3) Primer uporabe xhtml v okviru XML <?xml version="1.0"?> <html:html xmlns:html='http://www.w3.org/1999/xhtml'> <html:head><html:title>frobnostication</html:title></html:head> <html:body><html:p>moved to <html:a href='http://frob.example.com'>here.</html:a> </html:p> </html:body> </html:html>

Imenski prostori v XML (4) Primer definicije privzetega imenskega prostora <?xml version="1.0"?> <!-- elements are in the HTML namespace, in this case by default --> <html xmlns='http://www.w3.org/1999/xhtml'> <head><title>frobnostication</title></head> <body><p>moved to <a href='http://frob.example.com'>here</a>.</p></body> </html>

X{*} - struktura XPath XPointer XLink XQuery XSLT 7

X{*} - struktura (1) XLink XLink je okrajšava za XML Linking Language Hiper-povezave med XML dokumenti Katerikoli element XML se lahko obnaša kot povezava Podpira enostavne (html) in kompleksne (razmerja) povezave Povezave so lahko definirane izven povezanih datotek XLink je W3C Recommendation

X{*} - struktura (2) XPointer Okrajšava za XML Pointer Language Kazalci lahko identificirajo specifične dele dokumenta Uporablja XPath izraze za navigacijo po XML dokumentu XPointer je W3C Recommendation

Poti v XML dokumentih Indentifikacija delov XML dokumenta Xpath Omogoča delo z osnovnimi tipi: niz, števila in boolove vrednosti Kompaktna, ne-xml sintaksa jezika Xpath model: drevo vozlišč Različne vrste vozlišč: elementi, atributi in tekst

Xpath izrazi Osnovni sintaktični element Xpath je izraz Rezultat evaluacije izraza je objekt, ki je enega od naslednjih tipov: Množica vozlišč Boolova vrednost Število Niz znakov

Xpath izrazi (1) Izraz se ovrednoti glede na dani kontekst Kontekst definirata XSLT ali Xpointer Kontekst sestavljajo: Kontekstno vozlišče Par pozicija konteksta/velikost konteksta Množica spremenljivk povezanih z vrednostmi Knjižnica funkcij Množica definicij imenskih prostorov

Xpath izrazi (2) Knjižnica funkcij Argumenti in rezultati imajo enega od osnovnih tipov XSLT in Xpointer še razširijo funkcije Predikati Spreminjanje konteksta: kontekstno vozlišče, pozicija in velikost Lokacijska pot Del Xpath izraza najbolj pomemben del Xpath Z lokacijsko potjo izberemo objekte Imamo okrajšano in polno sintakso

Lokacijska pot Primer: /child::movies/child::movie[@rating='r'] Korak --- /child::movies Os --- child:: Test vozlišča --- movie Predikat --- [@rating='r']

Lokacijska pot (1) Osi: ancestor, ancestor-or-self attribute child descendant, descendant-or-self following, following-sibling namespace parent preceding, preceding-sibling self

Lokacijska pot (2) following-sibling

Lokacijska pot (3) descendant

Lokacijska pot (4) ancestor

Lokacijska pot (5) Test vozlišča foo foo:bar foo:* * node() comment() text() processing-instruction()

Podatkovni tipi in funkcije boolean number string node-set external object true(), false() =,!=, <, >, <=, >= and, or not() =,!=, <, >, <=, >= +, -, *, div, mod, - floor(), ceiling()... count(), current(), last(), name(), position(), sum()... "foo", 'foo' concat(), contains(), starts-with(), String-length(), substring(), substring-after(), substring-before(), translate()...

Xpath: primeri child::para izbere elemente z imenom para, ki so otroci kontekstnega vozlišča (KV) child::* izbere vse otroke kontekstnega vozlišča child::text() izbere vsa tekstovna vozlišča, ki so otroci KV child::node() izbere vse otroke KV neglede na tip attribute::name izbere imena atributov KV attribute::* izbere vse atribute KV descendant::para izbere vsa vozlišča, ki so nasledniki KV ancestor::div izbere vse predhodnike KV z imenom div ancestor-or-self::div izbere vse predhodnike KV skupaj z KV,ki imajo ime div descendant-or-self::para izbere naslednike KV vključno z KV, ki imajo ime para

Xpath: primeri (1) /descendant::olist/child::item izbere elemente item, ki imajo starša olist, ki je pod KV child::para[position()=1] izbere prvega otroka KV z imenom para child::para[position()=last()] izbere zadnjega otroka KV za imenom para child::para[position()>1] izbere vse otroke KV z imenom para razen prvega following-sibling::chapter[position()=1] izbere vse naslednike (brate/sestre) KV chapter preceding-sibling::chapter[position()=1] izbere prvega predhodnika (brat/sestra) KV /descendant::figure[position()=42] izbere 42. element figure med vsemi naslediki KV

Xpath: primeri (2) /child::doc/child::chapter[position()=5]/child::section[position()=2] izbere 2. sekcijo iz 5. poglavja elementa doc child::para[attribute::type="warning"] izbere otroke para KV, ki imao tip atributa warning child::para[attribute::type='warning'][position()=5] izbere 5. otroka KV z imenom para, ki imaa tip atributa warning child::para[position()=5][attribute::type="warning"] izbere 5. otroka KV, če ima vozlišče atribut tipa wrning child::chapter[child::title='introduction'] izbere poglavje z imenom chapter, ki ima naslov 'Introduction' child::chapter[child::title] izbere otroke z imenom chapter, ki imajo vsaj en naslov child::*[self::chapter or self::appendix] izbere otroke KV, ki bodisi vozlišča chapter ali appendix

Okrajšave v Xpath child:: '' attribute:: @ /descendant-or-self::node()/ // self::node(). parent::node()..

Xpath: primeri z okrajšavami para izbere elemente para, ki so otroci KV * izbere vse otroke (elemente) KV text() izbere vse otroke KV, ki so tekstovna vozlišča @name izbere imena atributov KV @* izbere vse atribute KV para[1] izbere 1. otroka KV z imenom para para[last()] izbere zadnjega otroka KV, ki ima ime para */para izbere vsa podrejena vozlišča KV z imenom para /doc/chapter[5]/section[2] izbere 2. sekcijo 5. poglavja dokumenta chapter//para izbere elemente para, podrejene chapter //para izbere vse podrejene elemente para korena dokumenta

Xpath: primeri z okrajšavami (1) //olist/item izbere vse elemente item, ki imajo starša olist. izbere KV;.. izbere starša KV.//para izbere vsa naslednike KV z imenom para../@lang izbere atribut lang starša KV para[@type="warning"] izbere otroke KV z imenom para, ki imajo vsaj en atribut type z vrednostjo warning para[5][@type="warning"] izbere 5. otroka KV zimenom para,ki ima atribut type z vrednostjo warning chapter[title="introduction"] izbere otroke KV z imenom chapter, ki imajo naslov Introduction chapter[title] izbere otroke KV z imenom chapter, ki imajo naslov employee[@secretary and @assistant] izbere otroke KV z imenom employee, ki imajo tajnico in pomočnika

Literatura http://www.w3.org/tr/xpath David J. Malan, XML with Java, Java Servlet, and JSP, Course CS E-259, Harvard University, 2007 http://www.w3.org/tr/xml-names/