XML & XSLT. Programowanie w Javie 2

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

Download "XML & XSLT. Programowanie w Javie 2"

Transkrypt

1 XML & XSLT Programowanie w Javie 2

2 Co to jest XML (1) Rozszerzalny język znaczników, XML = extensible Markup Language Język reguł kodowania drzewiastych struktur danych Opisuje rodziny dokumentów odpowiadających klasie obiektów Przykłady: <?xml version= 1.0 encoding= UTF-8?> <transakcja> <rachunek>99-350</rachunek> <zakup akcji= 100 > <firma rynek= WG >Exbud</firma> </zakup> <sprzedaż akcji= 200 > <firma rynek= NT >Optimus</firma> </sprzedaż> </transakcja>

3 Co to jest XML (2) <?xml version= 1.0?> <ROWSET> <ROW num= 1 > <FIRMA>Exbud</FIRMA> <OBRÓT> </OBRÓT> </ROW> <ROW num= 2 > <FIRMA>Optimus</FIRMA> <OBRÓT>90000</OBRÓT> </ROW> </ROWSET>

4 Co to jest XML (3) <?xml version= 1.0?> <raport-po-wypadkowy> Ubezpieczony w <firma-ubezpieczeniowa>pzu</firmaubezpieczeniowa> pojazd marki <marka>warszawa</marka> wpadł na przydrożne drzewo. Ustalone przyczyny wypadku to <przyczyny>nadmierna prędkość, nietrzeźwy kierowca, niesprawne hamulce.</przyczyny> Zadziwiające jest to, że <ofiary>nie było rannych i zabitych</ofiary> </raport-po-wypadkowy>

5 Co to jest XML (4) Specyfikacja XML 1.0 jest rekomendacją W3C (World Wide Web Consortium) z lutego 1998 Specyfikacja XML opisuje składnię dokumentów XML, tj. określa co to znaczy, że dokument jest dobrze sformowany (well formed) Poprawność formy dotyczy głównie zgodności z drzewowym modelem danych Specyfikacja XML zawiera też składnię opisu typów DTD Data Type Definition Tekst DTD określa rodzinę dokumentów danego typu (podaje dopuszczalne nazwy elementów, sposób ich zagnieżdżania, krotność występowania, itp.) Analizator składni (parser) sprawdza czy dokument jest dobrze sformowany i opcjonalnie poprawny (valid) według wymagań zawartych we wskazanym DTD Poprawność typu dotyczy zgodności z definicją typu danych opisanych w DTD

6 Co można robić z dokumentami XML Edytować w dowolnych edytorach tekstu Edytować w edytorach XML, które sprawdzają poprawność formy i typu Przesyłać i odbierać w sieci za pośrednictwem standardowych protokołów (np. FTP, SMTP, HTTP). W protokole HTTP: dokument HTML ma zawartość typu text/html obrazek w formacie GIF ma zawartość typu image/gif dokument XML ma zawartość typu text/xml Generować po stronie serwera Używać elementy określone przez obce DTD Budować w programach strukturę drzewa dokumentu XML (infoset) Manipulować zawartością na strukturze drzewa dokumentu za pośrednictwem modelu DOM (Document Object Model) Zapytywać o specyficzne elementy za pośrednictwem wyrażeń języka XPath Transformować na inne dokumenty XML za pomocą języka XSLT (the XML Stylesheet Language for Transformations)

7 Dlaczego warto stosować technologię XML XML umożliwia tworzenie sieci usług informacyjnych: oddzielenie formy od treści ułatwia wymianę danych standardy e-commerce, e-learning XML upraszcza integrowanie aplikacji: firmy posiadają heterogenne platformy obliczeniowe (sprzęt, systemy operacyjne, bazy danych) XML służy do przenoszenia danych między różnymi systemami typowy scenariusz: aplikacja SAP pobiera dane ze swojej bazy, konwertuje na XML i wysyła do serwera aplikacji w korporacji X; serwer aplikacji stosując odpowiedni arkusz styli XSL dokonuje transformacji XSLT i przesyła dokument XML do serwera bazy Oracle XML upraszcza publikowanie informacji w sieci: obiekty z informacją źródłową (z baz danych, z sieci) mogą być formowane w postać stron danych XML (XML data page) strony danych XML można transformować (XSLT) na postać wymaganą przez odbiorcę (HTML Hypertext Markup Language, WML Wireless Markup Language, SVG Scalable Vector

8 Tworzenie i walidacja dokumentu XML (1) 10 zasad 1. Rozpoczynaj nowy dokument XML deklaracją XML: <?xml version=1.0?> 2. Definiuj tylko jeden element najwyższego poziomu 3. Twórz właściwe znaczniki otwierające i zamykające dla nowych elementów (z dokładnością do wielkości znaków): <NazwaElementu>...</NazwaElementu> 4. Dodawaj komentarze <!-- komentarz -->; nigdy w ramach zawartości atrybutu lub znacznika 5. Nazwy elementów i własności zaczynaj od litery 6. Wstawiaj własność elementu w jego znacznik otwierający <NazwaElementu atrybut= wartość atrybutu >...</NazwaElementu> 7. Wartości własności otaczaj zawsze parą cudzysłowów lub parą apostrofów 8. Wartości atrybutów mogą zawierać wyłącznie zwykły tekst (nie może to być tekst parsowalny, ze znacznikami czy pod-atrybutami) 9. W tekście elementu pisz zawsze < zamiast znaku (<), > zamiast (>), & zamiast (&), zaś w tekście atrybutu używaj " zamiast ( ) i &apos; zamiast ( ) 10. Puste elementy zapisuj w postaci

9 Tworzenie i walidacja dokumentu XML (2) Narzędzia weryfikacji formy i typu dokumentu XML: środowiska pracy programisty (np. JDeveloper), programy wywoływane z linii polecenia okna systemowego (np. oraxml), przeglądarki Internetowe (np. IE5 Internet Explorer wersja 5 i następne) Walidacja dokumentu XML: Przykład: Dokument składa się z listy (FAQ-List) często zadawanych pytań FAQ. Element FAQ składa się z listy par pytanie-odpowiedź, tj. Question-Answer, a także ma dwie własności: pytającego (Submitter) oraz stwierdzony poziom trudności zadanego pytania (Level). Treść pytania i odpowiedzi ma typ tekstowy z możliwością wstawiania całostek zastępczych, np. < Typ takiego dokumentu można opisać w pliku FAQ-List.dtd: <!ELEMENT FAQ-List (FAQ+)> <!ELEMENT FAQ (Question, Answer)+> <!ATTLIST FAQ Submitter CDATA #IMPLIED Level (Beginner Intermediate Advanced) Intermediate > <!ELEMENT Question (#PCDATA )>

10 Tworzenie i walidacja dokumentu XML (3) Dokument XML by przejść walidację musi zawierać deklarację typu: <!DOCTYPE Nazwa-Typu SYSTEM Nazwa-Pliku-DTD > Przykład dokumentu zgodnego z powyższym DTD: <?xml version= 1.0?> <!DOCTYPE FAQ-List SYSTEM FAQ-List.dtd > <FAQ-List> <FAQ Submitter=sw@elka.pw.edu.pl> <Question>Kiedy przeglądarka IE będzie w pełni wspierać XML+XSLT?</Question> <Answer>Nie wiem. Bill Gates wie.</answer> <FAQ Submitter=ws@elka.pw.edu.pl Level= Advanced > <Question>Kiedy te materiały będą wystawione w Internecie?</Question> <Answer>Wkrótce.</Answer> </FAQ> </FAQ-List>

11 Modularyzacja dokumentu XML (1) Włączanie ustalonego tekstu <!ENTITY LSM Learning Management System > <!ENTITY wer ver 1.0 > Przykład dokumentu zgodnego z powyższym DTD: <?xml version= 1.0?> <!DOCTYPE FAQ-List SYSTEM FAQ-List.dtd [ <! lokalne definicje --> <!ENTITY LSM Learning Management System > <!ENTITY wersja 1.0 > ]> <FAQ-List> <FAQ Submitter=ws@elka.pw.edu.pl> <Question>Dlaczego &LMS; &wer; nie zawiera lekcji na żywo</question> <Answer>Bo &LMS; &wer; ma szeroki zasięg.</answer> </FAQ>

12 Modularyzacja dokumentu XML (2) Włączanie zawartości pliku <!ENTITY faq1999 SYSTEM faq-list-1999.xml > <!ENTITY faqweb SYSTEM > Przykład <?xml version= 1.0?> <!DOCTYPE FAQ-List SYSTEM FAQ-List.dtd [ <!ENTITY faq1999 SYSTEM faq-list-1999.xml > <!ENTITY faqweb SYSTEM > ]> <FAQ-List> &faq1999; &faqweb; </FAQ-List>

13 Modularyzacja dokumentu XML (3) Włączanie obcych elementów z innych dokumentów Zbiór nazw (przestrzeń nazw namespace) danego dokumentu XML lub danego elementu X to zbiór wszystkich nazw elementów zawartych w drzewie elementu X oraz nazw ich własności Zbiór nazw identyfikujemy przez globalnie unikatowy identyfikator URI Uniform Resource Identifier Unikatowy identyfikator budujemy przez połączenie URL (Uniform Resource Locator) dla danej domeny adresowej rozszerzony o unikatowy identyfikator w ramach tej domeny Skrót URI definiujemy w znaczniku otwierającym włączany obcy element, np. skrót nms: <obcy xmlns:nms=" > Skrót poprzedza każdą nazwę elementu i atrybutu wziętą z obcego zbioru nazw W elemencie można użyć nazw z kilku zbiorów nazw wtedy każdy zbiór nazw ma swój skrót Gdy element składa się wyłącznie z obcych elementów z kilku zbioru nazw, to jeden z tych zbiorów może mieć pusty skrót, którego

14 Modularyzacja dokumentu XML (4) Przykład użycia zbioru nazw w arkuszu styli <xsl:stylesheet version= 1.0 xmlns:xsl= > <xsl:output indent= yes /> <xsl:template match= / > <Oscar> <xsl:for-each select= /MovieList/Movie[Award/@From= Oscar ] > <Winner Category="{Award/@Category} > <xsl:value /> </Winner> </xsl:for-each> </Oscar> </xsl:template> </xsl:stylesheet>

15 Wyszukiwanie elementów w języku XPath (1) Wyrażenia języka XPath używane są jako wartość atrybutu select w elementach arkuszy styli XSL XPath działa na drzewie dokumentu określając warunki logiczne filtrujące elementy występujące na ścieżce prowadzącej od korzenia do liścia Elementy z poziomu pierwszego /* Element o nazwie nnn z poziomu pierwszego /nnn Element(y) o nazwie nnn będące bezpośrednim potomkiem elementu mmm mmm/nnn Pełne drzewo /Nazwa-elementu głównego Dowolny element(y) o nazwie nnn //nnn Element bieżący. Element ojcowski.. Element(y) o nazwie nnn znajdujące się w poddrzewie względem bieżącego elementu.//nnn Własność o nazwie Element(y) o nazwie nnn spełniający(e) warunek W //nnn[w]

16 Wyszukiwanie elementów w języku XPath (2) <MovieList> <Movie Title= American Beauty RunningTime= 121 > <Cast> <Actor Role= Lester Burnham > <Name>Spacey</Name> <Award From= Oscar Category= Best Actor /> </Actor> <Actress Role= Carolyn Burnham > <Name>Bening</Name> <Award From= BAFTA Category= Best Actress /> </Actress> </Cast> <Award From= Oscar Category= Best Film /> <Award From= BAFTA Category= Best Film /> </Movie> <Movie Title= Wiedźmin RunningTime= 125 > <Cast> <Actor Role= Wiedźmin > <Name>Żebrowski</Name> </Actor> <Actress Rola= Queen > <Name>Wiśniewska</Name> </Actress> <Actor Role= Poet > <Name>Zamachowski</Name> <Award From= Jury Category= Best Singer /> </Actor> </Cast> </Movie> </MovieList>

17 Wyszukiwanie elementów w języku XPath (3) Wszystkie podelementy elementów o nazwie Actor: Zapytanie: /MovieList/Movie/Cast/Actor/* lub równoważnie: //Actor/* Wynik: <Name>Spacey</Name> <Award From= Oscar Category= Best Actor /> <Name>Żebrowski</Name> <Name>Zamachowski</Name> <Award From= Jury Category= Best Tale /> Wszystkie role kobiece: Zapytanie: //Actress/@Role Wynik: Role= Carolyn Burnham Role= Queen

18 Wyszukiwanie elementów w języku XPath (4) Czas trwania filmów z udziałem Wśniewskiej: Zapytanie: /MovieList/Movie[Cast/Actress/Name= Wiśniewska Wynik: RunningTime= 125 Obsada w filmach z udziałem Zamachowskiego, których czas trwania jest dłuższy niż 100 minut: Zapytanie: //Movie[Cast/Actor/Name= Zamachowski Wynik: <Name>Żebrowski</Name> <Name>Wiśniewska </Name> <Name>Zamachowski </Name> Aktorzy nagrodzeni Oskarem w filmach, które również dostały Oskara: Zapytanie: //Movie[Award/@Category= Best Film ]// Actor[Award/@Category= Best Actor ]/Name/text()

19 Wyszukiwanie elementów w języku XPath (5) Tytuły filmów, które otrzymały co najmniej dwie nagrody Zapytanie: //Movie[count(.//Award)>1]/@Title/text() Wynik: American Beauty Tytuły filmów, w których wystąpił aktor lub aktorka o nazwisku rozpoczynającym się na Ż Zapytanie: //Movie[.//Name[starts-with(., Ż )]]/@Title/text() Wynik: Wiedźmin Nazwiska aktorów, którzy nie otrzymali żadnej nagrody: Zapytanie: //Name[count(../Award)=0]/text() lub //Name[not(../Award)]/text() Wynik: Żebrowski Wiśniewska

20 Wprowadzenie do języka XSLT (1) Język XSLT (XML Stylesheet Transform) to deklaratywny język, którego konstrukcje zdefiniowane w XML otaczają stałe elementu tworzonego dokumentu, a same selekcjonują elementy wejściowego dokumentu XML Typowe konstrukcje to: template, apply-templates, value-of Procesor XSLT przegląda dokument XML w podziale na elementy określone w modelu DOM selekcjonując je według wyrażenia XPath umieszczonego w atrybucie select elementu apply-templates Dla kolejnego elementu modelu DOM, procesor XSLT próbuje znaleźć szablon (template), którego wyrażenie XPath w atrybucie match najbardziej precyzyjnie określa ten element We wnętrzu dobranego szablonu element value-of pozwala skopiować wybrane elementy wejściowego dokumentu XML, do dokumentu wyjściowego, a także rekurencyjnie stosować stosować element applytemplates Rekurencyjny przegląd drzewa dokumentu XML upraszcza zapis skryptu XSLT

21 Wprowadzenie do języka XSLT (2) Prosty przykład Wejściowy dokument XML: <?xml version= 1.0 ><greeting>hello XML guys</greeting> Arkusz styli dokument XSLT: <xsl:stylesheet xmlns:xsl= version= 1.0 > <xsl:output method= html /> <xsl:template match= / > <html><body><xsl:apply-templates select= greeting /></body></html> </xsl:template> <xsl:template match= greeting > <h1><xsl:value-of select=. /></h1> </xsl:template> </xsl:stylesheet> Wyjściowy dokument HTML: <html><body><h1>hello XML guys</h1></body></html>

22 Wprowadzenie do języka XSLT (3) Kroki procesora XSLT w przykładzie Greeting 1. Dokument XSLT i XML są parsowane do modelu DOM 2. Korzeń drzewa XML staje się bieżącym kontekstem 3. Procesor stosuje szablon z match= / generują się znaczniki otwierające html i body 4. W wyniku konstrukcji apply-templates procesor wybiera jako kontekst element(y) /greeting 5. Procesor stosuje szablon z match= greeting generuje się otwarcie znacznika h1 6. Procesor stosuje konstrukcję value-of do bieżącego elementu greeting generuje się tekst Hello XML guys 7. Generuje się zamknięcie znacznika h1 8. Procesor rekurencyjnie wraca do dokończenia szablonu z match= / generują się znaczniki zamykające body oraz html

23 Wprowadzenie do języka XSLT (4) Typowa postać dokumentu XSLT Element stylesheet określa zbiór nazw xsl oraz wersję XSLT Element output definiuje typ dokumentu wyjściowego w atrybucie method, np. html, xml, text Szablony template określają transformacje na dopasowanym zbiorze elementów dokumentu wejściowego

24 Wprowadzenie do języka XSLT (5) Szablony wbudowane (mają niższy priorytet!): szablon dla dowolnego elementu i korzenia: <xsl:template match= * / ><xsl:applytemplates/></xsl:template> szablon dla dowolnego trybu: <xsl:template match= * / mode= x ><xsl:applytemplates mode= x /></xsl:template> Szablon kopiujący węzły tekstowe i atrybutowe na wyjście <xsl:template match= ><xsl:value-of select=. /></xsl:template> Szablon dla komentarzy i instrukcji przetwarzających <xsl:template match= comment() processinginstruction() /> Szablon dla węzła zbioru nazw <xsl:template match= namespace() />

25 Wprowadzenie do języka XSLT (6) Elementy najwyższego poziomu include oraz import włącza inny arkusz z niższym priorytetem w przypadku import strip-space oraz preserve-space określa w atrybucie elements listę elementów wejściowych dla których pomija się lub zachowuje się spacje key określa nazwę indeksu, indeksowane elementy i atrybut indeksujący variable zmienna, która ma nadawaną wartość tylko raz param globalny parametr, który można ustawiać z zewnątrz decimal-format określa format zapisu wartości liczbowych i przypisuje mu nazwą, na którą może powołać się funkcja format-number() attribute-set nadaje nazwę grupie atrybutów namespace-alias zastępcza nazwa dla zbioru nazw (zwykle używana, gdy jeden arkusz styli generuje inny arkusz styli)

26 Przykład Zespoły dokument artists.xml <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE artists SYSTEM "artists.dtd" [ <!ENTITY depeche SYSTEM "entities/depeche.ent"> <!ENTITY front SYSTEM "entities/front.ent"> <!ENTITY u2 SYSTEM "entities/u2.ent"> <!ENTITY dire SYSTEM "entities/dire.ent"> <!ENTITY cure SYSTEM "entities/cure.ent"> ]> <?xml-stylesheet type="text/xsl" href="artists.xsl"?> <artists> <band> &depeche; </band> <band> &front; </band> <band> &u2; </band> <band> &dire; </band> <band> &cure; </band> </artists>

27 Przykład Zespoły dokumenty cure.ent, dire.ent <name>the Cure</name> <album><title>the Top</title></album> <album><title>mixed Up</title></album> <album><title>bloodflowers</title></album> <album><title>pornography</title></album> <image uri="img/cure.jpg"/> <link url=" <name>dire Straits</name> <album> <title>alchemy</title> <year>1984</year> </album> <album> <title>making Movies</title> <year>1980</year> </album>

28 Przykład Zespoły dokument DTD artists.dtd <?xml version="1.0" encoding="utf-8"?> <!ELEMENT artists (band+)> <!ELEMENT band (name, album*, image?, link?)> <!ELEMENT name (#PCDATA)> <!ELEMENT album (title, year*)> <!ELEMENT image EMPTY> <!ATTLIST image uri CDATA #REQUIRED> <!ELEMENT link EMPTY> <!ATTLIST link url CDATA #REQUIRED> <!ELEMENT title (#PCDATA)> <!ELEMENT year (#PCDATA)>

29 Przykład Zespoły dokument XSL artists.xsl (1) <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl=" xmlns:fo=" <xsl:template match="/"> <html> <head> <title>moje ulubione zespoły</title> <style type="text/css"> body {font-family: Verdana, Arial, Helvetica, sans-serif; background-image: url(img/tlo.gif);} td {font-size:11px;} h1 {font-size:16px; font-style : italic; color: #cc0000} a:link, a:visited, a:active {text-decoration:none; color:#000000; fontweight:bold;} a:hover {text-decoration:underline; color:#000000; font-weight:bold;} </style> </head> <body> <blockquote> <h1>to są moje ulubione zespoły, wraz z krótkimi opisami.</h1><br/> <xsl:apply-templates/> </blockquote> </body> </html> </xsl:template>

30 Przykład Zespoły dokument XSL artists.xsl (2) <xsl:template match="band"> <br/> <table border="0" cellpadding="3" cellspacing="1" width="450"> <tr> <td valign="top"> <font size="+1" color="#006600"><xsl:apply-templates select="name"/></font> <br/><br/> <xsl:apply-templates select="link"/> </td> <td><xsl:apply-templates select="image"/></td> <tr><td colspan="2">najciekawsze płyty:<hr size="1" noshade="noshade"/></td></tr> </tr> <xsl:apply-templates select="album"> <xsl:sort select="year"/> </xsl:apply-templates> </table> <br/> </xsl:template>

31 Przykład Zespoły dokument XSL artists.xsl (3) <xsl:template match="band/link"> link do oficjalnej strony:<br/> <a target="_blank" </xsl:template> <xsl:template match="band/image"> <img alt="img" style="float:right" align="right" </xsl:template> <xsl:template match="band/album"> <tr> <td width="300"><xsl:apply-templates select="title"/></td> <td ><xsl:apply-templates select="year"/></td> </tr> <tr><td colspan="2"></td></tr> </xsl:template> </xsl:stylesheet>

32 XPath dodatkowe wiadomości * wybiera z bieżącego kontekstu tylko wybiera z bieżącego kontekstu tylko atrybuty xxx:* wybiera z bieżącego kontekstu wszystkie elementy, których skrót dla zbioru nazw równa się wybiera z bieżącego kontekstu wszystkie atrybuty dla elementów, których skrót dla zbioru nazw równa się xxx node() wybiera wszystkie rodzaje węzłów z bieżącego kontekstu Wyrażenie movie//actor jest równoważne movie/descendant::actor Axes (osie) : child, parent, self, attribute, ancestor, ancestoror-self, descendant, descendant-or-self, preceding-sibling, following-sibling, preceding, following, namespace Typy wyrażeń XPath: node-set, boolean, number, string

33 Zdania kontrolne element if W atrybucie test wyrażenie XPath określa warunek, przy którym szablon zawarty w elemencie if będzie stosowany Przykład: <xsl:if test= count(award) > 1 >...</xsl:if> Konwersje wartości wyrażeń XPath do wartości logicznej: liczba różna od zera, niepusty zbiór węzłów, niepusty string konwertują się na true Przykład: <xsl:if test= $x >...</xsl:if> Wartość zależy od wartości zmiennej x. Przykład: <xsl:if test= true() >...</xsl:if> Test jest zawsze prawdziwy. Przykład: <xsl:if test= true >...</xsl:if> Prawdziwość testu zależy od tego czy są w bieżącym kontekście

34 Zdania kontrolne element choose (1) Element choose składa się z sekwencji elementów when zakończonej opcjonalnie elementem otherwise Procesor wylicza wartości logiczne atrybutu test w kolejnych elementach when. Stosowany jest szablon z pierwszego prawdziwego elementu when. Jeśli wszystkie są fałszywe, to stosuje się szablon z elementu otherwise, a gdy go nie ma, to nie wybiera się żadnego szablonu. Przykład: Elementy xxx mają być rozmieszczone w wierszu tabeli html. Jeśli atrybut zarobki ma wartość mniejszą niż 200, to wiersz ten ma tło bgcolor=lavender. W przeciwnym razie wiersze mają tło przydzielane cyklicznie z listy: papayawhip, mintcream, whitesmoke. <xsl:template match= xxx > <tr> <xsl:attribute name= bgcolor > <xsl:choose>...</xsl:choose> </xsl:attribute> <xsl:apply-templates select= * /> </tr>

35 Zdania kontrolne element choose (2) <xsl:choose> <xsl:when > 200 > <xsl:text>lavender</xsl:text> </xsl:when> <xsl:when test= position() mod 3 = 0 > <xsl:text>papayawhip</xsl:text> </xsl:when> <xsl:when test= position() mod 3 = 1 > <xsl:text>mintcream</xsl:text> </xsl:when> <xsl:otherwise> <xsl:text>whitesmoke</xsl:text> </xsl:otherwise> </xsl:choose>

36 Zdania kontrolne element for-each (1) Element for-each ma atrybut select, którego wartość jest wyrażeniem XPath określającym zbiór elementów. Procesor stosuje szablon zawarty w elemencie for-each dla każdego elementu z wybranego zbioru Przykład: Kurs składa się z modułów. Moduł składa się ze slajdów. Każdy z tych elementów posiada atrybut tytuł. Chcemy ułożyć spis rzeczy kursu. Przykładowy dokument XML: <course title= OPA >... 6 wcześniejszych modułów <module title= XSLT > <slide title= Wprowadzenie >...</slide> <slide title= Przykład Zespoły >...</slide> <slide title= XPath >...</slide> <slide title= Zdania kontrolne >...</slide>... </module>... </course>

37 Zdania kontrolne element for-each (2) Fragment arkusza styli tworzący spis rzeczy <xsl:template match= course > <xsl:for-each select= module > <h1> <xsl:text>moduł </xsl:text> <xsl:value-of select= position() /> <xsl:text>. </xsl:text> <xsl:value-of /> </h1> <ul> <xsl:for-each select= slide > <li> <xsl:value-of select= position() /> <xsl:text>. </xsl:text> <xsl:value-of /> </li> </xsl:for-each> </ul> </xsl:for-each> </xsl:template>

38 Zdania kontrolne elementy call-template, param, with-param (1) Element call-template w atrybucie name określa nazwę szablonu, który należy zastosować: <xsl:call-template name= nazwa_szablonu /> Nazwa szablonu jest nadawana jako wartość atrybutu name w elemencie template: <xsl:template name= nazwa_szablonu > Dwa szablony o identycznym warunku XPath można rozróżnić atrybutem mode, tj. można dokonać transformacji tej samej części dokumentu wielokrotnie dla różnych trybów <xsl:template match= / mode= nazwa_trybu > Szablon może mieć swoje parametry, których nazwy ustala się w elementach podległych o nazwie param: <xsl:template name= obliczpole > <xsl:param name= h /> <xsl:param name= w /> <xsl:value-of select= $h * $w /> </xsl:template>

39 Zdania kontrolne elementy call-template, param, with-param (2) Domyślną wartość parametru możemy nadać na dwa sposoby: przez atrybut select: <xsl:template name= addcelltotable > <xsl:param name= bgcolor select= blue /> <xsl:param name= width select= 200 /> <xsl:param name= content /> <td width= {$width} bgcolor= {$bgcolor} > <xsl:apply-templates select= $content /> </td> </xsl:template> przez zawartość: <xsl:param name= width > 200 </xsl:param>

40 Zdania kontrolne elementy call-template, param, with-param (3) Przekazywanie parametru realizuje element with-param podległy elementowi call-template: <xsl:call-template name= obliczpole > <xsl:with-param name= w select= 100 /> <xsl:with-param name= h select= 200 /> </xsl:call-template> Parametry template muszą wystąpić na początku template Parametr bez atrybutu select i bez zawartość jest tekstem pustym (string długości zero) Element param, którego rodzicem jest stylesheet jest globalny, a więc można go używać w dowolnym szablonie Globalne parametry można ustawiać z linii polecenia: Xalan... param basecolor magenta; Oracle... basecolor= magenta z programy Javy w interfejsie TrAX:

41 Zdania kontrolne elementy call-template, param, with-param (4) //... Transformer t=(transformerfactory.newinstance()). newtransformer(new StreamSource(xslID)); //... t.setparameter( basecolor, magenta ); t.setparameter( startx, new Integer(25)); t.transform(new StreamSource(xmlID), new StreamResult(outputID));

42 Zdania kontrolne element variable Element variable można inicjalizować na trzy sposoby: pusty tekst: <xsl:variable name= width /> przez atrybut select: <xsl:variable name= width select= 50 /> przez zawartość: <xsl:variable name= width > 50 </xsl:variable> Element variable może być używany tylko w ramach elementu rodzicielskiego Użycie zmiennej (tak jak parametru): <td width= {$width} >

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 dzisiejszego wykładu. Narzędzia informatyczne w językoznawstwie. XML - Definicja. Zalety XML

Plan dzisiejszego wykładu. Narzędzia informatyczne w językoznawstwie. XML - Definicja. Zalety XML Plan dzisiejszego wykładu Narzędzia informatyczne w językoznawstwie Perl - Wprowadzenie do XML Marcin Junczys-Dowmunt junczys@amu.edu.pl Zakład Logiki Stosowanej http://www.logic.amu.edu.pl 16. kwietnia

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

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

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

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

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

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

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

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

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

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

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

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

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

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. 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

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

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

Rola języka XML narzędziem

Rola języka XML narzędziem Wprowadzenie do XML dr inż. Adam Iwaniak Szkolenie w Luboradzy, ZCPWZ, 12-13.02.2009r. Rola języka XML narzędziem Pierwszą rewolucją internetową było dostarczenie ludziom informacji. Znajdujemy się teraz

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

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

I. Dlaczego standardy kodowania mailingów są istotne?

I. Dlaczego standardy kodowania mailingów są istotne? 1 Tabela zawartości: I. Dlaczego standardy kodowania mailingów są istotne? 3 II. Budowa nagłówka wiadomości. 4 III. Style kaskadowe CSS. 4 IV. Elementarna budowa szablonu. 6 V. Podsumowanie. 9 2 I. Dlaczego

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

Źródła. cript/1.5/reference/ Ruby on Rails: http://www.rubyonrails.org/ AJAX: http://www.adaptivepath.com/publications/e ssays/archives/000385.

Źródła. cript/1.5/reference/ Ruby on Rails: http://www.rubyonrails.org/ AJAX: http://www.adaptivepath.com/publications/e ssays/archives/000385. Źródła CSS: http://www.csszengarden.com/ XHTML: http://www.xhtml.org/ XML: http://www.w3.org/xml/ PHP: http://www.php.net/ JavaScript: http://devedgetemp.mozilla.org/library/manuals/2000/javas cript/1.5/reference/

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

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

Podstawy języka XML. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Podstawy języka XML. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz Podstawy języka XML Cel zajęć Po zrealizowaniu materiału student będzie w stanie Prawidłowo zidentyfikować składowe dokumentu XML Utworzyć dokument XML Dokonać sprawdzenia poprawności składniowej (syntaktycznej)

Bardziej szczegółowo

UKŁAD INFORMACJI I POWIĄZAŃ MIĘDZY NIMI W INFORMACJI W SPRAWIE PODATKU LEŚNEGO (IL-1) W FORMACIE DANYCH XML

UKŁAD INFORMACJI I POWIĄZAŃ MIĘDZY NIMI W INFORMACJI W SPRAWIE PODATKU LEŚNEGO (IL-1) W FORMACIE DANYCH XML UKŁAD INFORMACJI I POWIĄZAŃ MIĘDZY NIMI W INFORMACJI W SPRAWIE PODATKU LEŚNEGO (IL-1) W FORMACIE DANYCH XML

Bardziej szczegółowo

Egzamin z przedmiotu Projektowanie języków XML 18.06.2013.... imię i nazwisko. Zadanie 1 2 3 4 5 6 7 Suma Punkty Max 6 5 5 6 6 6 6 40 Punkty

Egzamin z przedmiotu Projektowanie języków XML 18.06.2013.... imię i nazwisko. Zadanie 1 2 3 4 5 6 7 Suma Punkty Max 6 5 5 6 6 6 6 40 Punkty Egzamin z przedmiotu Projektowanie języków XML 18.06.2013 Grupa A... imię i nazwisko. indeks Zadanie 1 2 3 4 5 6 7 Suma Punkty Max 6 5 5 6 6 6 6 40 Punkty Zadanie 1. Przyjrzyj się podanym dokumentom XML.

Bardziej szczegółowo

UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz Po zrealizowaniu materiału student będzie w stanie Prawidłowo zidentyfikować składowe dokumentu XML Utworzyć dokument XML Dokonać sprawdzenia poprawności składniowej (syntaktycznej) dokumentu 2 1 WWW Consortium,

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 5 dr inż. Robert Berezowski e-mail: robert.berezowski@ie.tu.koszalin.pl Ul. Śniadeckich 2 Pokój 223A Politechnika Koszalińska Wydział Elektroniki i Informatyki Katedra Inżynierii Komputerowej 1 Dokument

Bardziej szczegółowo

Podstawy (X)HTML i CSS

Podstawy (X)HTML i CSS Inżynierskie podejście do budowania stron WWW momat@man.poznan.pl 2005-04-11 1 Hyper Text Markup Language Standardy W3C Przegląd znaczników Przegląd znaczników XHTML 2 Cascading Style Sheets Łączenie z

Bardziej szczegółowo

Wprowadzenie do standardu XSL

Wprowadzenie do standardu XSL Wprowadzenie do standardu XSL Tomasz Przechlewski 2002 Spis treści 1 Wprowadzenie 1 2 XPath 2 2.1 Wstęp................................. 2 2.2 Ścieżki dostępu............................ 4 2.2.1 Osie..............................

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

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

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

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

Dokument poprawnie sformułowany jest zgodny z ogólnymi zasadami składniowymi:

Dokument poprawnie sformułowany jest zgodny z ogólnymi zasadami składniowymi: DTD Document Type Definition Dokument poprawnie sformułowany (well-formed) Dokument poprawnie sformułowany jest zgodny z ogólnymi zasadami składniowymi: 1. KaŜdy znacznik musi posiadać zamknięcie (wyjątek

Bardziej szczegółowo

Dzięki arkuszom zewnętrznym uzyskujemy centralne sterowanie wyglądem serwisu. Zewnętrzny arkusz stylów to plik tekstowy z rozszerzeniem css.

Dzięki arkuszom zewnętrznym uzyskujemy centralne sterowanie wyglądem serwisu. Zewnętrzny arkusz stylów to plik tekstowy z rozszerzeniem css. Kaskadowe arkusze stylów CSS Geneza - oddzielenie struktury dokumentu HTML od reguł prezentacji - poszerzenie samego HTML Korzyści - przejrzystość dokumentów - łatwe zarządzanie stylem (wyglądem) serwisu

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

STRONY INTERNETOWE mgr inż. Adrian Zapała

STRONY INTERNETOWE mgr inż. Adrian Zapała 1 STRONY INTERNETOWE mgr inż. Adrian Zapała STRONY INTERNETOWE Rodzaje stron internetowych statyczne (statyczny HTML + CSS) dynamiczne (PHP, ASP, technologie Flash) 2 JĘZYKI STRON WWW HTML (ang. HyperText

Bardziej szczegółowo

XML w sosie własnym. Standard XML wraz z DTD, przestrzenie nazw, projektowanie struktury dokumentów. Patryk Czarnik. Instytut Informatyki UW

XML w sosie własnym. Standard XML wraz z DTD, przestrzenie nazw, projektowanie struktury dokumentów. Patryk Czarnik. Instytut Informatyki UW XML w sosie własnym Standard XML wraz z DTD, przestrzenie nazw, projektowanie struktury dokumentów. Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Patryk

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

LAB 7. XML EXtensible Markup Language - Rozszerzalny Język Znaczników XSD XML Schema Definition Definicja Schematu XML

LAB 7. XML EXtensible Markup Language - Rozszerzalny Język Znaczników XSD XML Schema Definition Definicja Schematu XML Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 7 XML EXtensible Markup Language - Rozszerzalny Język Znaczników XSD XML Schema Definition Definicja Schematu XML 1. Prosty dokument XML lab7_1.xml

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

Ćwiczenia laboratoryjne nr 8 Podstawy języka XML.

Ćwiczenia laboratoryjne nr 8 Podstawy języka XML. Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 8 Podstawy języka XML. Celem ćwiczeń jest poznanie zasad tworzenia dokumentów w oparciu o język XML oraz metod modyfikacji ich

Bardziej szczegółowo

Kurs HTML 4.01 TI 312[01]

Kurs HTML 4.01 TI 312[01] TI 312[01] Spis treści 1. Wiadomości ogólne... 3 2. Wersje języka HTML... 3 3. Minimalna struktura dokumentu... 3 4. Deklaracje DOCTYPE... 3 5. Lista znaczników, atrybutów i zdarzeń... 4 5.1 Lista atrybutów

Bardziej szczegółowo

Technologie internetowe

Technologie internetowe Technologie internetowe Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu Wprowadzenie do XML Składnia, znaczniki i atrybuty XML Schema, DTD XSL XPath XSLT XSL-FO Na podstawie kursów

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

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

Bardziej szczegółowo

ECDL/ICDL Web Editing Moduł S6 Sylabus - wersja 2.0

ECDL/ICDL Web Editing Moduł S6 Sylabus - wersja 2.0 ECDL/ICDL Web Editing Moduł S6 Sylabus - wersja 2.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Web Editing. Sylabus opisuje zakres wiedzy i umiejętności, jakie

Bardziej szczegółowo

Podstawy JavaScript ćwiczenia

Podstawy JavaScript ćwiczenia Podstawy JavaScript ćwiczenia Kontekst:

Bardziej szczegółowo

Jak wygląda XML? Definiowanie typów dokumentów Część 1. DTD, XML Schema. Struktura logiczna dokumentu XML. Składnia XML. Encje predefiniowane.

Jak wygląda XML? Definiowanie typów dokumentów Część 1. DTD, XML Schema. Struktura logiczna dokumentu XML. Składnia XML. Encje predefiniowane. Definiowanie typów dokumentów Część 1. DTD, XML Schema Jak wygląda XML? st. asp. Jan Łapówka dołowice Górne wypadek

Bardziej szczegółowo

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

Kurs WWW Język XML, część I Język XML, część I Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Zawartość modułu Wprowadzenie do XML Składnia Znaczniki i atrybuty DTD XML Schema Na podstawie kursu ze strony: http://www.w3schools.com/schema/default.asp

Bardziej szczegółowo

XML w sosie własnym. Standard XML wraz z DTD, przestrzenie nazw, projektowanie struktury dokumentów. Patryk Czarnik. Instytut Informatyki UW

XML w sosie własnym. Standard XML wraz z DTD, przestrzenie nazw, projektowanie struktury dokumentów. Patryk Czarnik. Instytut Informatyki UW XML w sosie własnym Standard XML wraz z DTD, przestrzenie nazw, projektowanie struktury dokumentów. Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Podstawy

Bardziej szczegółowo

Podstawy XML-a. Zaawansowane techniki programowania

Podstawy XML-a. Zaawansowane techniki programowania Podstawy XML-a Zaawansowane techniki programowania Dokumenty XML XML = ang. Extensible Markup Language rozszerzalny język znaczników

Bardziej szczegółowo

XML i nowoczesne technologie zarządzania treścią

XML i nowoczesne technologie zarządzania treścią XML i nowoczesne technologie zarządzania treścią Egzamin, 7 lutego 2014 r. Imię i nazwisko: Czas: 90 minut. Maksymalna suma punktów: 50. Pytania testowe są wielokrotnego wyboru, można przyjąć że co najmniej

Bardziej szczegółowo

Ministerstwo Finansów

Ministerstwo Finansów Ministerstwo Finansów Departament Informatyzacji Specyfikacja Wejścia-Wyjścia Wersja 1.0 Warszawa, 16.02.2017 r. Copyright (c) 2017 Ministerstwo Finansów MINISTERSTWO FINANSÓW, DEPARTAMENT INFORMATYZACJI

Bardziej szczegółowo

BAZY DANYCH. Dr hab. Sławomir Zadrożny, prof. PR

BAZY DANYCH. Dr hab. Sławomir Zadrożny, prof. PR BAZY DANYCH Dr hab. Sławomir Zadrożny, prof. PR Co to jest baza danych? Wiele możliwych definicji Zbiór danych, który istnieje przez dłuższy okres czasu Współdzielony zestaw logicznie powiązanych danych

Bardziej szczegółowo

Programowanie internetowe

Programowanie internetowe Programowanie internetowe Wykład 1 HTML mgr inż. Michał Wojtera email: mwojtera@dmcs.pl Plan wykładu Organizacja zajęć Zakres przedmiotu Literatura Zawartość wykładu Wprowadzenie AMP / LAMP Podstawy HTML

Bardziej szczegółowo

XHTML - Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania.

XHTML - Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania. XHTML - Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania. Reformuje on znane zasady języka HTML 4 w taki sposób, aby były zgodne z XML (HTML przetłumaczony na XML).

Bardziej szczegółowo

XML w bazach danych i bezpieczeństwie

XML w bazach danych i bezpieczeństwie XML w bazach danych i bezpieczeństwie Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Klasyfikacja wsparcia dla XML-a w bazach danych (Relacyjna) baza danych

Bardziej szczegółowo

Aplikacje internetowe. Interfejs użytkownika

Aplikacje internetowe. Interfejs użytkownika Aplikacje internetowe Interfejs użytkownika Plan wykładu Formatowanie HTML za pomocą arkuszy stylów CSS Język XML ogólna struktura dokumentów opis struktury za pomocą DTD przestrzenie nazw Język XHTML

Bardziej szczegółowo

Plan prezentacji XSLT. XSLT Ogólna charakterystyka. Drzewo XML. Wstęp. Przedmiot: XML i jego zastosowania. Zagadnienia podstawowe

Plan prezentacji XSLT. XSLT Ogólna charakterystyka. Drzewo XML. Wstęp. Przedmiot: XML i jego zastosowania. Zagadnienia podstawowe Plan prezentacji Przedmiot: XML i jego zastosowania Wstęp Dr inż. Stanisław Polak Akademia Górniczo - Hutnicza w Krakowie, Katedra Informatyki http://www.icsr.agh.edu.pl/~polak/ Przetwarzanie danych 2.0

Bardziej szczegółowo

ABC języka HTML i XHTML / Maria Sokół. wyd. 2. Gliwice, cop Spis treści

ABC języka HTML i XHTML / Maria Sokół. wyd. 2. Gliwice, cop Spis treści ABC języka HTML i XHTML / Maria Sokół. wyd. 2. Gliwice, cop. 2012 Spis treści Wstęp 9 1 HTML 5 i XHTML w pytaniach i odpowiedziach 13 Co to jest HTML 5? 13 Co to jest XHTML? 15 Czy strony utworzone w HTML

Bardziej szczegółowo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

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

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

Jak wygląda XML? Definiowanie typów dokumentów. Struktura logiczna dokumentu XML. Podstawy składni XML. Definiowanie języków. Poprawność dokumentów

Jak wygląda XML? Definiowanie typów dokumentów. Struktura logiczna dokumentu XML. Podstawy składni XML. Definiowanie języków. Poprawność dokumentów Jak wygląda XML? 9 października 2003 Definiowanie typów dokumentów Część 1: DTD st. asp. Jan Łapówka dołowice Górne

Bardziej szczegółowo

za pomocą: definiujemy:

za pomocą: definiujemy: HTML CSS za pomocą: języka HTML arkusza CSS definiujemy: szkielet strony wygląd strony Struktura dokumentu html - znaczniki Znaczniki wyznaczają rodzaj zawartości. element strony

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

Elementarz HTML i CSS

Elementarz HTML i CSS Elementarz HTML i CSS Znaczniki przydatne w pracy redaktora stron internetowych 1 Elementarz HTML i CSS Znaczniki przydatne w pracy redaktora stron internetowych Treść, korekta, skład i oprawa graficzna

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

HTML DOM, XHTML cel, charakterystyka

HTML DOM, XHTML cel, charakterystyka HTML DOM, XHTML cel, charakterystyka Mariusz Kacała Łukasz Przywarty Grzegorz Trawiński HTML DOM XHTML Ramowy plan prezentacji Wstęp HTML DOM - Założenia - Model i struktura - Właściwości - Metody i zastosowania

Bardziej szczegółowo

Odsyłacze. Style nagłówkowe

Odsyłacze. Style nagłówkowe Odsyłacze ... polecenie odsyłcza do dokumentu wskazywanego przez url. Dodatkowym parametrem jest opcja TARGET="...", która wskazuje na miejsce otwarcia wskazywanego dokumentu, a jej parametrami

Bardziej szczegółowo

O stronach www, html itp..

O stronach www, html itp.. O stronach www, html itp.. Prosty wstęp do podstawowych technik spotykanych w internecie 09.01.2015 M. Rad Plan wykładu Html Przykład Strona www Xhtml Css Php Js HTML HTML - (ang. HyperText Markup Language)

Bardziej szczegółowo

Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane

Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane Extensible Markup Language (XML) Wrocław, 15.03.2019 - Java - technologie zaawansowane Wprowadzenie XML jest językiem znaczników (ang. markup language) używanym do definiowania zbioru zasad rozmieszczenia

Bardziej szczegółowo

Wprowadzenie do języka HTML

Wprowadzenie do języka HTML Radosław Rudnicki (joix@mat.umk.pl) 05.09.2009 r. Wprowadzenie do języka HTML Do tworzenia stron internetowych wystarczy użyd zwykłego Notatnika oferowanego przez system Windows, czy dowolny inny system

Bardziej szczegółowo

Witryny i aplikacje internetowe

Witryny i aplikacje internetowe Test z przedmiotu Witryny i aplikacje internetowe Zadanie 1 Kod języka HTML przedstawi tabelę składającą się z dwóch

Bardziej szczegółowo

używane skróty: HTTP - protokół do transferu tekstu, hipertekstu, zbiorów binarnych URL - jednolity lokalizator zasobów

używane skróty: HTTP - protokół do transferu tekstu, hipertekstu, zbiorów binarnych URL - jednolity lokalizator zasobów opracowanie I. K. używane skróty: HTTP - protokół do transferu tekstu, hipertekstu, zbiorów binarnych URL - jednolity lokalizator zasobów ISO-8859-2 - norma międzynarodowa określająca sposób kodowania

Bardziej szczegółowo

XML extensible Markup Language. część 3

XML extensible Markup Language. część 3 XML extensible Markup Language część 3 Definicja Typu Dokumentu - DTD DTD (ang. Document Type Definition) rodzaj dokumentu definiujący formalną strukturę dokumentów XML. DTD określa składnię konkretnej

Bardziej szczegółowo

Bazy danych i strony WWW

Bazy danych i strony WWW Bazy danych i strony WWW Obsługa baz danych poprzez strony WWW Niezbędne narzędzia: serwer baz danych np. MySQL serwer stron WWW np. Apache przeglądarka stron WWW interpretująca język HTML język skryptowy

Bardziej szczegółowo

Michał Bielecki, KNI 'BIOS'

Michał Bielecki, KNI 'BIOS' Michał Bielecki, KNI 'BIOS' PHP czyli język typu client side 1. przeglądarka www żąda dokumentu o rozszerzeniu.php 2. serwer odbiera żądanie i przesyła do parsera php 3. parser php znajduje żądany plik

Bardziej szczegółowo

XML extensible Markup Language. część 4

XML extensible Markup Language. część 4 XML extensible Markup Language część 4 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