Wprowadzenie do standardu XSL

Wielkość: px
Rozpocząć pokaz od strony:

Download "Wprowadzenie do standardu XSL"

Transkrypt

1 Wprowadzenie do standardu XSL Tomasz Przechlewski 2002 Spis treści 1 Wprowadzenie 1 2 XPath Wstęp Ścieżki dostępu Osie Testy węzłów Predykaty Składnia uproszczona Wyrażenia XSLT Wprowadzenie Arkusz stylu Szablony Tworzenie drzewa wyjściowego Generowanie tekstu Numerowanie Zmienne Iteracje Przetwarzanie warunkowe Sortowanie Wprowadzenie Do wizualizacji dokumentu potrzebujemy w zasadzie dwóch elementów: 1. sposobu opisu wyglądu dokumentu docelowego, 1

2 2 2 XPATH 2. metody przekształcenia znakowania ogólnego dokumentu wyjściowego na znakowanie zorientowane na prezentację dokumentu docelowego. Standard XSL adresuje właśnie te dwa aspekty formatowania. Na XSL składają się obecnie trzy rekomendacje konsorcjum W3C: XSLT część związana z przekształcaniem dokumentów XML, XPath część związana z adresowaniem elementów dokumentu XML, FO część związana ze specyfikacją standardowych obiektów formatujących. Po pierwsze jedna ze specyfikacji definiuje język XMLowy do specyfikowania samego sposobu formatowania elementów w druku bądź w przeglądarce, druga opisuje język przekształcania dokumentów XML w inne dokumenty XML natomiast trzecia definiuje język adresowania elementów dokumentu XML. Elementy definiujące semantykę samego formatowania są nazywane obiektami formatującymi (formatting objects, w skrócie fo). XSLowe obiekty formatujące są opisane w specyfikacji [6]. Odłączenie języka przetwarzania XSLT od samego języka specyfikującego formatowanie pozwoliło na użycie również innych sposobów wizualizacji dokumentów niż tylko poprzez obiekty formatujące XSL. Rolę tych obiektów może spełnić na przykład HTML, który w połączeniu z możliwościami współczesnych programów interpretująych ten format zapewnia całkiem spore możliwości prezentacyjne. Alternatywą jest skorzystanie z własnych obiektów formatujących. 2 XPath 2.1 Wstęp Dokument XML może być przedstawiony jako struktura drzewiasta. Drzewo dokumentu jest podstawową strukturą, którą przetwarza język XSLT. Szczegółowy model dokumentu XML jako drzewa jest opisany w rekomendacji [5]. W drzewie dokumentu znajdują się węzły 7 typów, a mianowicie (por. rys 1): korzeń ten węzeł jest jeden dla każdego dokumentu, jego dzieckiem jest węzeł elementu głównego, element węzeł odpowiada elementowi, jego dziećmi mogą być węzły elementowe, tekstowe, instrukcje przetwarzania, atrybuty, komentarze i przestrzenie nazw.

3 2.1 Wstęp 3 <?xml version="1.0" encoding="iso "?> <Memo status="secret"> <To>Comrade Napoleon</To> <From>Snowball</From> <Body> <P>George Orwell says: <!-- In Animal Farm if you don t knoww --> <Q author= Orwell >...the pigs had to expend enormous labour every day upon mysterious things called files, reports, minutes and memoranda. These were large sheets of paper which had to be closely converted with writing, and as soon as they were so converted, they were burnt in the furnace...</q>. Do you think XML would have helped the pigs? </P> <!-- Add something on XSL --> </Body> <Close>Comrade Snowball</Close> <?xyz rpq?> </Memo> root memo to from status body close comment pi Comrade Napoleon Snowball p Comrade Snowball Geore Orwell... Do you... q comment...the pigs... author Rysunek 1: Model dokumentu tekst węzeł odpowiada fragmentowi tekstu w dokumencie, nie może mieć węzłów potomnych,

4 4 2 XPATH komentarz węzeł zawiera tekst komentarza, nie może mieć węzłów potomnych, instrukcja sterująca węzeł zawiera tekst instrukcji sterującej. atrybut węzeł zawierający wartość atrybutu. przestrzeń nazw węzeł zawierający przestrzeń nazw. Podstawową konstrukcją standardu XPath jest wyrażenie. Podstawowe typy danych, to: zbiór-węzłów (node set), logiczny (prawda-fałsz), liczba oraz napis (ciąg znaków). Wyrażenie jest obliczane w bieżącym kontekście. Kontekst w jakim są obliczane wyrażenia XPath jest określony w specyfikacjach XSLT oraz XPointer. Na kontekst składają się: bieżący węzeł, bieżąca pozycja i bieżąca wielkość, zbiór wartości zmiennych, zbiór definicji funkcji, zbiór deklaracji przestrzeni nazw. 2.2 Ścieżki dostępu Ważnym typem wyrażenia jest ścieżka dostępu. Wyrażenie XPATH jest zapisywane w postaci ścieżki dostępu do adresowanych węzłów zapisanej w postaci poszczególnych kroków oddzielonych znakiem /. Kroki są obliczane od lewej do prawej. Każdy krok wybiera zbiórwęzłów; pierwszy krok wybiera zbiór-węzłów względem węzeł bieżącego, kolejne kroki za węzeł bieżący przyjmują sekwencyjnie wybrane węzły ze zbioru otrzymanego w poprzednim kroku. Jeżeli ścieżka dostępu zaczyna się od znaku / to oznacza to, że rozpoczynamy nawigację od korzenia dokumentu. Jeżeli zaczyna się od znaków // to oznacza, że możemy rozpocząć nawigację gdziekolwiek w dokumencie. Jeśli zaczynamy ścieżkę krokiem, to nawigacja zaczyna się w bieżącym węźle drzewa. Najprostszy zapis kroku, to podanie nazwy elementu, do którego chcemy się przemieścić. Tak więc zapis info/tytul oznacza, że chcemy wybrać tylko te elementy <tytul>, które są dziećmi elementu <info>. W przypadku gdy do jednego węzła pasuje więcej niż jeden wzorzec, transformator rozstrzyga, który szablon użyć stosując reguły priorytetowe. Mówią one między innymi, że szablon przyporządkowany do wzorca bardziej szczegółowego ma pierwszeństwo nad wzorcem bardziej ogólnym Osie XPATH pozwala na nawigację również po innych tak zwanych osiach. W ogólnym przypadku krok ma postać oś::test węzła[predykat].

5 2.2 Ścieżki dostępu 5 Osie, po których możemy się poruszać to: oś dzieci (child) zawierająca węzły bezpośrednio doczepione w drzewie do węzła bieżącego; oś potomków (descendant) zawierająca węzły leżące w drzewie poniżej bieżącego; oś rodzica (parent) zawierająca węzeł, do którego węzeł bieżący jest bezpośrednio doczepiony, jeżeli takowy istnieje; oś przodków (ancestor) zawierająca węzły położone w drzewie powyżej węzła bieżącego; oś sąsiadów z tyłu (following-sibling), tj. wszystkie węzły mające tego samego rodzica, które znajdują się za bieżącym; oś sąsiadów z przodu (proceeding-sibling), tj. wszystkie węzły mające tego samego rodzica, które znajdują się przed bieżącym; oś poprzedników (preceding), tj. wszystkie węzły w dokumencie znajdujących się przed bieżącym; oś następników (following), tj. wszystkie węzły w dokumencie znajdujących się za bieżącym; oś atrybutów zawierająca atrybuty węzła bieżącego; oś ta jest pusta jeżeli bieżącym węzłem nie jest element; oś przestrzeni nazw zawierająca przestrzenie nazw zadeklarowane dla węzła bieżącego; oś ta jest pusta jeżeli bieżącym węzłem nie jest element; oś węzła bieżącego (self ); oś potomków i oś węzła bieżącego (descendant-or-self ), tj. węzeł bieżący i węzły leżące w drzewie poniżej bieżącego; oś rodziców i oś węzła bieżącego (ancestor-or-self ), tj. węzeł bieżący i węzły leżące w drzewie powyżej bieżącego. Osie ancestor, descendant, following, preceding i self dzielą dokument w ten sposób, że nie nakładają się na siebie i razem zawierają cały dokument (pomijając osie atrybutów i przestrzeni nazw, por. rys. 2). Każdy krok może zostać zapisywany w postaci oś ::test [predykat ], gdzie: test specyfikuje wybrane węzły na danej osi zaś predykat określa dodatkowe warunki, które muszą spełniać węzły.

6 6 2 XPATH root memo to from body close p p p q Rysunek 2: Osie Testy węzłów Każda oś posiada podstawowy typ węzła (principal node type). Jeżeli oś zawiera elementy, to podstawowym typem węzła jest element; w każdym innym przypadku jest to typ węzła, który może zawierać oś, tj.: atrybut i przestrzeń nazw odpowiednio dla osi atrybutów i osi przestrzeni nazw oraz element dla pozostałych typów osi. Test zawierający nazwę węzła (tj. nazwę elementu, atrybutu, przestrzeni nazw) zwraca wartość prawda tylko wtedy, gdy typ tego węzła jest równy podstawowemu typowi węzła osi oraz nazwa węzła jest równa nazwie wyspecyfikowanej w teście. Przykładowo: child::para wybiera elementy <para> będące dziećmi węzła bieżącego. Test postaci * jest prawdziwy dla każdego węzła, którego typ jest zgodny z podstawowym typem węzła osi. Przykładowo: child::* wybierze wszyst-

7 2.2 Ścieżki dostępu 7 kie elementy-dzieci węzła bieżącego, zaś attribute::* wybierze wszystkie atrybuty węzła bieżącego. Testy postaci text(), comment() i processing-instruction() są prawdziwe odpowiednio dla każdego: węzła tekstowego, komentarza oraz instrukcji formatującej. Przykładowo: child::text() oznacza węzły tekstowe węzła bieżącego. Opcjonalnym argumentem testu processing-instruction może być napis; w takim przypadku test jest prawdziwy dla instrukcji formatującej o nazwie równej wartości argumentu. Jeśli chcemy wybrać wszystkie węzły (również te tekstowe, z komentarzami itp.) należy podać jako test węzła funkcję node(). Przykładowo, aby zaadresować wszystkie węzły potomne od elementu <spis> należy zapisać wyrażenie self::spis/descendant::node() Predykaty Ostatnim elementem kroku może być predykat. Jest on zapisywany w nawiasach kwadratowych i podaje warunek, który powinien być spełniony przez wybierany węzeł. Oś może być albo osią w przód albo w tył. Oś zawierająca węzeł bieżący oraz węzły występujące po nim w porządku dokumentu jest osią w przód. Oś zawierająca węzeł bieżący i węzły występujące przed nim w porządku dokumentu jest osią w tył. Osie: ancestor, ancestor-or-self, preceding i precendig-sibling są w tył ; pozostałe osie są osiami w przód. Węzły w zbiorze-węzłów wybranym względem danej osi są uporządkowane w porządku w jakim występują w dokumencie jeżeli oś jest osią w przód lub w porządku odwrotnym do tego w jakim występują w dokumencie jeżeli oś jest osią w tył. Numer pierwszego węzła wynosi 1. Dla każdego węzła w zbiorze-węzłów wybranym według osi i testu obliczany jest warunek predykatu, przy założeniu, że tenże węzeł jest węzłem bieżącym, bieżącą wielkością (context size) jest liczba węzłów w zbiorze-węzłów a bieżącą pozycją (context position) jest numer węzła określonemu w sposób podany w poprzednim akapicie. Jeżeli wyrażenie zwraca wartość prawda węzeł jest wybierany do wynikowego zbioru-węzłów; w przeciwnym wypadku nie jest. Jeżeli wyrażenie podane w predykacie wylicza się do liczby, to jest to interpretowane jako test położenia węzła w stosunku do jego sąsiadów. Na przykład 5 element <para> w trzecim elemencie <chapter> możemy zaadresować jako chapter[3]//para[5]. W każdym innym przypadku wyrażenie jest konwertowane do wartości boolowskiej. Na przykład wszystkie elementy <w> zawierające element <i> możemy wyszukać wzorcem w[./i].

8 8 2 XPATH Składnia uproszczona Specyfikacja osi child:: może zostać pominięta, tj. div/para jest równoważne child::div/child::para. Specyfikacja osi attribute:: może zostać skrócona Przykładowo: para[@lang="pl"] jest równoważne: child::para[attribute::lang="pl"]. Specyfikacja //, to skrót od /descendant-or-self::node()/ Specyfikacja., to skrót od self::node() Specyfikacja.., to skrót od parent::node() Przykłady: para wybiera elementy <para> dzieci węzła bieżącego; * wybiera wszystkie elementy dzieci węzła bieżącego; text() wybiera wszystkie elementy tekstowe dzieci węzła wybiera atrybut name będący dzieckiem węzła wybiera wszystkie atrybuty będące dziećmi węzła bieżącego; para[1] wybiera pierwszy element <para> będący dzieckiem węzła bieżącego; para[last()] wybiera ostatni element <para> będący dzieckiem węzła bieżącego; /article/chapter[4]/section[2] wybiera drugi element <section> dziecko czwartego elementu <chapter> dziecko elementu <article>; chapter//para wybiera wszystkie elementy <para> będące potomkami elementu <chapter>; //para wybiera wszystkie elementy <para> będące potomkami korzenia dokumentu, tj. wszystkie elementy <para> w dokumencie;. wybiera bieżący węzeł;.//para wybiera wszystkie elementy <para> będące potomkami węzła bieżącego;.. wybiera rodzica węzeła bieżącego;../@lang wybiera atrybut lang rodzica węzeła bieżącego; para[@type= warning ] wybiera wszystkie elementy <para>, dzieci elementu bieżącego, dla których wartość atrybutu type wynosi warning.

9 2.3 Wyrażenia 9 para[@type= warning ][5] z elementów <para>, dzieci elementu bieżącego, dla którego wartość atrybutu type wynosi warning wybiera piąty. para[5][@type= warning ] wybiera piąty element <para>, dziecko elementu bieżącego jeżeli wartość atrybutu type dla tego elementu wynosi warning. para[position()=5 warning] to samo co wyżej. danie[nazwa= zupa pomidorowa ] wybiera te elementy danie, dzieci elementu bieżącego, dla których napisową wartością elementu <nazwa>, które z kolei jest dzieckiem elementu <danie> jest zupa pomidorowa. 2.3 Wyrażenia Ścieżka dostępu może zostać użyta jako wyrażenie. Wyrażenie zwraca zbiórwęzłów. Możliwe jest tworzenie wyrażeń logicznych za pomocą operatorów: =,!=, <, >=, <= oraz łączenie wyrażeń logicznych za pomocą operatorów and oraz or. Możliwe jest tworzenie wyrażeń logicznych za pomocą operatorów: +, -, *, div, mod. Zdefiniowane są następujące funkcje: last() zwraca wielkość bieżącą (context size). position() zwraca bieżącą pozycję (context position). count(zbiór-węzłów) zwraca liczbę węzłów argumentu zbiór-węzłów. id(obiekt) zwraca węzeł o wartości atrybutu typu ID równej wartości argumentu obiekt. Jeżeli obiekt jest napisem, to ten napis jest porównywany z wartością atrybutu ID; jeżeli napis zawiera odstępy to jest traktowany jako zbiór wartości ID a w rezultacie zwrócony może zostać zbiór-węzłów. W przypadku innych typów obiektów dokonywana jest odpowiednia konwersja. Szczegóły znajdują się w specyfikacji. local-name(zbiór-nazw?) zwraca nazwę (bez prefiksa przestrzeni nazw) pierwszego elementu w podanym zbiorze-nazw. name(zbiór-nazw?) zwraca pełną nazwę elementu. string(obiekt?) konwertuje obiekt do napisu. Konwersja zbioru-węzłów polega na zamianie na napis pierwszego węzła ze zbioru przy przyjęciu porządku w jakim węzły występują w dokumencie.

10 10 2 XPATH concat(s1, s2, s3*) łączy napisy w jeden. start-with(s1, s2) zwraca prawda jeżeli s1 rozpoczyna się od s2. contains(s1, s2) zwraca prawda jeżeli s1 zawiera s2. substring-before(s1, s2) zwraca napis wycięty z s1, poprzedzający pierwsze wystąpienie s2 w s1. substring-after() zwraca napis wycięty z s1, następujący po pierwszym wystąpieniu s2 w s1. substring(s1, n1, n2?) zwraca napis wycięty z s1, od pozycji n1 do pozycji n2, lub do końca napisu, jeżeli nie podano n2. Numer pierwszego znaku to 1. string-length(s?) zwraca długość argumentu. Jeżeli argument jest pominięty, zwraca długość bieżącego węzła po konwersji do napisu. normalize-space(s?) Zwraca napis po usunięciu wiodących i końcowych znaków odstępu oraz zamianie kolejnych znaków odstępu na pojedynczy znak spacji. Jeżeli argument jest pominięty, zwraca długość bieżącego węzła po konwersji do napisu. translate(s1,s2,s3) Funkcja podobna w działaniu do standardowego polecenia tr systemu Unix: w napisie s1 wymienia każdy znak wymieniony w napisie s2 na odpowiadający mu znak w napisie s3. boolean(obiekt) zamienia obiekt na typ boolowski. true() zwraca wartość prawda. false() zwraca wartość fałsz. lang(s) zwraca wartość prawda jeżeli wartość atrybutu xml:lang węzła bieżącego jest równa s. number(obiekt?) zamienia obiekt na liczbę. sum(zbiór-węzłów) zwraca sumę zawartości zbioru-węzłów po ich konwersji do liczby. floor(liczba) zwraca największą liczbę całkowitą nie większą od liczba. ceiling(liczba) zwraca najmniejszą liczbę całkowitą nie mniejszą niż liczba. round(liczba) Zwraca przybliżenie całkowite argumentu liczba.

11 11 3 XSLT 3.1 Wprowadzenie Opis sposobu przetwarzania dokumentu jest określony w arkuszu stylu (stylesheet). Plik musi być dobrze uformowanym plikiem XMLowym tzn. musi zaczynać się deklaracją XMLową, a wszystkie znaczniki początku elementu muszą posiadać sparowane znaczniki końca. W arkuszu stylu mogą znaleźć się dwa rodzaje elementów. Jedne elementy opisują logikę przetwarzania dokumentu, drugie natomiast, zwane elementami wynikowymi, są elementami, które zostaną wstawione do drzewa dokumentu wyjściowego. Aby procesor mógł poprawnie rozróżnić jedne elementy od drugich, elementy opisujące przetwarzanie należą do przestrzeni nazw związanych ze standardem XSLT. W praktyce oznacza to, że zwyczajowo poprzedza się te elementy przedrostkiem xsl:, który jest przyporządkowany odpowiedniej przestrzeni nazw XML na jednym z głównych elementów. Ponadto, elementy z przestrzeni nazw XSLT mogą posiadać atrybuty spoza tej przestrzeni, ale takie atrybuty muszą być związane z niepustą przestrzenią nazw. Dla procesorów rozpoznających daną przestrzeń nazw takie atrybuty mogą stanowić mechanizm rozszerzający funkcjonalność; muszą być natomiast ignorowane przez procesory XSLT nie rozpoznające danej przestrzni nazw; Arkusz stylów składa się z wielu szablonów (template) Szablon pełni dwie funkcje: określa wzorzec pasujący do pewnego fragmentu drzewa wejściowego dokumentu XML oraz określa strukturę wyjściowego drzewa elementów Na różnych etapach przetwarzania procesor XSLT usiłuje dobrać do konkretnego węzła dokumentu najbardziej szczegółowo opisujący go wzorzec zapisany w arkuszu stylów, a następnie wykonać szablon skojarzony z przyporządkowanym wzorcem. Wykonanie szablonu odbywa się zawsze w kontekście bieżącego węzła oraz bieżącej listy węzłów. 3.2 Arkusz stylu Arkusz stylu jest zawarty wewnątrz elementu <xsl:stylesheet>. Wewnątrz <xsl:stylesheet> wystąpić mogą następujące elementy: <xsl:output>, <xsl:variable>, <xsl:param>, <xsl:template> oraz kilka innych. Jednym z pierwszych elementów w arkuszu powinien być element <xsl:output>, którego atrybut method będzie zawierał informację o formacie pliku wyjściowego. Ma to wpływ na sposób zapisywania i formatowa-

12 12 3 XSLT nia pliku wyjściowego. Atrybut ten przyjmuje wartość html, jeśli wynikiem transformacji ma być dokument HTML, xml, jeśli tworzymy nową wersję dokumentu XML lub text jeżeli wynikiem przekształcenia ma być zwykły plik tekstowy. Struktura arkusza stylów może zostać przedstawiona następująco: <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl=" > <xsl:output method="html"/> <xsl:template match="...">... <xsl:template name="...">... </xsl:stylesheet> Używając dodatkowych atrybutów elementu <xsl:output> możliwe jest bardziej precyzyjne określenie formatu wyjściowego, np: <xsl:output method="html" encoding="iso " doctype-public="-//w3c//dtd HTML 4.01 Transitional//EN" saxon:character-representation="native;decimal" xmlns:saxon=" /> Atrybut encoding określa kodowanie pliku wynikowego (w tym wypadku ISO ). Atrybut doctype-public określa, że dokument ma być oznaczony publiczną deklaracją DOCTYPE wyspecyfikowaną jako wartość tego atrybutu. Sposób reprezentacji znaków jest nieustalony: w zależności od używanego procesora (wspierającego kodowanie jednobajtowe) można oczekiwać reprezentacji naturalnej, encji ogólnych postaci &zacute; lub encji znakowych &#123. Atrybut character-representation w przykładzie powyżej nie pochodzi z przestrzeni nazw XSLT, ale jest związany z popularnym procesorem XSLT saxon, który pozwala na dokładne określenie reprezentacji drukowanych znaków. Taki atrybut jest legalny (por. punkt 3.1); wartość native;decimal określa, że znaki reprezentowane w standardzie ISO będą zapisane naturalnie a pozostałe jako encje znakowe. 3.3 Szablony Pojedynczy szablon jest zapisany we wnętrzu elementu <template>. W atrybucie match podaje się wzorzec adresujący węzeł, do którego dany szablon ma być stosowany. Załóżmy, że plik katalog.xml ma następującą prostą strukturę:

13 3.3 Szablony 13 <katalog> <czesc id="c8934" typ="klamkomanetka" rys="chorus43.jpg"> <nazwa>campagnolo Chorus</nazwa> <cena>585</cena> </czesc> <czesc id="c1293" typ="piasta.tyl" rys="veloce91.jpg"> <nazwa>campagnolo Veloce</nazwa> <cena>245</cena> </czesc>... wtedy następujący szablon: <xsl:template match="nazwa"> <div class="nc"> <xsl:apply-templates/> </div> spowoduje wydrukowanie: <div class="nc">campagnolo Chorus</div> <div class="nc">campagnolo Veloce</div> We wnętrzu szablonu znajduje się element <xsl:apply-templates>, który jest poleceniem dla procesora XSLT by w to miejsce wstawić wynik przetwarzania węzłów, będących dziećmi węzła bieżącego lub jeżeli element <xsl:apply-templates> posiada atrybut select zbioru węzłów określonych przez wartość tego atrybutu. Wartością atrybutu jest wyrażenie dające w wyniku zbiór-węzłów. Szablony przekształcają fragmenty drzewa wejściowego na fragmenty drzewa wynikowego. Pojedyncze szablony mogą przekształcać dowolne fragmenty drzewa wejściowego. Ta rekurencyjna metoda pozwala na zapisanie przetwarzania w postaci szablonów zależnych jedynie od kontekstu danego węzła, a nie wiedzy o pełnej strukturze dokumentu. W ogólnym przypadku szablon zawiera tekst powielany literalnie do drzewa wynikowego oraz polecenia XSLT wykonywane przez procesor XSLT (takie jak <xsl:apply-templates>). Jeśli procesor nie potrafi dopasować konkretnego wzorca z arkusza stylu, wtedy do transformacji stosuje wzorzec domyślny. Dla węzłów tekstowych domyślny szablon wpisuje w drzewo wynikowe tekst będący wartością węzła. Dla węzłów elementowych natomiast szablon domyślny zawiera jedynie element <xsl:apply-templates>, czyli polecenie przetwórz wszystkie węzły potomne.

14 14 3 XSLT Element <xsl:call-template> wykonuje szablon nazwany uprzednio za pomocą polecenia <xsl:template> z określonym atrybutem name. Nazwane szablony mogą być sparametryzowane i wykonywane dla różnych wartości parametrów. Załóżmy, że części rowerowe mają być formatowane wewnątrz elementu <div>, którego atrybut class ma dla części droższych niż 100 zł wartość normalna, a dla pozostałych części wartość tania. Poniższy arkusz rozwiązuje ten problem, wykorzystując szablon nazwany i parametr cc: <xsl:template name="cz"> <xsl:param name="cc">tania</xsl:param> <div class="{$cc}"> <xsl:apply-templates/> </div> <xsl:template match="czesc[cena>100]"> <xsl:call-template name="cz"> <xsl:with-param name="cc">normalna</xsl:with-param> </xsl:call-template> <xsl:template match="czesc"> <xsl:call-template name="cz"> <xsl:with-param name="cc">tania</xsl:with-param> </xsl:call-template> 3.4 Tworzenie drzewa wyjściowego Szablon przepisuje literalnie elementy, które nie należą do przestrzeni nazw XSLT oraz nie są zadeklarowanymi niestandardowymi elementami XSLT. Element może zostać utworzony za pomocą polecenia <xsl:element>. Nazwa elementu wyjściowego jest wartością wymagalnego atrybutu name. Atrybut ten może zawierać wyrażenia XPath, umieszczone wewnątrz nawiasów klamrowych (por. punkt 3.5). Element <xsl:attribute> umożliwia wstawienie atrybutu dla elementu wyjściowego utworzonego zarówno przez literalne przepisanie elementu jak i poprzez wykorzystanie polecenia <xsl:element>. Nazwę atrybutu określa wymagalny atrybut name, wartość atrybutu jest określona przez zawartość elementu <xsl:attribute>. Przykład: <xsl:template match="doc"> <body> <attribute name="lang">pl</attribute>

15 3.5 Generowanie tekstu 15 <apply-templates /> </body> Element <xsl:text> umożliwia wstawienie napisu; element ten jest stosowany najczęściej do wstawiania odstępów, gdyż odstępy wstawiane literalnie są domyślnie ignorowane. 3.5 Generowanie tekstu Przetworzenie elementu <xsl:value-of> powoduje wstawienie węzła tekstowego do drzewa wynikowego. Element <xsl:value-of> posiada wymagalny atrybut select, którego wartością jest wyrażenie; wyrażenie jest przekształcane a wynik przekształcenia jest konwertowany do napisu. Poniższy szablon wydrukuje zestawienie postaci typ: nazwa-części z pliku katalog.xml: <xsl:template match= czesc > <xsl:value-of select="@typ"/> <xsl:text>: </xsl:text> <xsl:value-of select="nazwa"/> W atrybucie elementu wynikowego oraz niektórych elementów XSLT może być wstawione wyrażenie XPath umieszczone wewnątrz pary nawiasów klamrowych {...}, które w takiej sytuacji podlega normalnemu przekształceniu, tj. {wyrażenie} jest zamieniane na skonwertowany do napisu wynik przekształcenia. Przykład: <xsl:template match= czesc > <img src="{@rys}" alt="{nazwa}"/> Przetworzenie pliku katalog.xml przy wykorzystaniu powyższego szablonu spowoduje wydrukowanie: <img src="chorus43.jpg" alt="campagnolo Chorus">... Jeżeli wewnątrz wartości atrybutu ma zostać wstawiony literalnie prawy lub lewy nawias klamrowy należy wstawić dwa takie znaki, tj. {{ lub }}. 3.6 Numerowanie Element <xsl:number> służy do wstawienia sformatowanego numeru węzła do drzewa wynikowego. Atrybut count określa węzły, które są numerowane; domyślnie są to wszystkie węzły tego samego typu i nazwy co węzeł bieżący.

16 16 3 XSLT Atrybut format określa format drukowanego numery. Atrybut ten to napis zawierający specyfikacje-formatu i znaki-przestanowe. Specyfikacje formatu określają postać drukowanej liczby, znaki-przestankowe są przepisywane literalnie. Specyfikacje formatu mają postać ciągów znaków alfanumerycznych; zdefiniowane wartości to m.in: 1 numeracja arabska, tj.: 1, 2, itd; a numeracja postaci: a, b, itd; A numeracja postaci: A, B, itd; i kolejne liczby rzymskie: i, ii, iii, iv, itd; I kolejne liczby rzymskie: I, II, III, IV, itd. Numer elementu może być obliczany za pomocą wyrażenia umieszczonego w atrybucie value. Wartość wyrażenia jest konwertowana do liczby całkowitej, a następnie wypisywana jest napisowa reprezentacja tej liczby. Jeżeli nie określono atrybutu value przyjmowana jest kolejność oparta o pozycję węzła w dokumencie. Określenie numery za pomocą atrybutu value jest niezbędne jeżeli zbiór węzłów jest sortowany lub przetwarzany w inny zmieniający porządek węzłów sposób (por. punkt 3.10): <xsl:template match= katalog > <xsl:apply-templates select="czesc"> <xsl:sort select="nazwa"/> </xsl:apply-templates> <xsl:template match= czesc > <xsl:number value="position()" format="1. " /> <xsl:value-of select="@typ"/> <xsl:text>: </xsl:text> <xsl:value-of select="nazwa"/> W wyniku przetworzenia dokumentu zostanie wydrukowane ponumerowane zestawienie części posortowane w porządku alfabetycznym. 3.7 Zmienne Za pomocą elementu <xsl:variable> możliwe jest zdefiniowanie zmiennej. W przeciwieństwie do większości języków programowania wartość utworzonej w ten sposób zmiennej nie może być zmieniona. Nazwa zmiennej

17 3.8 Iteracje 17 jest określana jako wartość atrybutu name, wartość zaś albo jako zawartość elementu, albo przez atrybut select, którego wartością jest wyrażenie. Definicja <xsl:variable> może znajdować się na zewnątrz lub wewnątrz szablonów. W pierwszym przypadku jest zmienną globalną w drugim jej wartość jest określona wyłącznie dla węzłów potomnych szablonu. Wartość zmiennej jest wstawiona za pomocą konstrukcji $nazwa-zmiennej. 3.8 Iteracje Zawartością elementu <xsl:for-each> jest szablon wykonywany dla każdego węzła wybranego przez wyrażenie określone w atrybucie select tego elementu. Atrybut slect jest wymagany; wartość wyrażenia musi być typu zbiór-węzłów. Dla każdego węzła ze zbioru-węzłów szablon jest wykonywany przy przyjęciu tego węzła za węzeł bieżący oraz przyjęciu zbioru wszystkich wybranych węzłów jako bieżącej listy węzłów. Węzły są przetwarzane w porządku dokumentu lub w porządku określonym poleceniami <xsl:sort> wstawionymi wewnątrz elementu <xsl:for> (por. 3.10). Przykładowo w wyniku przetworzenia poniższego szablonu zostanie wydrukowane zestawienie wszystkich elementów <title>, dzieci elementów <sect1> i <sect2>, w porządku w jakim występują w dokumencie: <xsl:template match="/"> <div class="toc"> <xsl:for-each select="//sect1 //sect2"> <p><xsl:value-of select="title"/></p> </xsl:for-each> </div> 3.9 Przetwarzanie warunkowe Polecenia <xsl:if> oraz <xsl:choose> umożliwiają warunkowe przetwarzanie szablonów. Wartością wymagalnego atrybutu test elementu <xsl:if> jest wyrażenie. Zawartością tego elementu jest szablon. Jeżeli logiczną wartością wyrażenia określonego w atrybucie test jest prawda, wykonywany jest szablon; w przypadku przeciwnym nie jest wykonywane żadne działanie. Przykład: <xsl:template match= lista.nazw/nazwa > <xsl:apply-templates/> <xsl:if test="not(position()=last())">, </xsl:if>

18 18 3 XSLT Elementy <nazwa> wewnątrz elementu <lista.nazw> są oddzielone na wydruku przecinkiem, za wyjątkiem ostatniej nazwy na liście. W kolejnym przykładzie co drugi wiersz tabeli jest drukowany na żółtym tle: <xsl:template match= item > <tr> <xsl:if test="position() mod 2 = 0 "> <xsl:attribute name="bgcolor">yellow</xsl:attribute> </xsl:if> <xsl:apply-templates/> </tr> Polecenie <xsl:choose> pozwala na wybór z wielu możliwych wariantów. Zawartością <xsl:choose> jest ciąg elementów <xsl:when>, po których może wystąpić opcjonalny element <xsl:otherwise>. Każdy element <xsl:when> posiada atrybut test zawierający wyrażenie. Zawartością elementów <xsl:when> oraz <xsl:otherwise> jest szablon. Przetworzenie elementu <xsl:choose> polega na obliczaniu logicznej wartości jego atrybutu test. Wykonywany jest szablon pierwszego i tylko tego elementu, dla którego wartość jest równa prawda. Jeżeli żaden z warunków elementów <xsl:when> nie ma wartości prawda, wykonywany jest szablon określony przez zawartość elementu <xsl:otherwise>. Przykład: <xsl:choose> <xsl:when test="@team= Telekom ">Team Deutsche Telekom</xsl:when> <xsl:when test="@team= Saeco ">Saeco-Cannondale</xsl:when> <xsl:when test="@spec= Once ">Once-Eroski</xsl:when> <xsl:otherwise>inny</xsl:otherwise> </xsl:choose> 3.10 Sortowanie Sortowanie jest wykonywane po dodaniu elementu <xsl:sort> do zawartości elementów <xsl:apply-templates> lub <xsl:for-each>. Każdy element <xsl:sort> określa kolejny klucz sortowania. Element <xsl:sort> ma atrybut select, którego wartością jest wyrażenie. Przy przyjęciu kolejno każdego przetwarzanego węzła jako węzła bieżącego oraz przyjęciu listy wszystkich przetwarzanych węzłów w porządku dowolnym jako bieżącej listy węzłów obliczana jest wartość wyrażenia. Obliczona w ten sposób wartość jest konwertowana do napisu i stanowi klucz sortowania. Domyślną wartością atrybutu select jest., co oznacza, że domyślnym kluczem sortowania jest wartość węzła bieżącego po konwersji do napisu. Element <xsl:sort> może posiadać następujące atrybuty opcjonalne:

19 BIBLIOGRAFIA 19 order określenie porządku sortowania; dozwolone wartości to ascending (porządek rosnący, przyjmowany domyślnie) oraz descending (porządek malejący). lang określenie języka; zbiór wartości jest identyczny jak w przypadku atrybutu xml:lang, np. lang="pl". data-type określenie typu sortowanych obiektów oraz sposobu ich sortowania; dozwolone wartości, to: text napisy sortowane w porządku alfabetycznym określonym ewentualnie za pomocą wartości atrybutu lang; number liczby sortowane numerycznie, atrybut lang jest w tym wypadku ignorowany; qname symbole; sposób sortowania nie jest określony w specyfikacji XSLT; case-order określenie czy duże litery (majuskuły) są sortowane przed ich małymi odpowiednikami (minuskuły) czy też porządek powinien być odwrotny. Atrybut ten ma znaczenie wyłącznie wtedy, gdy wartością atrybutu data-type jest text. Wartość domyślna winna być zależna od wybranego języka. Poniższy szablon wydrukuje zestawienie części posortowane według ceny od najdroższych do najtańszych z pliku katalog.xml: <xsl:template match= katalog > <xsl:apply-templates select="czesc"> <xsl:sort select="cena" data-type="number"/> </xsl:apply-templates> Aby zestawienie było posortowane oddzielnie dla każdego typu części, wystarczy zmodyfikować powyższy szablon dodając kolejny klucz sortowania: <xsl:template match= katalog > <xsl:apply-templates select="czesc"> <xsl:sort select="@typ"/> <xsl:sort select="cena" data-type="number"/> </xsl:apply-templates> Bibliografia [1] strona domowa Jamesa Clarka patrz

20 20 BIBLIOGRAFIA [2] Dokumentacja procesora FOP, patrz [3] Michael Kay, XSLT Programmer s Reference. Wrox Press Ltd., [4] Pakiet do przetwarzania dokumentów SGML w języku Perl patrz [5] World Wide Web Consortium, XSL Transformations (XSLT), patrz [6] World Wide Web Consortium, Extensible Stylesheet Language (XSL), patrz [7] World Wide Web Consortium, XML Path Language (XPath), patrz

XML Path Language (XPath)

XML Path Language (XPath) XML Path Language (XPath) 1 Cel adresowanie elementów /częś ci dokumentu XML składnia podobna do URI wyszukiwanie elementów bądź grup elementów dokument jako drzewo typy węzłów: element, attribute, text

Bardziej szczegółowo

XPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Location paths. Osie (axes)

XPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Location paths. Osie (axes) XPath XML Path Language XPath. XSLT część 1. Problem: jednoznaczne adresowanie fragmentów struktury dokumentu XML. Rozwiązanie: drzewiasty model struktury dokumentu, normalizacja zawartości dokumentu (ten

Bardziej szczegółowo

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT Marek Wojciechowski marek@cs.put.poznan.pl http://www.cs.put.poznan.pl/~marek/ Formatowanie dokumentów XML Język XML opisuje strukturę i

Bardziej szczegółowo

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0 Słowem wstępu Część rodziny języków XSL Standard: W3C XSLT 1.0-1999 razem XPath 1.0 XSLT 2.0-2007 Trwają prace nad XSLT 3.0 Problem Zakładane przez XML usunięcie danych dotyczących prezentacji pociąga

Bardziej szczegółowo

Język XSLT. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Język XSLT. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz Język XSLT Po zrealizowaniu materiału student będzie w stanie Dokonać przekształcenia zawartości dokumentu XML do formatu HTML oraz TXT Realizować przetwarzanie warunkowe dokumentu XML Formatować wartości

Bardziej szczegółowo

METAJĘZYKI. Politechnika Koszalińska Wydział Elektroniki i Informatyki Katedra Inżynierii Komputerowej

METAJĘZYKI. Politechnika Koszalińska Wydział Elektroniki i Informatyki Katedra Inżynierii Komputerowej 4 dr inż. Robert Berezowski e-mail: beny@ie.tu.koszalin.pl Ul. Śniadeckich 2 Pokój 223A Politechnika Koszalińska Wydział Elektroniki i Informatyki Katedra Inżynierii Komputerowej 1 XPath nawigacja i wyszukiwanie

Bardziej szczegółowo

XPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Osie (axes) Location paths

XPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Osie (axes) Location paths XPath XML Path Language XPath. XSLT część 1 Problem: jednoznaczne adresowanie fragmentów struktury dokumentu XML. Rozwiązanie: abstrakcyjny drzewiasty model struktury dokumentu, normalizacja zawartości

Bardziej szczegółowo

Plan prezentacji. Krótko o XML Arkusze stylów XSLT XSL XSL Path Przegląd konstrukcji języka i przykłady Narzędzia Podsumowanie Literatura

Plan prezentacji. Krótko o XML Arkusze stylów XSLT XSL XSL Path Przegląd konstrukcji języka i przykłady Narzędzia Podsumowanie Literatura XSLT Dariusz Dudek Plan prezentacji Krótko o XML Arkusze stylów XSLT XSL XSL Path Przegląd konstrukcji języka i przykłady Narzędzia Podsumowanie Literatura Cechy XML a Rozszerzalny język znaczników Stworzony

Bardziej szczegółowo

Wprowadzenie do standardu XSL

Wprowadzenie do standardu XSL Wprowadzenie do standardu XSL Tomasz Przechlewski 2002 1 XSL 2 2 XPath 2 2.1 Wstęp................................................. 2 2.2 Ścieżki dostępu............................................ 3 2.3

Bardziej szczegółowo

Wprowadzenie do XSLT

Wprowadzenie do XSLT Tomasz Przechlewski Spis treści 1. Struktura arkusza XSLT... 1 2. Działanie arkusza XSLT... 2 3. Polecenia języka XSLT... 3 4. Zmienne... 5 5. Tworzenie dokumentu wynikowego... 5 6. Wbudowane funkcje...

Bardziej szczegółowo

Języki formatowania dokumentów strukturalnych. XSL przekształcenia XML-a. XSL a XSLT. XSL części składowe. Zasada działania przekształcenia XSLT

Języki formatowania dokumentów strukturalnych. XSL przekształcenia XML-a. XSL a XSLT. XSL części składowe. Zasada działania przekształcenia XSLT Języki formatowania dokumentów strukturalnych XSL przekształcenia XML-a SGML: FOSI (Formatting Output Specification Instance): specyfikacja MIL-PRF-28001, zbyt małe możliwości dla ogólnych zastosowań.

Bardziej szczegółowo

Kurs WWW Język XML, część II

Kurs WWW Język XML, część II Język XML, część II Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Zawartość modułu Wprowadzenie do XSL XPath XSLT XSL-FO Na podstawie kursów ze stron: http://www.w3schools.com/xpath/default.asp

Bardziej szczegółowo

Extensible Markup Language III

Extensible Markup Language III KIiMK 2010 Plan XSLT-transformacje dokumentów 1 XSLT-transformacjedokumentów Informacje o XSLT Przykład transformacji 2 3 Informacje o XSLT Przykład transformacji Informacje o XSLT Przykład transformacji

Bardziej szczegółowo

XML extensible Markup Language 3

XML extensible Markup Language 3 XML extensible Markup Language 3 XSL transformations (XSLT) XSLT (ang. extensible Stylesheet Language Transformations) jest opartym na XML językiem transformacji dokumentów XML XSLT umożliwia przetłumaczenie

Bardziej szczegółowo

Prezentacja i transformacja

Prezentacja i transformacja Prezentacja i transformacja Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 21 października 2005 roku 1 Prezentacja Przykładowa aplikacja CSS- Cascading Style Sheets CSS2aXML

Bardziej szczegółowo

LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT

LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT 1. Wstęp XML (Extensible Markup Language Rozszerzalny Język Znaczników) to język formalny przeznaczony do reprezentowania danych

Bardziej szczegółowo

Służy do wybierania/wyszukiwania fragmentów dokumentu XML. Przypomina trochę ścieżki w systemie operacyjnym. Niech będzie dany dokument XML:

Służy do wybierania/wyszukiwania fragmentów dokumentu XML. Przypomina trochę ścieżki w systemie operacyjnym. Niech będzie dany dokument XML: Podstawy XPATH Służy do wybierania/wyszukiwania fragmentów dokumentu XML. Przypomina trochę ścieżki w systemie operacyjnym. Niech będzie dany dokument XML:

Bardziej szczegółowo

c TP: anything: 13 listopada 2004 roku 1

c TP: anything: 13 listopada 2004 roku 1 SGML/XML SGML: International Standard (ISO 8879). Information Processing Text and Office Systems Standardized Generalized Markup Language. Znakowanie powinno opisywać strukturę dokumentu (...) a nie określać

Bardziej szczegółowo

Słowem wstępu. Standard: W3C XPath razem XSLT 1.0. XPath razem z XQuery 1.0 i XSLT 2.0. XPath trwają prace nad XPath 3.

Słowem wstępu. Standard: W3C XPath razem XSLT 1.0. XPath razem z XQuery 1.0 i XSLT 2.0. XPath trwają prace nad XPath 3. Słowem wstępu Standard: W3C XPath 1.0-1999 razem XSLT 1.0 XPath 2.0-2007 razem z XQuery 1.0 i XSLT 2.0 XPath 3.0-2014 trwają prace nad XPath 3.1 XPath Język deklaratywny służący wskazywaniu elementów,

Bardziej szczegółowo

Rodzaje przetwarzania XSLT (1)

Rodzaje przetwarzania XSLT (1) XSLT część 2 Rodzaje przetwarzania XSLT (1) Przetwarzanie sterowane strukturą dokumentu źródłowego (ang. push): przechodzimy po strukturze dokumentu źródłowego, generujemy fragmenty struktury dokumentu

Bardziej szczegółowo

Prezentacja i transformacja

Prezentacja i transformacja Prezentacja i transformacja Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 11 kwietnia 2010 Prezentacja i transformacja CSS2a Ważną cechą dokumentów XML jest ich łatwa prezentacja

Bardziej szczegółowo

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Przetwarzanie dokumentów XML za pomocą procesora XSLT (Zajęcia r.

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Przetwarzanie dokumentów XML za pomocą procesora XSLT (Zajęcia r. Przetwarzanie dokumentów XML i zaawansowane techniki WWW Przetwarzanie dokumentów XML za pomocą procesora XSLT (Zajęcia 06 11.04.2016 r.) Przetwarzanie dokumentów XML oznacza zwykle, wyłuskanie z nich

Bardziej szczegółowo

WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1

WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1 WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1 SGML (Standard Generalized Markup Language) Standardowy uogólniony język znaczników służący do ujednolicania struktury i formatu różnego typu informacji (danych). Twórcy

Bardziej szczegółowo

Wprowadzenie do XML. Tomasz Przechlewski

Wprowadzenie do XML. Tomasz Przechlewski Spis treści Wprowadzenie do XML Tomasz Przechlewski 1. SGML/XML.. 1 1.1. Składniki systemu.. 1 2. Dokument XML i schemat DTD. 1 2.1. Struktura dokumentu XML 1 2.2. DTD 4 2.3. Elementy. 5 2.4. Atrybuty

Bardziej szczegółowo

Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych

Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych rk Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych pojęć, prawdopodobnie zastanawiasz się, kiedy zaczniesz

Bardziej szczegółowo

Języki XPath i XQuery

Języki XPath i XQuery Języki XPath i XQuery Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Model danych XPath Drzewo dokumentu Sekwencje i atomy Język XPath Od podstaw Ścieżki

Bardziej szczegółowo

Przetwarzanie dokumentów XML za pomocą XSLT (30.03.2015 r.)

Przetwarzanie dokumentów XML za pomocą XSLT (30.03.2015 r.) Przetwarzanie dokumentów XML za pomocą XSLT (30.03.2015 r.) Przetwarzanie dokumentów XML oznacza zwykle, wyłuskanie z nich danych oraz przetwarzanie ich na inny format np HTML lub PDF. Jedną z metod przekształcania

Bardziej szczegółowo

Elektroniczna wymiana danych (EDI) jest to: - wymiana informacji pomiędzy komputerami, z użyciem powszechnie akceptowanych standardów

Elektroniczna wymiana danych (EDI) jest to: - wymiana informacji pomiędzy komputerami, z użyciem powszechnie akceptowanych standardów Elektroniczna wymiana danych (EDI) jest to: - wymiana informacji pomiędzy komputerami, z użyciem powszechnie akceptowanych standardów Znaczniki w języku XML: - mogą zostać zdefiniowane przez użytkownika

Bardziej szczegółowo

Aplikacje internetowe laboratorium XML, DTD, XSL

Aplikacje internetowe laboratorium XML, DTD, XSL Aplikacje internetowe laboratorium XML, DTD, XSL Celem ćwiczenia jest stworzenie dokumentu XML, wyposażenie dokumentu w specyfikację struktury (przy użyciu DTD), oraz transformacja dokumentu XML do postaci

Bardziej szczegółowo

29. Poprawność składniowa i strukturalna dokumentu XML

29. Poprawność składniowa i strukturalna dokumentu XML 29. i strukturalna dokumentu XML 13 października 2015 1 2 Poprawny składniowo dokument XML powinien być tworzony zgodnie z poniżej przedstawionymi zasadami. Deklaracja XML Powinien zawierać deklarację

Bardziej szczegółowo

XQuery. sobota, 17 grudnia 11

XQuery. sobota, 17 grudnia 11 XQuery XQuery XQuery pozwala na wydobywanie danych z dokumentów XML w sposób podobny do tego w jaki używany jest SQL do tabel w bazach danych. XQuery to język do wykonywania zapytań na dokumentach XML.

Bardziej szczegółowo

Języki XPath i XQuery

Języki XPath i XQuery Języki XPath i XQuery Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarządzania treścią 2008/09 XPath i XQuery Języki zapytań nad dokumentami XML wygodny wybór określonych węzłów

Bardziej szczegółowo

XSL, tj. XSLT i XSL-FO czyli jak przekształcać i ładnie wyświetlać XML-e. Kuba Pochrybniak

XSL, tj. XSLT i XSL-FO czyli jak przekształcać i ładnie wyświetlać XML-e. Kuba Pochrybniak XSL, tj. XSLT i XSL-FO czyli jak przekształcać i ładnie wyświetlać XML-e Kuba Pochrybniak 1. XML PDF Jak? Jak? L A TEX Jak? L A TEX XSL-FO Jak? L A TEX XSL-FO rzeźbienie ręczne (np. w php) Jak? L A TEX

Bardziej szczegółowo

Przykładowy dokument XML

Przykładowy dokument XML Język XML XML (extensible Markup Language, czyli rozszerzalny język znaczników) to specyfikacja dotycząca przechowywania informacji. Jest to również specyfikacja opisujaca strukturę tych informacji. XML

Bardziej szczegółowo

XML extensible Markup Language. część 8

XML extensible Markup Language. część 8 XML extensible Markup Language część 8 XSL transformations (XSLT) XSLT (ang. extensible Stylesheet Language Transformations) jest opartym na XML językiem transformacji dokumentów XML XSLT umożliwia przetłumaczenie

Bardziej szczegółowo

Języki XPath i XQuery

Języki XPath i XQuery Języki XPath i XQuery Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2008/09 Patryk Czarnik 07 XPath XML 2008/09 1 / 1 XPath i XQuery Wprowadzenie Status Języki

Bardziej szczegółowo

XQuery. XQuery. Przykład. dokument XML. XQuery (XML Query Language) XQuery 1.0: An XML Query Language. W3C Recommendation http://www.w3.

XQuery. XQuery. Przykład. dokument XML. XQuery (XML Query Language) XQuery 1.0: An XML Query Language. W3C Recommendation http://www.w3. XQuery XQuery XQuery (XML Query Language) XQuery 1.0: An XML Query Language. W3C Recommendation http://www.w3.org/tr/xquery/ Język programowania funkcyjnego (podobnie jak Lisp) Język zapytań do danych

Bardziej szczegółowo

XML materiały dydaktyczne - Kurs Podstawowy XSL - wprowadzenie. XSL warstwa przekształcania (XSLT) oraz prezentacji informacji (XSL FO).

XML materiały dydaktyczne - Kurs Podstawowy XSL - wprowadzenie. XSL warstwa przekształcania (XSLT) oraz prezentacji informacji (XSL FO). XSL (XSLT) Transformacja dokumentów XML. XML warstwa przechowująca informacje XSL warstwa przekształcania (XSLT) oraz prezentacji informacji (XSL FO). Transformacja XSLT utworzenie nowego dokumentu wynikowego

Bardziej szczegółowo

XML extensible Markup Language. Paweł Chodkiewicz

XML extensible Markup Language. Paweł Chodkiewicz XML extensible Markup Language Paweł Chodkiewicz XML - extensible Markup Language Uniwersalny język znaczników przeznaczony do reprezentowania różnych danych w strukturalizowany sposób. Historia GML Projekt

Bardziej szczegółowo

Systemy operacyjne. Laboratorium 9. Perl wyrażenia regularne. Jarosław Rudy Politechnika Wrocławska 28 lutego 2017

Systemy operacyjne. Laboratorium 9. Perl wyrażenia regularne. Jarosław Rudy Politechnika Wrocławska 28 lutego 2017 Systemy operacyjne Laboratorium 9 Perl wyrażenia regularne Jarosław Rudy Politechnika Wrocławska 28 lutego 2017 Temat obejmuje wykorzystanie wyrażeń regularnych w perlu. Wyrażenia same w sobie są w zasadzie

Bardziej szczegółowo

Wprowadzenie do technologii XML

Wprowadzenie do technologii XML Katedra Mikroelektroniki i Technik Informatycznych Łódź, 6 października 2005 roku 1 Informacje organizacyjne Omówienie przedmiotu 2 vs HTML Struktura 3 Struktura Informacje o przedmiocie Informacje organizacyjne

Bardziej szczegółowo

Języki i Techniki Programowania II. Wykład 13. TRaX, Applety, Java Security

Języki i Techniki Programowania II. Wykład 13. TRaX, Applety, Java Security Języki i Techniki Programowania II Wykład 13 TRaX, Applety, Java Security XPath javax.xml.xpath XPathFactory factory = XPathFactory.newInstance() (DEFAULT_OBJECT_MODEL_URI) XPath xp = factory.newxpath()

Bardziej szczegółowo

Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki

Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki Instytut Informatyki Literatura http://www.w3c.org/tr/ - Technical Reports K. B. Stall - XML Family of Specifications, Addison-Wesley 2003 P. Kazienko, K. Gwiazda - XML na poważnie, Helion 2002 XML Rozszerzalny

Bardziej szczegółowo

PROGRAMOWANIE. WNPiD UAM, Programowanie, inż. Piotr Jabłoński

PROGRAMOWANIE. WNPiD UAM, Programowanie, inż. Piotr Jabłoński PROGRAMOWANIE HTML W składni języka HTML wykorzystuje się charakterystyczne znaczniki. Każdy z nich zaczyna się i kończy ostrokątnym nawiasem a pomiędzy nimi znajduje się wyrażenie html. Rozróżniamy znaczniki

Bardziej szczegółowo

Prezentacja dokumentów XML

Prezentacja dokumentów XML Prezentacja dokumentów XML Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2011/12 Patryk Czarnik 06 Prezentacja XML 2011/12 1 / 64 1 Arkusze stylu Rozdzielenie

Bardziej szczegółowo

2 Podstawy tworzenia stron internetowych

2 Podstawy tworzenia stron internetowych 2 Podstawy tworzenia stron internetowych 2.1. HTML5 i struktura dokumentu Podstawą działania wszystkich stron internetowych jest język HTML (Hypertext Markup Language) hipertekstowy język znaczników. Dokument

Bardziej szczegółowo

Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym

Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym S t r o n a 1 Bożena Ignatowska Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym Wprowadzenie W artykule zostaną omówione zagadnienia związane z wykorzystaniem funkcji tekstowych w arkuszu

Bardziej szczegółowo

XML extensible Markup Language. część 6

XML extensible Markup Language. część 6 XML extensible Markup Language część 6 XSL transformations (XSLT) XSLT (ang. extensible Stylesheet Language Transformations) jest opartym na XML językiem transformacji dokumentów XML XSLT umożliwia przetłumaczenie

Bardziej szczegółowo

Podstawowe konstrukcje Podstawowymi konstrukcjami są wzorce element oraz attribute:

Podstawowe konstrukcje Podstawowymi konstrukcjami są wzorce element oraz attribute: Standard Relax NG Schemat strukturalizacji dokumentów Relax NG (relaxing). Opracowany głównie przez Jamesa Clarka i Makoto Muratę. Standard ISO: Information technology Document Schema Definition Language

Bardziej szczegółowo

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 04

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 04 Plan Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 04 T. Romańczukiewicz Jagiellonian University 2009/2010 Plan Plan 1 XSLT Plan 1 XSLT Wstęp Przykłady Instrukcje sterujace Elementy i

Bardziej szczegółowo

SQL (ang. Structured Query Language)

SQL (ang. Structured Query Language) SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze

Bardziej szczegółowo

5.14 JSP - Przykład z obiektami sesji... 83 5.15 Podsumowanie... 84 5.16 Słownik... 85 5.17 Zadanie... 86

5.14 JSP - Przykład z obiektami sesji... 83 5.15 Podsumowanie... 84 5.16 Słownik... 85 5.17 Zadanie... 86 Spis treści 1 Wprowadzenie - architektura, protokoły, system WWW... 1 1.1 Wstęp.................................................. 1 1.2 Ważniejsze daty......................................... 2 1.3 Protokoły

Bardziej szczegółowo

XPath XML Path Language. XSL Extensible Stylesheet Language. Wyrażenia XPath. XPath data model. Location paths. Osie (axes)

XPath XML Path Language. XSL Extensible Stylesheet Language. Wyrażenia XPath. XPath data model. Location paths. Osie (axes) XPath XML Path Language 6 listopada 2003 XSL Extensible Stylesheet Language Problem: jednoznaczne adresowanie fragmentów struktury dokumentu XML. Rozwiązanie: drzewiasty model struktury dokumentu, normalizacja

Bardziej szczegółowo

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 03

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 03 Plan Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 03 T. Romańczukiewicz Jagiellonian University 2009/2010 Plan Plan 1 XPath 2 XQuery 3 Podsumowanie Plan XPath XQuery Podsumowanie Wstęp

Bardziej szczegółowo

Podstawy JavaScript ćwiczenia

Podstawy JavaScript ćwiczenia Podstawy JavaScript ćwiczenia Kontekst:

Bardziej szczegółowo

Struktury danych: stos, kolejka, lista, drzewo

Struktury danych: stos, kolejka, lista, drzewo Struktury danych: stos, kolejka, lista, drzewo Wykład: dane w strukturze, funkcje i rodzaje struktur, LIFO, last in first out, kolejka FIFO, first in first out, push, pop, size, empty, głowa, ogon, implementacja

Bardziej szczegółowo

Przegląd podstawowych funkcji Excel.

Przegląd podstawowych funkcji Excel. Przegląd podstawowych funkcji Excel. Spis treści I. Funkcje tekstu oraz pomocnicze... 1 1. FRAGMENT.TEKSTU(tekst;liczba_początkowa;liczba_znaków... 1 2. LEWY(tekst;liczba_znaków)... 2 3. Prawy (tekst;liczba_znaków)...

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Wysokość drzewa Głębokość węzła

Wysokość drzewa Głębokość węzła Drzewa Drzewa Drzewo (ang. tree) zbiór węzłów powiązanych wskaźnikami, spójny i bez cykli. Drzewo posiada wyróżniony węzeł początkowy nazywany korzeniem (ang. root). Drzewo ukorzenione jest strukturą hierarchiczną.

Bardziej szczegółowo

1.Formatowanie tekstu z użyciem stylów

1.Formatowanie tekstu z użyciem stylów 1.Formatowanie tekstu z użyciem stylów Co to jest styl? Styl jest ciągiem znaków formatujących, które mogą być stosowane do tekstu w dokumencie w celu szybkiej zmiany jego wyglądu. Stosując styl, stosuje

Bardziej szczegółowo

XSLT. Patryk Czarnik. Instytut Informatyki UW. XML i nowoczesne technologie zarzadzania treścia 2007/08

XSLT. Patryk Czarnik. Instytut Informatyki UW. XML i nowoczesne technologie zarzadzania treścia 2007/08 XSLT Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Patryk Czarnik (MIMUW) 08 XSLT XML 2007/08 1 / 35 Plan 1 XSLT Budowa arkusza Wywoływanie szablonów Instrukcje

Bardziej szczegółowo

Facelets ViewHandler

Facelets ViewHandler JSF i Facelets Wprowadzenie JSP (JavaServer Pages) są natywną i najczęściej używaną technologią do tworzenia warstwy prezentacyjnej dla JSF (JavaServer Faces) Istnieją alternatywne technologie opisu wyglądu

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript

Bardziej szczegółowo

XML extensible Markup Language. część 3

XML extensible Markup Language. część 3 XML extensible Markup Language część 3 CSS Kaskadowe arkusze stylów CSS Kaskadowe arkusze stylów CSS to skrót od Cascading Style Sheets Style pozwalają definiować sposób wyświetlania elementów dokumentu

Bardziej szczegółowo

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości

Bardziej szczegółowo

Tworzenie nowych pytań materiał dla osób prowadzących kursy

Tworzenie nowych pytań materiał dla osób prowadzących kursy Projekt językowy Tworzenie nowych pytań materiał dla osób prowadzących kursy Materiał opracowany na podstawie pomocy do systemu Moodle Zygmunt Sumiec Zespół Szkół Ogólnokształcących nr 1 w Mielcu Importowanie

Bardziej szczegółowo

Język SQL. Rozdział 2. Proste zapytania

Język SQL. Rozdział 2. Proste zapytania Język SQL. Rozdział 2. Proste zapytania Polecenie SELECT, klauzula WHERE, operatory SQL, klauzula ORDER BY. 1 Wprowadzenie do języka SQL Język dostępu do bazy danych. Język deklaratywny, zorientowany na

Bardziej szczegółowo

λ parametry. wartość funkcji suma = λ x y. x + y kwadrat = λ x. x * x K.M. Ocetkiewicz, 2008 WETI, PG 2 K.M. Ocetkiewicz, 2008 WETI, PG 3

λ parametry. wartość funkcji suma = λ x y. x + y kwadrat = λ x. x * x K.M. Ocetkiewicz, 2008 WETI, PG 2 K.M. Ocetkiewicz, 2008 WETI, PG 3 Organizacja przedmiotu Języki programowania (Programming language concepts) Krzysztof M. Ocetkiewicz pok. 205 email: Krzysztof.Ocetkiewicz@eti.pg.gda.pl konsultacje: czwartek 10:15-11.00, 13:15-14:00 projekt:

Bardziej szczegółowo

Przykładowy dokument XML

Przykładowy dokument XML Przykładowy dokument XML DTD - wady Ograniczona kontrola nad strukturą dokumentów. Zbyt wysokopoziomowe typy danych: liczby, daty są zawsze reprezentowane jako tekst! Bardzo ogólne metody definiowania

Bardziej szczegółowo

Format HTML. Wybrane działy Informatyki Stosowanej. Definicja i przeznaczenie Struktura dokumentu Znaczniki Formularze i komponenty

Format HTML. Wybrane działy Informatyki Stosowanej. Definicja i przeznaczenie Struktura dokumentu Znaczniki Formularze i komponenty Wybrane działy Informatyki Stosowanej Format HTML Definicja i przeznaczenie Struktura dokumentu Znaczniki Formularze i komponenty dr hab. inż. Andrzej Czerepicki 2019 Definicja HTML HyperText Markup Language

Bardziej szczegółowo

Przedmiot: Grafika komputerowa i projektowanie stron WWW

Przedmiot: Grafika komputerowa i projektowanie stron WWW KARKONOSKA PAŃSTWOWA SZKOŁA WYŻSZA Kierunek: Dziennikarstwo i komunikacja społeczna Przedmiot: Grafika komputerowa i projektowanie stron WWW 1 opracował: dr inż. Jerzy Januszewicz HTML (HyperText Markup

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy

Bardziej szczegółowo

XML i nowoczesne technologie zarządzania treścią 2007/08

XML i nowoczesne technologie zarządzania treścią 2007/08 Zadanie 3 Poprawkowe XML i nowoczesne technologie zarządzania treścią 2007/08 Wprowadzenie Należy napisać program w Javie, który czytając w trybie SAX plik z listą operacji, wykonuje zadane operacje na

Bardziej szczegółowo

XSLT. Patryk Czarnik. XML i nowoczesne technologie zarzadzania treścia 2007/08

XSLT. Patryk Czarnik. XML i nowoczesne technologie zarzadzania treścia 2007/08 XSLT Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 XSLT Budowa arkusza Wywoływanie szablonów Instrukcje sterujace Tworzenie wyniku Zmienne i parametry

Bardziej szczegółowo

Kaskadowe arkusze stylów (CSS)

Kaskadowe arkusze stylów (CSS) Kaskadowe arkusze stylów (CSS) CSS (Cascading Style Sheets) jest to język opisujący sposób, w jaki przeglądarki mają wyświetlać zawartość odpowiednich elementów HTML. Kaskadowe arkusze stylów służą do

Bardziej szczegółowo

System imed24 Instrukcja Moduł Analizy i raporty

System imed24 Instrukcja Moduł Analizy i raporty System imed24 Instrukcja Moduł Analizy i raporty Instrukcja obowiązująca do wersji 1.8.0 Spis treści 1. Moduł Analizy i Raporty... 3 1.1. Okno główne modułu Analizy i raporty... 3 1.1.1. Lista szablonów

Bardziej szczegółowo

Przykładowy dokument XML

Przykładowy dokument XML Język XML XML (extensible Markup Language, czyli rozszerzalny język znaczników) to specyfikacja dotycząca przechowywania informacji. Jest to również specyfikacja opisujaca strukturę tych informacji. XML

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

Przetwarzanie tekstu 2. Operacje na plikach tekstowych w systemie Linux

Przetwarzanie tekstu 2. Operacje na plikach tekstowych w systemie Linux Przetwarzanie tekstu 2 Operacje na plikach tekstowych w systemie Linux filtry programy przetwarzajace pliki (w szczególności tekstowe) w taki sposób, że odczytuja dane (plik wejściowy) ze standardowego

Bardziej szczegółowo

Autor: dr inż. Katarzyna Rudnik

Autor: dr inż. Katarzyna Rudnik Bazy danych Wykład 2 MS Access Obiekty programu, Reprezentacja danych w tabeli, Indeksy, Relacje i ich sprzężenia Autor: dr inż. Katarzyna Rudnik Obiekty programu MS ACCESS Obiekty typu Tabela są podstawowe

Bardziej szczegółowo

Oczywiście plik musi mieć rozszerzenie *.php

Oczywiście plik musi mieć rozszerzenie *.php Oczywiście plik musi mieć rozszerzenie *.php Znaczniki PHP komunikują serwerowi gdzie rozpoczyna się i kończy kod PHP. Tekst między nimi jest interpretowany jako kod PHP, natomiast poza nimi jako kod HTML.

Bardziej szczegółowo

DTD - encje ogólne i parametryczne, przestrzenie nazw

DTD - encje ogólne i parametryczne, przestrzenie nazw DTD - encje ogólne i parametryczne, przestrzenie nazw Instytut Informatyki Encje Encja (ang.entity) - uogólnienie pojęcia makrodefinicji Encje to dogodny sposób reprezentacji danych które występują wielokrotnie,

Bardziej szczegółowo

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix Wydział Zarządzania i Modelowania Komputerowego Specjalność: Informatyka Stosowana Rok III Semestr V 1. Logowanie w systemie Unix. Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu

Bardziej szczegółowo

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

Systemy operacyjne. Laboratorium 8. Perl find

Systemy operacyjne. Laboratorium 8. Perl find Systemy operacyjne Laboratorium 8 Perl find Temat obejmuje przeszukiwanie drzew katalogowych z użyciem perla oraz podstawowe zdolności w używaniu referencji, tablic asocjacyjnych i mechanizmów typu stat.

Bardziej szczegółowo

Metody Kompilacji Wykład 3

Metody Kompilacji Wykład 3 Metody Kompilacji Wykład 3 odbywa się poprzez dołączenie zasad(reguł) lub fragmentów kodu do produkcji w gramatyce. Włodzimierz Bielecki WI ZUT 2 Na przykład, dla produkcji expr -> expr 1 + term możemy

Bardziej szczegółowo

Załącznik nr 2 do Umowy Nr. o korzystanie z usługi Identyfikacji Przychodzących Płatności Masowych z dnia.

Załącznik nr 2 do Umowy Nr. o korzystanie z usługi Identyfikacji Przychodzących Płatności Masowych z dnia. Załącznik nr 2 do Umowy Nr. o korzystanie z usługi Identyfikacji Przychodzących Płatności Masowych z dnia. Informacja o strukturze pliku, przekazywanego przez Bank dla Klienta za pośrednictwem systemu

Bardziej szczegółowo

Projekty zaliczeniowe Podstawy Programowania 2012/2013

Projekty zaliczeniowe Podstawy Programowania 2012/2013 Projekty zaliczeniowe Podstawy Programowania 2012/2013 0. Zasady ogólne W skład projektu wchodzą następujące elementy: dokładny opis rozwiązywanego problemu opis słowny rozwiązania problemu wraz z pseudokodami

Bardziej szczegółowo

Model semistrukturalny

Model semistrukturalny Model semistrukturalny standaryzacja danych z różnych źródeł realizacja złożonej struktury zależności, wielokrotne zagnieżdżania zobrazowane przez grafy skierowane model samoopisujący się wielkości i typy

Bardziej szczegółowo

liniowa - elementy następują jeden za drugim. Graficznie możemy przedstawić to tak:

liniowa - elementy następują jeden za drugim. Graficznie możemy przedstawić to tak: Sortowanie stogowe Drzewo binarne Binary Tree Dotychczas operowaliśmy na prostych strukturach danych, takich jak tablice. W tablicy elementy ułożone są zgodnie z ich numeracją, czyli indeksami. Jeśli za

Bardziej szczegółowo

XML DTD XML Schema CSS

XML DTD XML Schema CSS XML XML czyli Extensible Markup Language (rozszerzalny język znaczników) można traktować jak stosunkowo prosty i elastyczny format tekstowy wywodzący się z SGML. Pierwotnie został zaprojektowany aby umożliwiać

Bardziej szczegółowo

Drzewa DOM. Maciej Zakrzewicz. mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/

Drzewa DOM. Maciej Zakrzewicz. mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Drzewa DOM Maciej Zakrzewicz mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Document Object Model (DOM) Document Object Model jest standardem modelowania dokumentów XML przy użyciu struktury

Bardziej szczegółowo

10. Translacja sterowana składnią i YACC

10. Translacja sterowana składnią i YACC 10. Translacja sterowana składnią i YACC 10.1 Charakterystyka problemu translacja sterowana składnią jest metodą generacji przetworników tekstu języków, których składnię opisano za pomocą gramatyki (bezkontekstowej)

Bardziej szczegółowo

FUNKCJE TEKSTOWE W MS EXCEL

FUNKCJE TEKSTOWE W MS EXCEL FUNKCJE TEKSTOWE W MS EXCEL ASC W językach korzystających z dwubajtowego zestawu znaków (DBCS) zmienia znaki o pełnej szerokości (dwubajtowe) na znaki o połówkowej szerokości (jednobajtowe). : ASC(tekst)

Bardziej szczegółowo

Typy danych. 2. Dane liczbowe 2.1. Liczby całkowite ze znakiem i bez znaku: 32768, -165, ; 2.2. Liczby rzeczywiste stało i zmienno pozycyjne:

Typy danych. 2. Dane liczbowe 2.1. Liczby całkowite ze znakiem i bez znaku: 32768, -165, ; 2.2. Liczby rzeczywiste stało i zmienno pozycyjne: Strona 1 z 17 Typy danych 1. Dane tekstowe rozmaite słowa zapisane w różnych alfabetach: Rozwój metod badawczych pozwala na przesunięcie granicy poznawania otaczającego coraz dalej w głąb materii: 2. Dane

Bardziej szczegółowo

Projekt 4: Programowanie w logice

Projekt 4: Programowanie w logice Języki Programowania Projekt 4: Programowanie w logice Środowisko ECL i PS e W projekcie wykorzystane będzie środowisko ECL i PS e. Dostępne jest ono pod adresem http://eclipseclp.org/. Po zainstalowaniu

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy) Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje

Bardziej szczegółowo

Ćwiczenia Skopiować do swojego folderu plik cwiczenia-kl.ii.xls, a następnie zmienić jego nazwę na imię i nazwisko ucznia

Ćwiczenia Skopiować do swojego folderu plik cwiczenia-kl.ii.xls, a następnie zmienić jego nazwę na imię i nazwisko ucznia Temat 23 : Poznajemy podstawy pracy w programie Excel. 1. Arkusz kalkulacyjny to: program przeznaczony do wykonywania różnego rodzaju obliczeń oraz prezentowania i analizowania ich wyników, utworzony (w

Bardziej szczegółowo

XSLT. Patryk Czarnik. XML i nowoczesne technologie zarządzania treścią 2008/09. Instytut Informatyki UW

XSLT. Patryk Czarnik. XML i nowoczesne technologie zarządzania treścią 2008/09. Instytut Informatyki UW XSLT Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarządzania treścią 2008/09 XSLT status Wersja 1.0 listopad 1999 powiązane z XPath 1.0 Wersja 2.0 styczeń 2007 powiązane z XPath

Bardziej szczegółowo