Databáze Caché CSP Custom Tags



Podobné dokumenty
Formuláře. Internetové publikování

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 13 VY 32 INOVACE

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

téma: Formuláře v MS Access

Příloha č. 54. Specifikace hromadné aktualizace SMS-KLAS

Software IS Řízení stavebních zakázek

Soubory a databáze. Soubor označuje množinu dat, která jsou kompletní k určitému zpracování a popisují vybrané vlastnosti reálných objektů

PŘÍLOHA č. 2C PŘÍRUČKA IS KP14+ PRO OPTP - ZPRÁVA O REALIZACI

Zákon o elektronickém podpisu

Java a Caché IV: Manipulace s objekty

INTERNETOVÝ TRH S POHLEDÁVKAMI. Uživatelská příručka

Revize dokumentu B 1/11 TEACHER. Přidávání zvukových záznamů. Návody k programu Teacher, platí od verze 1.

DATABÁZE DŮLEŽITÉ: Před načtením nové databáze do vaší databáze si prosím přečtěte následující informace, které vám umožní:

Návod k používání registračního systému ČSLH

CL232. Převodník RS232 na proudovou smyčku. S galvanickým oddělením, vysokou komunikační rychlostí a se zvýšenou odolností proti rušení

Tekla Structures Multi-user Mode

Tvorba webových stránek

WEBMAP Mapový server PŘÍRUČKA PRO WWW UŽIVATELE Hydrosoft Veleslavín, s.r.o., U Sadu 13, Praha 6

KÓDOVÝ ZÁMEK 1105/2 A 1156/10

ZW3D Tréninkový manuál pokročilá animace sestavy

Algoritmizace a programování

Vyplňte API klíč, který si vygenerujete v Nastavení obchodu v profilu Uloženky v části Nastavit klíč pro API.

Zadávání tiskových zakázek prostřednictvím JDF a Adobe Acrobat Professional

modul Jízdy a Kniha jízd uživatelská příručka

Vyhláška č. 294/2015 Sb., kterou se provádějí pravidla provozu na pozemních komunikacích

Katedra obecné elektrotechniky Fakulta elektrotechniky a informatiky, VŠB - TU Ostrava 16. ZÁKLADY LOGICKÉHO ŘÍZENÍ

primární tlačítko (obvykle levé). Klepnutí se nejčastěji používá k výběru (označení) položky nebo k otevření nabídky.

KAPITOLA 6.3 POŽADAVKY NA KONSTRUKCI A ZKOUŠENÍ OBALŮ PRO INFEKČNÍ LÁTKY KATEGORIE A TŘÍDY 6.2

Manuál Kentico CMSDesk pro KDU-ČSL

Informační a komunikační technologie. 1.4 Data, informace, komprimace

Spacial. Objevte novou generaci rozváděčů: Spacial SF systém řadových skříní Spacial SM samostatně stojící skříň. univerzálnost čas efektivita služby

Aplikované úlohy Solid Edge. SPŠSE a VOŠ Liberec. Ing. Jiří Haňáček [ÚLOHA 03 VYSUNUTÍ TAŽENÍM A SPOJENÍM PROFILŮ.]

Jednotný vizuální styl: podpis v ové korespondenci.

Import výkresu z AutoCADu do SolidWorks

Android Elizabeth. Verze: 1.3

Ochrana spotřebitele v ČR

Návrh a tvorba WWW stránek 1/38 PHP

2. vypracovávat pouze příslušné části projektové dokumentace, které příslušejí oboru, popř.

Adresace paměti. 11.přednáška

Nastavení telefonu LG GD510 Pop

Obrázek. Základní popis, zadání úkolu. Struktura tříd,

VÁŠ DOPIS ZN./ZE DNE Č. J., SPISOVÁ ZNAČKA VYŘIZUJE/LINKA ŽĎÁR NAD SÁZAVOU OD/633/15/LK Ing.Koubek / R O Z H O D N U T Í

Podrobný postup pro vygenerování a zaslání Žádosti o podporu a příloh OPR přes Portál farmáře


Seznámení žáků s pojmem makra, možnosti využití, praktické vytvoření makra.

Struktura třídy, operátory, jednoduché algoritmy, junit. Programování II 2. cvičení Alena Buchalcevová

Podrobný postup pro doplnění Žádosti o dotaci prostřednictvím Portálu Farmáře. 1. kolo příjmu žádostí Programu rozvoje venkova ( )

Miroslav Kunt. Srovnávací přehled terminologie archivních standardů ISAD(G), ISAAR(CPF) a české archivní legislativy

Návod pro administraci aplikace EdgeFrame HelpDesk

3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java

(sponzorský vzkaz) Grafický manuál

Magnetic Levitation Control

Kótování na strojnických výkresech 1.část

N á v r h VYHLÁŠKA. ze dne 2015,

13. Sítě WAN. Rozlehlé sítě WAN. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme rozlehlé sítě typu WAN. Doba nutná k nastudování

OBEC HORNÍ BOJANOVICE obecně závazná vyhláška č. 05/2005

29 Evidence smluv. Popis modulu. Záložka Evidence smluv

Autodesk Inventor 8 vysunutí

TIP: Pro vložení konce stránky můžete použít klávesovou zkratku CTRL + Enter.

Měření hustoty kapaliny z periody kmitů zkumavky

Testovací aplikace Matematika není věda

Jednoduchý pomocník pro aplikaci Elektronická příloha č. 2 EP2W EP2 Workspace

Převodník tlaku P 40 Návod k použití

INFORMAČNÍ SYSTÉM O AREÁLU

SUM U3 SUM U4 SUM U5 SUM

UŽIVATELSKÁ PŘÍRUČKA REGISTR CHMELNIC NA EAGRI ZÁKLADNÍ POPIS FUNKCÍ A FORMULÁŘŮ. CCV, s. r. o.

ZŠ Slapy-tělocvična ZŠ a MŠ. Obsah

SMĚRNICE Zjednodušená analýza rizika blesku

VIRTUÁLNÍ SVAŘOVACÍ TRENAŽÉR. Corporate presentation 1/6/2014-1

Historizace obsahu katastrálních map

1. Požadavky na provoz aplikací IISPP

BRICSCAD V16. Modelování strojírenských sestav

Rozšířená nastavení. Kapitola 4

WEBDISPEČINK NA MOBILNÍCH ZAŘÍZENÍCH PŘÍRUČKA PRO WD MOBILE

Hotelová škola, Obchodní akademie a Střední průmyslová škola Teplice,Benešovo náměstí 1, příspěvková organizace

Marketing. Modul 7 Internetový marketing

I. Objemové tíhy, vlastní tíha a užitná zatížení pozemních staveb

Novinky verzí SKLADNÍK 4.24 a 4.25

AMEX Color - programovací prostředek pro ovládání měřidel z listu MS Excel II.

NÁVRHOVÝ PROGRAM VÝMĚNÍKŮ TEPLA FIRMY SECESPOL CAIRO PŘÍRUČKA UŽIVATELE

MECHANIKA HORNIN A ZEMIN

Témata pro doktorandské studium

Obsah 1. Grafický manuál firmy 2. Podklady grafického manuálu 3. Varianty loga 4. Logo a logotyp

Zadání. Založení projektu

STŘEDNÍ PRŮMYSLOVÁ ŠKOLA STROJÍRENSKÁ a Jazyková škola s právem státní jazykové zkoušky, Kolín IV, Heverova 191. Obor M/01 STROJÍRENSTVÍ

Mobilní reklama ve vyhledávání

Kluzné uložení a prvky pro nastavení výšky

12. Základy HTML a formuláře v HTML

Návod k použití aplikace jízdního řádu v mobilním telefonu. Stažení

IMPLEMENTACE SW NÁSTROJE PROCESNÍHO ŘÍZENÍ ATTIS

PUBLICITA v OP VK. Seminář pro příjemce v rámci globálních grantů Olomouckého kraje. Olomouc, 20. a 21. dubna 2009

Sada nástrojů pro technická opatření pro použití partnerstvím SPIN. Hydraulické nastavení topných systémů

TECHNICKÁ DOKUMENTACE NA PC

M. Balíková, R. Záhořík, NK ČR 1

Manager AP. Uživatelská příručka programu. březen 2016 Verze V 1.55

Informace. Veškeré informace o probíhající výzvě (včetně materiálů ke stažení) jsou dostupné na webové stránce:

Základní stavební prvky algoritmu

Algoritmizace a programování

Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 2 KONZISTENCE DATABÁZE

Transkript:

CSP custom tags Databáze Caché CSP Custom Tags vlastní značky 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 CSP kompilátor Příklad: vlastní element 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) <html> <body> <my:company> </body> </html> <html> <body> <b>párkypraha</b> </body> </html> Element <my:company> je při kompilaci stránky nahrazen názvem firmy. 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. <csr:rulename="mycompany" match="my:company" empty> <b>párky Praha</b> Název pravidla podléhá stejným omezením jako název třídy v Caché. 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 <script> další <csr:> elementy nemůže obsahovat takový CSP tag, pokud v daném kontextu nenímožné provést transformaci 1

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 Tag matching atribut MATCH obsahující 1 nebo více elementů, oddělené / Hodnota v MATCH AAA AAA/BBB AAA/*/BBB AAA[CCC] AAA[CCC=22] AAA[CCC=22]/*/BBB Pravidlo aplikováno Kdekoliv je tag <AAA></AAA> Kdykoliv<AAA> obsahuje <BBB> (<AAA><BBB></BBB></AAA>) Kdykoliv<AAA> obsahuje libovolně hluboko zanořený <BBB>(<AAA><C><D><BBB> </BBB></D></C></AAA>) Pokud <AAA>má atribut CCC s lib. hodnotou. (<AAA CCC="10"></AAA>) Pokud <AAA>má atribut CCC s hodnotou 22. (<AAA CCC="22"></AAA>) <BBB>zanořený lib. hluboko v elementu<aaa> satributem CCCrovným 22. Test: pochopení MATCH <p>text text text <b>text</b> text</p> <p>text <i><b>text</b></i> text</p> <p>text text text text text</p> Označ elementy <b> v elementech <p> 1. MATCH = "p/b" 2. MATCH = "p/*/b" 3. MATCH = "p/i/b" Test pochopení MATCH (2) <p><b><a href="/">text</a></b> text</p> <p><i><b><a href="/">text</b></i> text</p> <p><i><b><ahref="/uroven/">text</b></i> text</p> Označit všechny odkazy na hl. stránku "/" 1. MATCH = "p/b/a" 2. MATCH = "p/a[href=/]/" 3. MATCH = "p/*/a[href=/]/" 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) Programový kód v ACTION (2) vykonání při spuštění -syntaxe #(expr)# pravidlo <csr:rulename="today" match="today" empty> Dnes je: <b>#($zdate($h))#</b> prokód <TODAY> vyvolá příkaz $ZDATE pro element <TODAY> při zaslání stránky 2

Programový kód v ACTION (3) vykonání při kompilaci -syntaxe ##(expr)## pravidlo <csr:rule name="today" match="today" empty> Dnes je: <b>##($zdate($h))##</b> prokód <TODAY> vyvolá příkaz $ZDATE pro element <TODAY> v době kompilace 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 Programový kód v ACTION (5) dále je možno vkládat více řádků kódu za pomoci elementu <script> a atributu runat (server/compiler) <csr:rulename="biglist" match="biglist" empty> <ul> <script language="cache" runat=server> Fori = 1:1:100 { Write "<li>položka " _ i _ $C(13,10) </ul> Server Document Object Model vytvářen při kompilaci CSP dokumentu (analogie DOM) dva typy základních atomů %CSP.Rule -elementy HTML %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 <html> <body> Ahoj! <MYTAG MSG="Vítejte"> </body> </html> Při kompilaci vytvořeno Server DOM (2) html body TextAtom stextem Ahoj! element se jménem MYTAG a atributem MSG rovným Vítejte 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é 3

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) csr:default <csr:rule name="redtable" match="table" > <script language="cache" runat="compiler"> // pro tento element nastav bgcolor atribut nared Do ##this.setattribute("bgcolor","red") <csr:default> csr:section <csr:rule name="mybutton" match="form/*/mybutton"empty> <csr:section NAME=HEAD> <script language="javascript"> function MyButton() { alert('tlačítko MyButton stisknuto!'); return true; </csr:section> <inputtype="button" value='##(##this.getattribute("value"))##' onclick="mybutton();"></input> 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 <csr:attribute name=type description="specify the default Content-Type" type="contenttype:string"> 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 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. 4

Kód RenderStartTag Výsledná metoda RenderStartTag <scriptlanguage="cache" runat=server> Setmyfile="c:\temp.txt" Open myfile:("fr":100) Usemyfile:() Read var1 Closemyfile Method RenderStartTag() As %Status { Newelement Set element=##this Do..WriteCSPServer(" Set myfile=""c:\temp.txt""",0) Do..WriteCSPServer(" Open myfile:(""fr"":100)",1) Do..WriteCSPServer(" Usemyfile:() ",1) Do..WriteCSPServer(" Read var1",1) Do..WriteCSPServer(" Close myfile",1) Quit $$$SKIPCHILDREN pokud by pravidlo obsahovalo <csr:children> tak je metoda ukončena Quit $$$PROCESSCHILDREN CompilerMethod kód <script language="cache" runat=compiler> SET ^client(2,1,1)=..innertext() RenderEndTag generována, pokud je v pravidle obsažen element <csr:children> obsahuje kód uvedený za <csr:children> výsledná metoda-nakopírována do těla Method CompilerMethod1() [ Language=cache ] { SET ^client(2,1,1)=..innertext() Kód RenderEndTag <csr:rule name="iscbarchart" match="isc:barchart" language="any"> <csr:action> <table bgcolor='##(..getattribute("bgcolor"))##' border=0 cellspacing=0 style='border: ##(..GetAttribute("BORDER","solid blue"))##;'><tr> <csr:children> </tr></table> </csr:action> </csr:rule> Method RenderEndTag() As %Status { New element Set element=##this Do..WriteText("",1) Do..WriteCSPText("</tr></table>",0) Quit $$$OK 5

Metody %CSP.Rule GetAttribute(nameAs %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(ByRefparamsordered) vrátí všechny atributy podle jejich po řadí vtagu 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 elementupodelement zadaný jako parametr SetAttribute(nameAs %String,value As %String) nastaví atribut na nějakou hodnotu 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(exprAs %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, keeptogetheras %Boolean= 0) zapíše COS příkaz s vyhodnocenými ##()##, #()#, a ##''## výrazy. National Language Support (NLS) seznam všech nativně podporovaných jazyků 5-Cache standard 10 -German1 11 -Portuguese1 12 -Polish1 13 -German2 14 -Spanish1 15 -Danish1 17 -Greek1 18 -Czech1 19 -Czech2 20 -Portuguese2 21 -Finnish1 22 -Japanese1 23 -Cyrillic2 24 -Polish2 26 -Chinese2 Děkuji za pozornost nějaké otázky? 6