<knihy:clanek xmlns:kniha= http://www.moje_stranka.cz/knihy">

Podobné dokumenty
XML a XSLT. Kapitola seznamuje s šablonami XSLT a jejich použití při transformaci z XML do HTML

Prezentace XML. XML popisuje strukturu dat, neřeší vzhled definice vzhledu:

Z n a č k o v a c í j a z y k y. XSL (extensible Stylesheet Language) XSLT (extensible Stylesheet Language Transformation) XPath

XSLT a jmenné prostory

Jazyk XSL XPath XPath XML. Jazyk XSL - rychlá transformace dokumentů. PhDr. Milan Novák, Ph.D. KIN PF JU České Budějovice. 9.

24. XML. Aby se dokument XML vůbec zobrazil musí být well-formed (správně strukturovaný). To znamená, že splňuje formální požadavky specifikace XML.

Helios Orange Plugin Zadávání vlastností

Dotazování nad XML daty a jazyk XPath

Podklady k práci s Intranetem - administrátor

Dotaz typu Common Info v MarushkaDesignu

FRONTA. Podobně jako u zásobníku lze prvek z fronty vyjmout pouze za takové podmínky, že je na řadě. Avšak jeho hodnotu můžeme přečíst kdykoliv.

APLIKACE XML PRO INTERNET

Generování Homepage ze serveru AReality.sk

HTML šablona v MarushkaDesignu

MS Word pro administrátory projektů Základy

XPath je jazyk, který slouží k

Příklad buňka tabulky

Maturitní prací student osvědčuje svou schopnost samostatně pracovat na projektech a aktivně využívat nabyté zkušenosti

Instalace a technické informace

Uživatelská příručka aplikace Partner24 modul Zaměstnavatelský portál Česká spořitelna penzijní společnost, a.s.

Selenium, Emma, Checkstyle. Jiří Mach

4 Datový typ, proměnné, literály, konstanty, výrazy, operátory, příkazy

Uživatelský manuál WebActive s.r.o.

- Aplikace je napsána v C#.NET, je instalována na webovém serveru - Data jsou ukládána v databázi MS-SQL 2005 a vyšší

Přeložit spolupráce s externím serverem Jazyk možnost nastavení jazykové kontroly a výběr jazyka

Spisová služba/elisa - Dodatek k manuálu - Verze 1.30

Upomínky a kontroly E S O 9 i n t e r n a t i o n a l a. s.

Spisová služba/elisa - Dodatek k manuálu - subverze 1.28

Kulturní kalendář Karlovarského kraje MANUÁL

Tile systém v Marushka Designu

PEXESO UŽIVATELSKÝ MANUÁL

ZŠ ÚnO, Bratří Čapků 1332

5. Zobrazení stručné informace o právě běžícím programu. 6. Zobrazení podrobné informace o právě běžícím programu

Sledování provedených změn v programu SAS

Portál veřejné správy

Databáze 2011/2012 T-SQL - kurzory, funkce. RNDr.David Hoksza, Ph.D.

Specifikace pro SW aplikaci Start-up business.

Odpisy a opravné položky pohledávek

Případy užití RSSystems

Eda. Evidence obchodních aktivit. Proces nákupu

Návod k použití vědeckého kalkulátoru HP10s

Plánování směn verze 2.1, revize 03

Organizační řád Občanského sdružení NHfree.net

Portál veřejné správy

Témata v MarushkaDesignu

Portál veřejné správy

TRANSFORMACE XML DOKUMENTŮ POMOCÍ JAZYKA XSLT

Verze 6.1, 8/2008. Uživatelský manuál. WebActive s.r.o.,hviezdoslavova 16, Ústí nad Labem. - info@webactive.

Čipový terminál verze 3.3

GeoDTM. Uživatelská příručka. Výstup byl vytvořen s finanční podporou TA ČR v rámci projektu TA Verze 1.0

VIS ČAK - Uživatelský manuál - OnLine semináře

SMART Notebook Math Tools 11

DTM (Digitální technická mapa) v Marushka Designu

Příjmy a výdeje E S O 9 i n t e r n a t i o n a l a. s.

pro správu uživatelských přístupů do registru řidičů pro obecní úřady obcí s rozšířenou působností

Spisová služba/elisa - Dodatek k manuálu - Verze

Autorizace mapového serveru

Vizualizace TIN (trojúhelníková nepravidelná síť) v Marushka Designu

GLOBÁLNÍ ARCHITEKTURA ROB

Mimořádná účetní uzávěrka

1. ÚVOD PODMÍNKY PROVOZU... 3

ZŠ ÚnO, Bratří Čapků 1332

Legenda v MarushkaDesignu

Eda. Evidence obchodních aktivit. Proces prodejních kontraktů

Pravidla dokumentace

Předmluva k druhému vydání 13. Úvod 17. ČÁST 2 Vytváření dokumentů XML 65

2.1. Operační systém První kroky Zapnutí počítače a přihlášení do systému Restartování počítače

Zadávání do VVVS. Petr Novák ( )

Metodický návod na pořádání soutěží OBEDIENCE CZ.

Možnosti připojení WMS služby do Klienta v Marushka Designu

Databáze 2011/2012 SQL SELECT II. RNDr.David Hoksza, Ph.D.

F O R M Á L N Í P O Ž AD AV K Y N A B AK AL ÁŘSKÉ PRÁCE

VÝZVA K PODÁNÍ NABÍDKY A K PROKÁZÁNÍ SPLNĚNÍ KVALIFIKACE

Pokyny pro autory OBECNÉ POŽADAVKY NA ÚPRAVU RUKOPISŮ

Vykreslení obrázku z databázového sloupce na referenční bod geometrie

Lokalizace souřadnic v MarushkaDesignu

Nastavení funkce pro Elektronickou evidenci tržeb EET v programu Aconto

XSLT extensible Stylesheet Language Transformation

ReDat experience Release notes ATC-ATM

Školení obsluhy PC stručný manuál obsluhy pro používání PC. MS Power Point

Práce s WKT řetězci v MarushkaDesignu

Modul pro vyhodnocení ročních výsledků finančních kontrol

Informační ikony v MarushkaDesignu

Obsah přednášky. XML DOM SAX XPath XSL transformace 1/46

Vkládání dat do databázové aplikace

Vyberte režim. Chcete-li:

Návod k vyplňování formulářů - vyúčtování

Komunikační protokol MODBUS RTU v displejích TDS101 a TDS57

Úprava obchodního dopisu na předtisk dopisního papíru

EXTRAKT z mezinárodní normy

Synchronizace kontaktů z ESO9 do MS Outlook

Možnosti a druhy párování

Teplota a její měření

14. Datové modely v GIS

Manuál k vyplnění Monitorovacích listů za rok 2017 (datum podání do )

Výzva k podání nabídek

ZŠ ÚnO, Bratří Čapků 1332

Pozn.: v číselníku je často obsaženo více možností k výběru, ale pro program Interreg V-A ČR-Polsko jsou relevantní pouze možnosti výběru zde uvedené.

(grafické vyjádření reliéfu zemského povrchu vrstevnicemi)

Transkript:

ZÁKLADY XML JMENNÉ PROSTORY při spjení XML dat z různých zdrjů může djít ke knfliktu v názvech elementů a atributů elementy mhu přidělit k různým jmenným prstrům, a tak je rzliším jmenný prstr musíme deklarvat v subru XML deklarujeme h v pčáteční značce elementu pmcí předpny xmlns kniha a cd jsu pak předpnami jmennéh prstru jmenné prstry <clanek xmlns:kniha= http://www.mje_stranka.cz/knihy" xmlns:cd= http://www.mje_stranka.cz/cd"> deklarace jm.p. jmenný prstr je identifikván pmcí URI prt, že je tak zaručena glbální jedinečnst jm.p. pak bude vnřený element elementu <clanek> jednznačně určen jménem (předpnu a lkální částí), např. <kniha:autr> a <cd:autr> předpnu lze pužít už v elementu, kde je jm.p. deklarván <knihy:clanek xmlns:kniha= http://www.mje_stranka.cz/knihy"> mhu také deklarvat defaultní jmenný prstr: <clanek xmlns= http://www.mje_stranka.cz/knihy"> všechny vnřené elementy bez předpny pak patří tmut jmennému prstru defaultní jmenný prstr mhu přepsat předpnu jinéh jmennéh prstru předpna se autmaticky nevztahuje na atributy, těm musím předpnu explicitně přidat předpna xml: je definvána specifikací XML d dkumentu XML můžeme vkládat elementy HTML, ty pak začínají předpnu html: defaultní jm.p. <html:img xmlns:html= http://www.w3c.rg/tr/rec-html40/" SRC="Raven.bmp"> html: pkud chceme takt nazvané elementy stylvat pmcí CSS, musíme uvést celý název elementu ve tvaru: kniha\:autr { fnt-size: 10pt; } css a jm.p. 1

ZOBRAZENÍ XML POMOCÍ STYLU XSLT XSLT XSLT = Extensible Stylesheet Language Transfrmatins je spjen se styly, říká, jak data zbrazvat transfrmuje XML na HTML umžňuje data vybírat, upravvat, řadit, mít pdmínky i cykly styly pmcí CSS subrů je aplikací XML d XML subru přidáme hned za deklaraci dkaz na XSLT subr, pmcí něhž chceme xml subr zpracvávat: <?xml versin="1.0" encding="windws-1250"?> <?xml-stylesheet type="text/xsl" href=""?>... instrukce pr zpracvání xml dkumenti subr XSLT () musí začínat (pdbně jak XML dkument): <?xml versin="1.0" encding="windws-1250"?> <xsl:stylesheet versin="1.0" xmlns:xsl="http://www.w3.rg/1999/xsl/transfrm"> // bsah </xsl:stylesheet> křenvým elementem musí být stylesheet, xsl: deklaruje jmenný prstr dkaz v XML subr XSLT <stylesheet> XPath XML subr má strmvu strukturu s hranami a uzly XPath... jazyk pr phyb ve strmvé struktuře, vrací uzly dpvídající danému kritériu je 7 typů uzlů, uzlem je křenvý uzel, elementy, atributy, kmentáře, jmenné prstry, instrukce pr zpracvání, text / křenvý uzel (celý dkument XML = instrukce zpracvání, kmentář, křenvý element) * uzel typu element. aktuální uzel jak textvý uzel jsu brána i "bílá místa": mezery, knec řádku, psun řádku, tabulátr přímí ptmci elementu <xsl:stylesheet> <xsl:attribute-set> <xsl:decimal-frmat> <xsl:imprt> <xsl:include> <xsl:key> <xsl:namespace-alias> <xsl:utput> <xsl:param> <xsl:preserve-space> <xsl:strip-space> <xsl:template>... nejpužívanějším elementem <xsl:variable> <xsl:script> XPath ptmci <stylesheet> 2

ŠABLONY <xsl:template> <xsl:template> určují výsledek celé transfrmace dpvídají určitému uzlu neb skupině uzlů zdrjvéh dkumentu šablna říká prhlížeči, jak zbrazit XML pmcí instrukcí pr transfrmaci kmpnent XML atributy šablny: match... jmén elementu, na nějž se aplikují příkazy uvnitř šablny name... uchvává jmén šablny pr další pužití pririty... určuje přadí, když lze pužít více šabln mde... pr skupinu uzlů a instrukci <xsl:apply-templates> budu pužity jen šablny se stejnu hdntu mde atributy šablny <xsl:template match="lkace"> // těl šablny pužití šablny v těle šabln mhu být: data typu PCDATA rzšiřvací elementy - definvány uživatelem neb prcesrem XCLT dslvné elementy - není ani instrukcí XSL ani rzšiřvacím elementem, kpírují se bez jakékliv změny instrukce XSLT <xsl:apply-imprts> <xsl:apply-templates> <xsl:attribute> <xsl:call-templates> <xsl:chse> <xsl:cmment> <xsl:cpy> <xsl:cpy-f> <xsl:element> <xsl:fallback> <xsl:fr-each> <xsl:if> <xsl:message> <xsl:number> <xsl:prcessing-instructin> <xsl:text> <xsl:value-f> <xsl:variable> těl šablny instrukce XSLT 3

INSTRUKCE <xsl:apply-templates/> umžňuje rekurzivní aplikvání šablny, hledá rekurzivně další vnřené šablny a vypíše jejich bsah nepvinný atribut select... značuje jmén uzlu, který má být zpracván, jinak jsu zpracvány všechny následující uzly <xsl:apply-templates select="prvek"/> <apply-templates> knihy.xml <?xml versin="1.0" encding="windws-1250"?> <?xml-stylesheet type="text/xsl" href=""?> <seznam> <kniha> <nazev>pvídky z jedné kapsy</nazev> <autr>karel Čapek</autr> <nakladatelstvi>melantrich</nakladatelstvi> <naklad jedntka="tis.">100</naklad> <rk zeme="(cz)">1968</rk> </kniha> <kniha> <nazev>světvá revluce</nazev> <autr>tmáš G. Masaryk</autr> <nakladatelstvi>orbis</nakladatelstvi> <naklad jedntka="tis.">50</naklad> <rk zeme="(cz)">1925</rk> </kniha> <kniha> <nazev>the Feynman lectures n physics</nazev> <autr>richard Feynman</autr> <nakladatelstvi>addisn-wesley publishing Cmpany</nakladatelstvi> <naklad jedntka="tis.">20</naklad> <rk zeme="(usa)">1966</rk> </kniha> <kniha> <nazev>java pr zelenáče</nazev> <autr>mirslav Virius</autr> <nakladatelstvi>necrtex</nakladatelstvi> <naklad jedntka="tis.">10</naklad> <rk zeme="(cz)">2005</rk> </kniha> </seznam> 1. příklad: knihy.xml <?xml versin="1.0" encding="windws-1250"?> <xsl:stylesheet versin="1.0" xmlns:xsl="http://www.w3.rg/1999/xsl/transfrm"> <xsl:template match="/"> <html> <head></head> <bdy> <xsl:apply-templates/> </bdy> </html> </xsl:stylesheet> 4

Prhlížeč začíná aplikvat šablnu (rekurzivně) na křenvý uzel XML (neb nějaký další uzel): 1. hledá šablnu definující styl, který dpvídá uzlu 2. pkud najde dpvídající šablnu, vykná instrukce bsažené v šablně (spustí transfrmaci uzlu šablny) 3. pkud nenajde, pužije vhdnu vestavěnu šablnu = šablna definvaná specifikací XSLT vestavěná šablna pr křenvý uzel XSLT aplikuje šablnu pr všechny ptmky křenvéh uzlu (pr každý uzel ptmka prvede krky 1. -3.) pr uzel element aplikuje šablnu pr všechny ptmky uzlu (pr každý uzel ptmka prvede krky 1. -3.) pr uzel text zbrazí text, pr uzel atribut zbrazí hdntu atributu, atribut není ptmkem uzlu element pr uzel kmentáře neudělá nic aplikace šablny vestavěné šablny Pr náš případ se začne aplikvat šablna pr křenvá uzel, hledá šablny pr ptmky uzlů a pak zase pr jejich ptmky, nic nenajde, až djde k textu, ten vypíše: Pvídky z jedné kapsykarel ČapekMelantrich1001968Světvá revlucetmáš G. MasarykOrbis501925The Feynman lectures n physicsrichard FeynmanAddisn-Wesley publishing Cmpany201966Java pr zelenáčemirslav ViriusNecrtex102005 zbrazení 1.příkladu INSTRUKCE <xsl:value-f select="prvek"/> text bsažený v daném uzlu vlží na výstup HTML, ten text zbrazí zbrazí i znakvá data ptmků <value-f> <?xml versin="1.0" encding="windws-1250"?> <xsl:stylesheet versin="1.0" xmlns:xsl="http://www.w3.rg/1999/xsl/transfrm"> 2. příklad: <xsl:template match="/seznam"> <html> <xsl:apply-templates/> </html> <p> <xsl:value-f select="autr"/> <xsl:value-f select="nazev"/> </p> </xsl:stylesheet> 5

1. pr uzel <seznam> začne aplikvat šablnu, hledá šablny pr uzly ptmků 2. najde šablnu pr uzel-element <kniha> 3. šablna říká, že se má d dstavce vypsat text elementů <autr> a <název > zbrazení v prhlížeči: Karel ČapekPvídky z jedné kapsy Tmáš G. MasarykSvětvá revluce Richard FeynmanThe Feynman lectures n physics Mirslav ViriusJava pr zelenáče Mhu se také pkusit zbrazení dat v tabulce: <xsl:template match="/seznam"> <html> <head> <title>seznam knih</title> </head> <bdy> zpracvání šablny zbrazení 2.příkladu 3. příklad: <h1>seznam knih</h1> <table brder="1"> <tr> <th>název</th> <th>autr</th> <th>nakladatelství</th> <th>náklad</th> <th>rk</th> </tr> <xsl:apply-templates/> </table> </bdy> </html> <tr> <td><xsl:value-f select="nazev"/></td> <td><xsl:value-f select="autr"/></td> <td><xsl:value-f select="nakladatelstvi"/></td> <td><xsl:value-f select="naklad"/></td> <td><xsl:value-f select="rk"/></td> </tr> Seznam knih zbrazení 3.příkladu Název Autr Nakladatelství Náklad Rk Pvídky z jedné kapsy Karel Čapek Melantrich 100 1968 Světvá revluce Tmáš G. Masaryk Orbis 50 1925 The Feynman lectures n physics Richard Feynman Addisn-Wesley publishing Cmpany 20 1966 Java pr zelenáče Mirslav Virius Necrtex 10 2005 6

Pkud budeme chtít vypsat i hdnty atributů, můžeme pužít instrukci: <xsl:apply-templates select="element"/> zbrazení atributů Vytvříme pak pr dané elementy vlastní šablny: <xsl:template match="element"> <xsl:value-f select="."/> <xsl:text> </xsl:text> <xsl:value-f select="@jedntka"/> // šablna pr element // data aktuálníh uzlu // zbrazení mezery // výpis hdnty atributu se jménem jedntka šablna pr atribut clanek.xsl- dplnění: <tr> <td><xsl:value-f select="nazev"/></td> <td><xsl:value-f select="autr"/></td> <td><xsl:value-f select="nakladatelstvi"/></td> <td><xsl:apply-templates select="naklad"/></td> <td><xsl:apply-templates select="rk"/></td> </tr> 4. příklad: <xsl:template match="naklad"> <xsl:value-f select="."/> <xsl:text> </xsl:text> <xsl:value-f select="@jedntka"/> <xsl:template match="rk"> <xsl:value-f select="."/> <xsl:text> </xsl:text> <xsl:value-f select="@zeme"/> u elementů nazev, autr a nakladatelstvi budeme uz jenm vypisvat bsah, prt pužijeme instrukci <xsl:value-f select="nazev"/> u elementů naklad a rk chceme vypsat i hdntu atributu, prt užijeme instrukci <xsl:apply-templates select="rk"/> a napíšeme pr ně vlastní šablnu Název Autr Nakladatelství Náklad Rk Pvídky z jedné kapsy Karel Čapek Melantrich 100 tis. 1968 (CZ) Světvá revluce Tmáš G. Masaryk Orbis 50 tis. 1925 (CZ) The Feynman lectures n physics Richard Feynman Addisn-Wesley publishing Cmpany 20 tis. 1966 (USA) Java pr zelenáče Mirslav Virius Necrtex 10 tis. 2005 (CZ) zbrazení 4. příkladu 7

INSTRUKCE <xsl:text> s její pmcí můžeme vlžit text INSTRUKCE <xsl:fr-each> s její pmcí můžeme cyklicky prcházet těl šablny: <xsl:fr-each select="kniha"> <p> <xsl:value-f select="nazev"/> </p> </xsl:fr-each> INSTRUKCE <xsl:cpy-f> kpírvání ze zdrjvéh uzlu d výstupníh strmu kpie bsahuje i atributy a ptmky vhdné pr kpii z jednh XML d druhéh <xsl:template match="/"> <xsl:cpy> <xsl:cpy-f select="*"/> </xsl:cpy> INSTRUKCE <xsl:if> pdbně jak v prgramvacích jazycích <xsl:if test="naklad>10"> <p><xsl:value-f select="nazev"/></p> </xsl:if> <text> <fr-each> <cpy> <cpy-f> <if> PREDIKÁTY = výsledek psuzení můžeme zjistit hdntu elementu, atributu, zjistit ptmky elementu,... pr manipulaci s uzly služí funkce: last()... vrací přadvé čísl psledníh uzlu psitin()... vrací pzici kntextvéh uzlu cunt(sada-uzlů)... vrací pčet uzlů id(řetězec ID)... vrací sadu uzlů name(sada-uzlů)... vrací sadu uzlů predikáty Pmcí psitin() můžeme vytvřit výčet elementů kniha číslvaný seznam: <p> <xsl:value-f select="psitin()"/> <xsl:text>. </xsl:text> <xsl:value-f select="nazev"/> </p> 8

Jedna xml data tak mhu zbrazit vícekrát: <xsl:template match="/seznam"> <html> <head> <title>seznam knih</title> </head> <bdy> <h3>číslvaný seznam knih</h3> <xsl:fr-each select="kniha"> <p> <xsl:value-f select="psitin()"/> <xsl:text>. </xsl:text> <xsl:value-f select="nazev"/> </p> </xsl:fr-each> cyklus fr-each <h3>knihy s větším pčtem výtisků</h3> <ul><xsl:apply-templates/></ul> </bdy> </html> <xsl:if test="naklad>10"> <li><xsl:value-f select="nazev"/></li> </xsl:if> <xsl:template match="kniha[autr!='karel Čapek']"> <li><xsl:value-f select="nazev"/></li> </xsl:stylesheet> větvení if šablna jen pr některé hdnty elementů Seznam jak dkaz na zálžku vytvření atributu: 1. Vlžení dkazu na zálžku - v kódu t vypadá takt: <a href="#jmen_zalzky">text dkazu</a> <xsl:fr-each select="kapitla"> <a> <xsl:attribute name="href"># <xsl:value-f select="psitin()"/> </xsl:attribute> <xsl:value-f select="psitin()"/><xsl:text>. </xsl:text> <xsl:value-f select="nadpis2"/> </a> </xsl:fr-each> 2. Zálžka pak může vypadat třeba takt: <a name="jmen_zalzky"></a> <h2 id="jmen_zalzky">nadpis</h2> <span id=" jmen_zalzky ">nějaká ukázka</span> <h2> <xsl:attribute name="id"><xsl:value-f select="psitin()"/> </xsl:attribute> <xsl:value-f select="psitin()"/><xsl:text>. </xsl:text> <xsl:value-f select="nadpis"/> </h2> vytvření atributu - dkazu na zálžku vytvření atributu zálžky 9

SHRNUTÍ PŘEHLED ŠABLON A INSTRUKCÍ křenvý element subru XSLT <xsl:stylesheet>... </xsl:stylesheet> id... (nepvinný) versin... (pvinný)... bvykle "1.0" xmlns... xmlns:xsl="http://www.w3.rg/1999/xsl/transfrm"... určení jmennéh prstru šablna XSL pr určitý uzel neb skupinu uzlů <xsl:template>... match... (nepvinný)..."lkace" uzlu name... (nepvinný)... uchvává název šablny pr další její vlání pririty... (nepvinný)... čísl určující přadí šablny mde... (nepvinný Pkud není element v těle šablny instrukcí neb rzšiřvacím elementem, bude dslvně zkpírván d výsledku těla šabln instrukce XSLT <xsl:apply-templates /> vyhledá patřičný uzel a nahradí h bsahem šablny select... (nepvinný)... značuje jmén uzlu, který má být zpracván, jinak jsu zpracvány všechny následující uzly hledá rekurzivně další vnřené šablny, když je nenajde, vypíše puze bsah elem. <xsl:value-f /> text bsažený v daném uzlu vlží na výstup HTML, ten text zbrazí select... (nepvinný)... značuje jmén uzlu, který má být zpracván <xsl:text>... </xsl:text> vkládání dslvnéh textu <xsl:attribute>... </xsl:attribute> vytvření atributu name... (pvinný)... jmén atributu <xsl:fr-each>... </xsl:fr-each> select... (nepvinný)... značuje jmén uzlu, který má být zpracván 10