Milan Kryl(c) 2004 MFF UK Databáze Caché CSP Custom Tags vlastní značky.

Slides:



Advertisements
Podobné prezentace
Základy HTML – vkládání objektů
Advertisements

J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
(instance konkrétní třídy)
VISUAL BASIC Práce s řetězci Použitá literatura: Kvoch: Visual Basic 4.
Vstup a výstup Ing. Lumír Návrat  katedra informatiky, A-1018 
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Vlastní skript může být umístěn: v hlavičce stránky v těle stránky
Dynamické dokumenty na straně klienta Informatika pro ekonomy II.
Štěpán Šípal Gymnázium Čakovice. Dnešní témata  Vznik XHTML a předchůdci  Základní prvky XHTML dokumentu  Tagy a atributy  Elementy a jejich druhy.
Tvorba WWW stránek ÚVOD
VY_32_INOVACE_4.3.IVT1.15/Oc Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jaroslav Ochodek CZ.1.07/1.5.00/ Tvorba webových.
<. DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4
Vstupy a výstupy v JavaScriptu Vstup: použitím metody prompt objektu window čtením hodnot z položek formuláře Výstup : použitím metody alert objektu window.
HTML Formuláře.
Tvorba stránek  komu jsou stránky určeny  grafická úprava stránek  obsah  motivy vzhledu stránky
Selektory 1 1. Selektor elementu Deklarované styly budou použité při každém vyskytování elementu v dokumentu. Selektor elementu se obvykle používá pro.
VISUAL BASIC Práce se soubory.
Panasonic Electric Works Czech s.r.o. Slide 1 Přehled PLC Software splňující normu IEC
Tvorba www stránek SYNTAXE ICT 4.ročník. Obsah TAGY TAGY ATRIBUTY ATRIBUTY KŘÍŽENÍ TAGŮ KŘÍŽENÍ TAGŮ VELIKOST PÍSMEN VELIKOST PÍSMEN MEZERY VE ZDROJOVÉM.
TVORBA WEBOVÝCH STRÁNEK
C# pro začátečníky Mgr. Jaromír Osčádal
Databázové systémy 1 Cvičení č. 2 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy II Přednáška č. 6 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Práce s Xml ● Základní moduly pro práci s XML: – Xml.dom – Document Object Model API – Xml.dom.minidom ● Základní objekt je Dokument – stromová struktura.
XHTML Tvorba webových stránek. Vývoj značkovacích jazyků HTML – HyperText Markup Language  Značkovací jazyk pro vytváření www stránek. Pomocí značek.
Objekty v CLIPSu RNDr. Jiří Dvořák, CSc.
Vzdělávací materiál / DUMVY_32_INOVACE_02B14 Příkazový řádek: obsah souborů PŘÍKLADY AutorIng. Petr Haman Období vytvořeníLeden 2013 Ročník / věková kategorie3.
Třídy, generické třídy, pseudotřídy
Projekt PŘEDPOVĚĎ POČASÍ. projekt PŘEDPOVĚĎ POČASÍ.
Internetové publikování Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111)
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Základy práce na PC Ing. Jan Roubíček.
PHP – zasílání dat z formuláře
Projekt PŘEDPOVĚĎ POČASÍ. projekt PŘEDPOVĚĎ POČASÍ.
PHP – Základy programování
Jaroslav Šnajberk, Přemek Brada
VY_32_INOVACE_4.3.IVT1.12/Oc Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jaroslav Ochodek CZ.1.07/1.5.00/ Tvorba webových.
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
KIV/ZIS cvičení 6 Tomáš Potužák. Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Stáhnout soubor studenti_dotazy_sql.mdb.
Databázové systémy 2 Cvičení č. 6 Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Počítače a programování 1
TNPW1 Cvičení
Návrh a tvorba WWW Cvičení 4
Dokumentace objektů a zveřejnění funkcí
KASKÁDOVÉ STYLY 1. 2 PRVNÍ STANDARD (CSS1) BYL PŘEDSTAVEN V ROCE 1996, PROTO STARŠÍ PROHLÍŽEČE ("ČTYŘKOVÉ" VERZE) IE A NN KASKÁDOVÉ STYLY NEPODPORUJÍ.
Dílna Caché II. CSP pro pokročilé Tomáš Vaverka. Zdroje HTML Tag Reference v sekci Reference Material v dokumentaci Caché HTML Tag Reference v sekci Reference.
Jazyk XML Jazyk pro tvorbu strukturovaných dokumentů Syntaxí velmi podobný HTML Hlavní cíle návrhu: Snadná editace - jazyk je textový Snadné strojové zpracování.
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
Architektury a techniky DS Cvičení č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Copyright (C) 2000 Vema, a. s.1 V3 klient Michal Máčel Provozní integrace G2, HR/Win a internetu.
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Milan Kryl(c) 2004 MFF UK Databáze Caché NLS national language settings.
2 UDÁLOSTI ONMOUSEOVER, ONMOUSEOUT Odkaz Událost je část kódu vyvolana za určité (uživatelem vyvolané) situace (kliknutí myší, přejetím kurzorem myši,
Základy syntaxe jazyka PHP PHP JE TECHNOLOGIE BĚŽÍCÍ NA SERVERU. PHP JE TECHNOLOGIE BĚŽÍCÍ NA SERVERU. Typický PHP skript obsahuje: Typický PHP skript.
Formuláře Formuláře uzavíráme do elementů Formuláře uzavíráme do elementů a a Tyto elementy jsou součástí jazyka XHTML, to znamená, že při použití v PHP.
XQuery Dotazovací jazyk XML Daniel Privalenkov. O čem bude prezentace Nutnost dotazovacího jazyku v XML Rychlý přehled XQuery Několik příkladů.
Akademie ZENU Ukázková aplikace. Tak o tomhle to nebude…
JUI přednáška Vstup a výstup, cykly RNDr. Jiří Dvořák, CSc.
PHP Programy pro tvorbu WWW stránek - 01
Petr Šmíd Obsah prezentace Co je to XML ?
XSLT překladač Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava.
JavaScript úvod. Jazyky webového vývojáře Dynamická stránka  aktivně mění svůj obsah v reakci na činnost uživatele  zpracování na straně serveru (PHP,
Programování v MATLABu © Leonard Walletzký, ESF MU, 2000.
Algoritmizace a programování Soubory. Oč jde? Vytvoření externího souboru Vytvoření externího souboru Tento soubor může být: Tento soubor může být: Textový.
HTML pokračování. Co obsahuje každý html dokument? stránka stránka ahoj světe HTML.
XML a datový standard Zdeněk Jirkovec Softwarové Aplikace a systémy.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
TNPW1 JavaScript Ing. Jiří Štěpánek.
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
Algoritmizace a datové struktury (14ASD)
Transkript prezentace:

Milan Kryl(c) 2004 MFF UK Databáze Caché CSP Custom Tags vlastní značky

Milan Kryl(c) 2004 MFF UK CSP custom tags vývoj vlastních tagů pro CSP stránky možnost přidat novou funkcionalitu, ale zachovat stejnou syntaxi možnost vyvíjet znovupoužitelné komponenty

Milan Kryl(c) 2004 MFF UK CSP kompilátor rozpoznání #( )# výrazů připojených v CSP dokumentu rozpoznání konkrétních elementů (HTML/XML) a nahrazení předdefinovanými akcemi (analogie XSL)

Milan Kryl(c) 2004 MFF UK Příklad: vlastní element Párky Praha Element je při kompilaci stránky nahrazen názvem firmy.

Milan Kryl(c) 2004 MFF UK Příklad: vlastní element (2) Aby byl element kompilátorem rozpoznán, je třeba vytvořit patřičné pravidlo, které se při kompilaci provede. Párky Praha Název pravidla podléhá stejným omezením jako název třídy v Caché.

Milan Kryl(c) 2004 MFF UK specifikuje akci, která bude provedena, pokud pravidlo vyhovuje na nějaký element. obsah je interpretován jako HTML (až na dvě výjimky) –výrazy #()# a ##()##, element –další elementy nemůže obsahovat takový CSP tag, pokud v daném kontextu není možné provést transformaci

Milan Kryl(c) 2004 MFF UK Načtení souboru pravidel v terminálu příkazem –načtení pravidel do aktuálního kontextu Do $system.CSP.LoadRule("/myrules/company.csr") Caché Studio –nahrát soubor a zkompilovat –sledovat, která pravidla se používají souborem rulemgr.csp dodaným v CSP Samples

Milan Kryl(c) 2004 MFF UK Tag matching atribut MATCH obsahující 1 nebo více elementů, oddělené / Hodnota v MATCHPravidlo aplikováno AAA Kdekoliv je tag AAA/BBB Kdykoliv obsahuje ( ) AAA/*/BBB Kdykoliv obsahuje libovolně hluboko zanořený ( ) AAA[CCC] Pokud má atribut CCC s lib. hodnotou. ( ) AAA[CCC=22] Pokud má atribut CCC s hodnotou 22. ( ) AAA[CCC=22]/*/BBB zanořený lib. hluboko v elementu s atributem CCC rovným 22.

Milan Kryl(c) 2004 MFF UK Test: pochopení MATCH text text text text text text text text text text text text text Označ elementy v elementech 1.MATCH = "p/b" 2.MATCH = "p/*/b" 3.MATCH = "p/i/b"

Milan Kryl(c) 2004 MFF UK Test pochopení MATCH (2) text text Označit všechny odkazy na hl. stránku "/" 1.MATCH = "p/b/a" 2.MATCH = "p/a[href=/]/" 3.MATCH = "p/*/a[href=/]/"

Milan Kryl(c) 2004 MFF UK Programový kód v ACTION akce v pravidlech mohou obsahovat programový kód, který bude vykonán –když je pravidlo aplikováno (run-time) –když je pravidlo kompilováno (compile-time)

Milan Kryl(c) 2004 MFF UK Programový kód v ACTION (2) vykonání při spuštění - syntaxe #(expr)# –pravidlo Dnes je: #($ZDATE($H))# –pro kód vyvolá příkaz $ZDATE pro element při zaslání stránky

Milan Kryl(c) 2004 MFF UK Programový kód v ACTION (3) vykonání při kompilaci - syntaxe ##(expr)## –pravidlo Dnes je: ##($ZDATE($H))## –pro kód vyvolá příkaz $ZDATE pro element v době kompilace

Milan Kryl(c) 2004 MFF UK Programový kód v ACTION (4) výrazy provedené v době kompilace se stávají statickou částí CSP stránky. je možné kombinovat "statické" a "dynamické" vykonávání kódu: Stáří stránky (dny): #($H - ##($H)##)#. vnitřní část je vyhodnocena při kompilaci a vnější se volá při zaslání stránky ze serveru

Milan Kryl(c) 2004 MFF UK Programový kód v ACTION (5) dále je možno vkládat více řádků kódu za pomoci elementu a atributu runat (server/compiler) For i = 1:1:100 { Write " Položka " _ i _ $C(13,10) }

Milan Kryl(c) 2004 MFF UK Server Document Object Model vytvářen při kompilaci CSP dokumentu (analogie DOM) dva typy základních atomů %CSP.Rule%CSP.Rule - elementy HTML %CSP.TextAtom%CSP.TextAtom - vše ostatní co není element kvůli efektivitě se %CSP.Rule vytváří pouze pokud je zmíněno v některém z pravidel, jinak je vše %CSP.TextAtom

Milan Kryl(c) 2004 MFF UK Server DOM (2) Ahoj! Při kompilaci vytvořeno html –body TextAtom s textem Ahoj! element se jménem MYTAG a atributem MSG rovným Vítejte

Milan Kryl(c) 2004 MFF UK Server DOM (3) po vytvoření DOMu je celý stromeček procházen (do hloubky) –na každý uzel typu %CSP.Rule je voláno pravidlo a renderován výsledek –%CSP.TextAtom jsou přenášeny přímo do výsledného souboru při volání pravidla se na akt. zpracovávaný uzel odkazuje za pomoci ##this proměnné

Milan Kryl(c) 2004 MFF UK Další csr: elementy (vnitřní) csr:DEFAULT –vypíše element na výstup (při změnách některých atributů, ale zachování tagu) csr:CHILDREN –vypíše všechny potomky tagu, na který bylo vyvoláno pravidlo csr:SECTION –výstup na jiné místo do výsledného dokumentu (definice funkce pro form do hlavičky)

Milan Kryl(c) 2004 MFF UK csr:DEFAULT // pro tento element nastav bgcolor atribut na red Do ##this.SetAttribute("BGCOLOR","red")

Milan Kryl(c) 2004 MFF UK csr:SECTION function MyButton() { alert('Tlačítko MyButton stisknuto!'); return true; } <input type="button" value='##(##this.GetAttribute("VALUE"))##' onclick="MyButton();">

Milan Kryl(c) 2004 MFF UK Další csr: elementy (vnější) csr:CLASS –zpřístupnění další metod vně pravidla csr:DESCRIPTION –umožňuje k pravidlu přidat vysvětlující popis csr:ATTRIBUTE –název, popis a typ atributů vlastního elementu –

Milan Kryl(c) 2004 MFF UK Třídy pravidel pro každé kompilované pravidlo vytvořena třída, volaná při platnosti pravidla pravidla mohou být –výkonná –přímo vytvářena jako třídy –třídy lze zobrazit a vytvářet za pomoci Studia

Milan Kryl(c) 2004 MFF UK Struktura třídy pravidel renderovaná třída obsahuje metody –RenderStartTag –1 a více CompilerMethod (pro kód runat=compiler) –RenderEndTag Render[Start|End]Tag obsahují kód pro přímý zápis do CSP stránky.

Milan Kryl(c) 2004 MFF UK Kód RenderStartTag Set myfile="c:\temp.txt" Open myfile:("FR":100) Use myfile:() Read var1 Close myfile

Milan Kryl(c) 2004 MFF UK Výsledná metoda RenderStartTag Method RenderStartTag() As %Status { New element Set element=##this Do..WriteCSPServer(" Set myfile=""c:\temp.txt""",0) Do..WriteCSPServer(" Open myfile:(""FR"":100)",1) Do..WriteCSPServer(" Use myfile:() ",1) Do..WriteCSPServer(" Read var1",1) Do..WriteCSPServer(" Close myfile",1) Quit $$$SKIPCHILDREN } –pokud by pravidlo obsahovalo tak je metoda ukončena Quit $$$PROCESSCHILDREN

Milan Kryl(c) 2004 MFF UK CompilerMethod kód SET ^client(2,1,1)=..InnerText() výsledná metoda - nakopírována do těla Method CompilerMethod1() [ Language = cache ] { SET ^client(2,1,1)=..InnerText() }

Milan Kryl(c) 2004 MFF UK RenderEndTag generována, pokud je v pravidle obsažen element obsahuje kód uvedený za

Milan Kryl(c) 2004 MFF UK Kód RenderEndTag

Milan Kryl(c) 2004 MFF UK Method RenderEndTag() As %Status { New element Set element=##this Do..WriteText("",1) Do..WriteCSPText(" ",0) Quit $$$OK }

Milan Kryl(c) 2004 MFF UK Metody %CSP.Rule GetAttribute (name As %String, default As %String = "") –získá hodnotu atributu z aktuálního tagu QuoteAttribute (name As %String, default As %String = "") –připraví hodnotu včetně provedení #()#, ##()## a ##"## GetAttributesOrder (ByRef paramsordered) –vrátí všechny atributy podle jejich pořadí v tagu IsDefined (name As %String) –zjistí zda je daný atribut definován InnerText() –vrátí obsah od počátečního po koncový element AddChildElements (atom As %CSP.AbstractAtom) –přidá k aktuálnímu elementu podelement zadaný jako parametr SetAttribute (name As %String, value As %String) –nastaví atribut na nějakou hodnotu

Milan Kryl(c) 2004 MFF UK Metody zápisu %CSP.AbstractAtom WriteText (line As %String, crlf As %Boolean = 0) –zapiš obsah line, crlf = 1 pokud má být zapsán konec řádku WriteCSPText (line As %String, crlf As %Boolean = 0) –zápis řádku s prováděním ##()##, ##''##, #server, #url, a #()# výrazů WriteExpressionText (expr As %String, crlf As %Boolean = 0) –zapíše text, který je vrácen zadaným výrazem (měl by být korektně quoted) WriteServer (line As %String, keepTogether As %Boolean = 0) –zapíše COS příkaz WriteCSPServer (line As %String, keepTogether As %Boolean = 0) –zapíše COS příkaz s vyhodnocenými ##()##, #()#, a ##''## výrazy.

Milan Kryl(c) 2004 MFF UK National Language Support (NLS) 5 - Cache standard 10 - German Portuguese Polish German Spanish Danish Greek Czech Czech Portuguese Finnish Japanese Cyrillic Polish Chinese2 seznam všech nativně podporovaných jazyků

Milan Kryl(c) 2004 MFF UK Děkuji za pozornost nějaké otázky?