Przegląd specyfikacji związanych z wykorzystaniem usług sieciowych (Web Services)
|
|
- Stefan Przybysz
- 8 lat temu
- Przeglądów:
Transkrypt
1 Przegląd specyfikacji związanych z wykorzystaniem usług sieciowych (Web Services)
2 Spis treści 1. XPDL XML XSL Transformations [XSLT] XML Path Language [XPath] XML Linking Language [XLink] XML Pointer Language [XPointer] XQuery XML Schema Definition Language [XML Schema] StAX (Streaming API for XML) DTD Binary XML SAX DOM WSDL SOAP UDDI WSIL WS-Addressing WS-Routing WS-Referral WS-Attachment MTOM WSIF AMQP REST XML Signature Syntax and Processing [XML Signature] XML Encryption Syntax and Processing [XML Encryption] XML Key Management Specification [XKMS] The Security Assertion Markup Language [SAML] Web Services Security [WS-Security]
3 31. WS-Coordiantion WS-Transaction WS-Reliability XPDL XPDL 2.0 (ang. XML Process Definition Language) Document WFMC-TC Organizacja standaryzująca to Workflow Management Coalition, - międzynarodowa koalicja stowarzyszająca producentów oprogramowania do zarządzania procesami pracy. W ramach swoich działań wypracowała ok. 15 standardów, takich jak standard architektury systemów zarządzania procesami pracy lub język do definiowania procesów. Opis XPDL oparty na XML język umożliwiający opis definicji procesu pracy. Wg WfMC termin workflow oznacza automatyzację procesów biznesowych, w całości lub w części, podczas której dokumenty, informacje lub zadania są przekazywane od jednego uczestnika do następnego, według odpowiednich procedur zarządczych. W 1995 roku koalicja WfMC opublikowała model odniesienia systemu do obsługi procesów pracy (ang. workflow reference model v.1.1). Model ten składa się z jądra systemu w postaci usług wykonawczych oraz z pięciu funkcjonalnych podsystemów:
4 Schemat poglądowy procesu pracy XPDL Wraz z pojęciem podsystemu Narzędzi do definiowania procesów pracy koalicja WfMC wprowadziła pojęcie meta-modelu (ang. process meta-model). Zasadniczo, według meta-modelu, proces składa się z czynności i przejść między nimi. Czynność to logicznie wydzielony etap prac nad danym obiektem (np. dokumentem). Zakończenie wykonywania jednej czynności wiąże się z przejściem do innej (lub innych) czynności. Dodatkowo z każdą czynnością skojarzona jest rola. Rola określa, który podmiot ma prawo wykonać daną czynność. Podmiotem może być pracownik danej instytucji, jednostka organizacyjna lub ich grupy. Czynność może być automatyczna (wykonywana przez system bez interakcji z podmiotem) lub manualna (gdy pewne dane muszą zostać wpisane bądź zaakceptowane przez podmiot). Z punktu widzenia ziarnistości działań, czynność może być atomowa lub złożona stanowiąca wywołanie grupy czynności tworzących podproces. Czynność może wywoływać aplikację zewnętrzną bądź funkcję biblioteczną. Kolejność wykonywania czynności jest określona poprzez przejścia między czynnościami. Najważniejszą cechą przejścia jest warunek przejścia, który wyznacza w jakim wypadku sterowanie może zostać przekazane z jednej czynności do drugiej. Warunek jest wyrażeniem logicznym zależnym od danych istotnych w procesie. Czynności mogą być wykonywane sekwencyjnie i/lub równolegle. Rozdzielanie sterowania jest wyrażane za pomocą operacji SPLIT. Dopuszcza się dwa rodzaje tej operacji: SPLIT-XOR, która przekazuje sterowanie do jednej z N czynności będących następnikami oraz SPLIT-AND przekazująca sterowanie do wszystkich czynności będących następnikami. Łączenie sterowania jest wyrażane przez operację JOIN występującą w dwóch formach: JOIN-XOR (przynajmniej jedna czynność poprzedzająca zakończyła się) oraz JOIN-AND (wszystkie czynności poprzedzające zakończyły się).
5 Schemat pogladowy procesu XPDL Wraz z wprowadzeniem pojęcia meta-modelu koalicja WfMC zaproponowała język umożliwiający opis definicji procesu pracy. Język ten jest rozszerzoną wersją języka PDL (ang. Process Definition Language) zorientowaną na tworzenie opisu procesów pracy WPDL (ang. Workflow PDL). WPDL umożliwia wyrażenie wszystkich wyżej wymienionych elementów meta-modelu w postaci sformatowanego tekstu. WPDL stał się podstawą dla utworzenia XPDL, który został wymyślony jako język oparty na strukturze grafu skierowanego z dodatkowymi możliwościami prezentacji bloków. Kwestia zasięgu jest związana z poziomem pakietu i procesu. Definicja procesu nie może być zagnieżdżona. Kierunek przepływu jest oparty na przejściach pomiędzy czynnościami. Czynności w procesie możemy sobie wyobrazić jako wierzchołki grafu z przejściami jako krawędziami grafu. Różnice pomiędzy poprzednimi wersjami XPDL 2.0 wprowadzono notację graficzną i kilka elementów BPMN (Business Process Modeling Notation konsorcjum OMG), które mocno odróżniały XPDL 1.0 od BPMN. Przykłady zastosowań - OfficeObjects DocMan. firmy Rodan Systems S.A. - Unity Workflow Manager - system zarządzania obiegiem pracy i dokumentów firmy Contium S.A. Prosty przykład:
6 Przykład zastosowania XPDL <Activities> <Activity Id="3" Name="a1"/> <Activity Id="4" Name="g1"> <Route GatewayType="XOR" XORType="Data" MarkerVisible="TRUE"/> <TransitionRestrictions> <TransitionRestriction> <Split Type="XOR"> <TransitionRefs> <TransitionRef Id="9"/> <TransitionRef Id="10"/> <TransitionRef Id="11"/> </TransitionRefs> </Split> </TransitionRestriction> </TransitionRestrictions> </Activity> <Activity Id="5" Name="a2"/> <Activity Id="6" Name="a3"/>
7 <Activity Id="7" Name="a4"/> </Activities> <Transitions> <Transition Id="8" Name="" From="3" To="4" FlowType="SequenceFlow"/> <Transition Id="9" Name="" From="4" To="5" FlowType="SequenceFlow"> <Condition Type="CONDITION">a<b</Condition> </Transition> <Transition Id="10" Name="" From="4" To="6" FlowType="SequenceFlow"> <Condition Type="CONDITION">a>b</Condition> </Transition> <Transition Id="11" Name="" From="4" To="7" FlowType="SequenceFlow"> <Condition Type="OTHERWISE"/> </Transition> </Transitions> Narzędzia wykorzystujące standard: OFBiz Workflow engine produkt firmy OFBiz.org (Oper For Business), Fujitsu Interstage Business Process Manager Studio, TIBCO Business Studio, WfmOpen, OBE, Together Workflow Editor. 2. XML XML 1.0 (Third Edition) (rekomendacja), XML 1.1 (nadal w fazie propozycji) (ang. Extensible Markup Language)
8 Organizacja standaryzująca to World Wide Web Consortium (W3C), Opis Wzorowany na SGML-u sposób opisu znacznikami, umożliwiający wygodniejsze, szybsze i mniej sformalizowane przygotowywanie wszelkich dokumentów tekstowo-graficznych, które można bez większych problemów przenosić i adaptować do różnych form przekazu elektronicznego. XML to język znaczników umożliwiający, podobnie jak SGML, tworzenie swoich własnych znaczników formatujących, definiowanych w DTD dokumentu lub w tzw. schematach XML. W odróżnieniu od SGML-a możliwe jest jednak także stosowanie w XML-u kaskadowych arkuszy stylów CSS, programowalnych arkuszy stylów specjalnie zaprojektowanych dla XML-a o nazwie XSL i innych interaktywnych elementów często stosowanych przy pisaniu stron WWW. XML wymaga znacznie większej dyscypliny przy pisaniu dokumentów niż HTML, gdyż zasadą interpretacji XML-a jest najpierw kontrola poprawności składniowej, a dopiero później ew. wyświetlenie/wykonanie dokumentu, tak więc błędnie napisane dokumenty XML nie będą w ogóle wyświetlane przez przeglądarki. Z drugiej jednak strony, dzięki restrykcyjnej składni, dokumenty XML mogą być automatycznie przekształcane na inne formaty języków, przez programy zwane parserami. XML i jego zastosowania prawdopodobnie w przyszłości zastąpią całkowicie HTML. Jego rozwój jest silnie wspierany przez prawie wszystkie najważniejsze firmy produkujące oprogramowanie, takie jak: Microsoft, Oracle, Silicon Graphics, Sun Microsystems, Netscape i wiele innych. XML jest jednak czymś znacznie więcej niż HTML, gdyż umożliwia pisanie dokumentów, które będą mogły być obsługiwane przez najróżniejsze urządzenia i programy. Różnice pomiędzy wersjami XML 1.1 w stosunku do XML 1.0 jest bardziej elastyczny pod względem stosowania różnych znaków standardu Unicode Przykłady zastosowań W oparciu o XML powstały inne istotne specyfikacje:
9 XML umożliwia też tworzenie tzw. aplikacji - czyli zestawów znaczników do konkretnych zastosowań, z których obecnie najbardziej znane są: XHTML, MathML, SVG, ChemXL. Technologia XML związana jest nieodłącznie ze sposobem przetwarzania dokumentu parserami dokumentów XML. Obecenie stosuje się dwie techniki parsowania DOM i SAX. Zostaną one opisane w dalszej części dokumentu. Narzędzia wykorzystujące standard (według popularności stosowania - open source i płatne) Edytory: XML infox - prosty polski edytor, który oferuje tekstowy tryb pracy, walidację, nawigację, wsparcie dla przekształceń XSLT i import danych, XML Spy shareware, Stylus Studio, XML Editor. Parsery: Microsoft XML Parser (MSXML), Apache Xerces, DOM4J biblioteka open source dla Javy, SAX, CookXml XML - parser dla Javy, TinyXml - parser dla C++, XimpleWare's VTD-XML XML dla C I Javy, Stefan Heymann's free XML dla Delphi.
10 Zalety standardu - możliwość dowolnego mieszania /włączania fragmentów np. MathML czy SVG w dokumenty napisane w XHTML-u, i tworzenie w ten sposób jednego, poprawnego składniowo dokumentu XML, - wbudowany mechanizm przestrzeni nazw zapewnia łatwość rozbudowy istniejących dokumentów, - proste zastosowanie w Internecie, - możliwość wykorzystania w wielu aplikacjach, - kompatybilność z SGML, - prostota implementacji aplikacji korzystających z XML, - minimum opcjonalnych funkcji XML, - możliwość bezpośredniej edycji przez człowieka, - obsługa standardu UNICODE. Wady standardu - konieczność stosowania parserów tekstu podczas pracy z dokumentami (w zależności od wielkości i stopnia skomplikowania może to powodować zmniejszenie wydajności pracy z danymi). 3. XSL Transformations [XSLT] Organizacja standaryzująca to W3C. Obecna wersja standardu to 1.0 Opis XSLT to język określający sposób transformacji dokumentu XML w inny dokument XML. XSLT pozwala na tłumaczenie dokumentów z jednego formatu XML na dokumenty w innym formacie XML, a nawet w dokumenty w zupełnie innych formatach np. HTML. XSLT jest przeznaczony do wykorzystania jako część XSL, który jest językiem arkuszy stylów dla XML. XSL specyfikuje style dokumentu XML, posługując się XSLT do opisu sposobu przekształcania dokumentu w inny dokument XML, bazując na słownictwie określającym formatowanie.
11 XSLT został stworzony w sposób umożliwiający jego wykorzystanie niezależnie od XSL. Jednakże głównym zadaniem XSLT nie jest pełnienie funkcji niezależnego języka transformacji, lecz specyfikacja sposobu transformacji niezbędnej wówczas, gdy XSLT jest wykorzystywany jako część rodziny XSL. XSLT oparty jest na zasadzie dopasowania wzorców. Za pomocą wyrażeń XPath określana jest ścieżka nawigująca poprzez drzewo XML. Jeżeli jakiś węzeł znajduje się na końcu tej ścieżki jest on dopasowywany i przetwarzany przez odpowiednio zdefiniowany wzorzec. Struktura Dokument XSLT składa się z elementu głównego o dwóch możliwych równoważnych nazwach definiujących przestrzeń XSLT. Poniżej przedstawiono obie możliwe prawidłowe wersje głównego elementu. <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:transform version="1.0" xmlns:xsl=" Element główny może zawierać dowolną ilość elementów <xsl:template>. Każdy element <xsl:template> może posiadać jeden z kilku atrybutów. Najczęściej stosowane są atrybuty name i match. Atrybut match, za pomocą wyrażenia XPath definiuje wzorzec, definiujący dla jakich elementów stosować transformację. Atrybut name, definiuje nazwę szablonu do której można odwoływać się z innych elementów xsl:template>. Wewnątrz elementu <xsl:template> może się znajdować dowolny ciąg znaków (w skład którego mogą wchodzić także znaczniki elementy XML), który zostanie przekopiowany na wyjście procesora XSLT. Prosty przykładowy dokumentu XSLT przedstawia poniższy listing. Arkusz ten konwertuje dowolny dokument XML na dokument HTML zawierający napis Hello World!.
12 <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="/"> <html> <body> Hello World! </body> </html> </xsl:template> </xsl:stylesheet> Jak wspomniano wcześniej cały tekst wewnątrz elementu <xsl:template> jest kopiowany na wyjście procesora XSLT. Wyjątek od tej reguły stanowią znacznik pochodzące z przestrzeni nazw xsl, które definiują instrukcje sterujące transformacją. Znaczniki sterujące transformacją <xsl:value-of> Znacznik <xsl:value-of select= xpath /> powoduje wstawienie w tekst wynikowy wartości węzła określonego ścieżką xpath w miejsce wystąpienia znacznika. Poniżej przedstawiono przykład zastosowania. <xsl:template match="/">
13 <html> <body> <h2>my CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>title</th> <th>artist</th> </tr> <tr> <td><xsl:value-of select="catalog/cd/title"/></td> <td><xsl:value-of select="catalog/cd/artist"/></td> </tr> </table> </body> </html> </xsl:template> <xsl:for-each> Element <xsl:for-each selekt= xpath > służy do tworzenia pętli. Ciało znacznika zostanie przetworzone i wysłane na wyjście procesora tyle razy ile elementów będzie z przeważanym dokumencie będzie pasowało do ścieżki xpath. W ciele tego elementu mogą być zagnieżdżone inne instrukcje sterujące XSLT. Poniżej przedstawiono krótki przykład użycia. <xsl:template match="/"> <html> <body>
14 <h2>my CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>title</th> <th>artist</th> </tr> <xsl:for-each select="catalog/cd"> Hello! </xsl:for-each> </table> </body> </html> </xsl:template> <xsl:if> Element <xsl:if test= warunek > powoduje warunkowe przetworzenie ciała znacznika w zależności od wartości warunku logicznego będącego wartością atrybutu test. Warunek zapisuje się za pomocą ścieżek XPath, operatorów porównania (znanych z klasycznych języków programowania) i stałych. Należy zauważyć, iż nie istnieje element sterujący <xsl:else>. Poniżej przedstawiono przykład użycia elementu <xsl:if>. <xsl:template match="/"> <html> <body>
15 <h2>my CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>title</th> <th>artist</th> </tr> <xsl:for-each select="catalog/cd"> <xsl:if test="price > 10"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:if> </xsl:for-each> </table> </body> </html> </xsl:template> <xsl:choose> Element <xsl:choose> jest odpowiednikiem znanej z języka C instrukcji switch. Może on zawierać dowolną ilość elementów <xslt:when test= warunek > oraz jeden element <xsl:otherwise>. Przykład ilustruje użycie omawianego znacznika. <xsl:template match="/">
16 <html> <body> <h2>my CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>title</th> <th>artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <xsl:choose> <xsl:when test="price > 10"> <td bgcolor="#ff00ff"> <xsl:value-of select="artist"/></td> </xsl:when> <xsl:otherwise> <td><xsl:value-of select="artist"/></td> </xsl:otherwise> </xsl:choose> </tr> </xsl:for-each> </table> </body>
17 </html> </xsl:template> <xsl:apply-templetes> Znacznik <xsl:apply-templates selekt= xpath /> powoduje wywołanie przetwarzania wszystkich wzorców pasujących do wyszczególnionej ścieżki xpath. Wynik działania wywołanych wzorców wstawiany jest w miejsce wystąpienia znacznika tekście wyjściowym. Poniżej przedstawiono sposób modularyzacji arkusza stylów z zastosowaniem znacznika <xsl:applytempletes>. <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="/"> <html> <body> <h2>my CD Collection</h2> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template match="cd"> <p> <xsl:apply-templates select="title"/> <xsl:apply-templates select="artist"/> </p>
18 </xsl:template> <xsl:template match="title"> Title: <span style="color:#ff0000"> <xsl:value-of select="."/></span> <br /> </xsl:template> <xsl:template match="artist"> Artist: <span style="color:#00ff00"> <xsl:value-of select="."/></span> <br /> </xsl:template> </xsl:stylesheet> Przykłady zastosowań - Xalan Saxon XT suite TransforMiiX Unicorn libxslt -
19 Zalety standardu - elastyczność posiadając procesor XSLT można wygenerować każdy dokument, - możliwość automatycznej wizualizacji danych XML. Wady standardu - niska wydajność. 4. XML Path Language [XPath] XPath 1.0 (ang.) Organizacja standaryzująca to World Wide Web Consortium (W3C), Opis XPath jest językiem pozwalającym na wyszukiwanie i wskazywanie elementów dokumentu XML. Za pomocą wyrażenia XPath można np. wybra z dokumentu wszystkie elementy o określonej nazwie. Możliwości XPath są znacznie większe.. XPath jest częścią transformacji XSLT. XPath używa wyrażeń w postaci ścieżek do wybierania węzła lub grupy węzłów w dokumencie XML. Wyrażenia te ( ścieżki ) wyglądają jak tradycyjne odwołania do plików w systemie komputerowym. XPath zawiera ponad sto wbudowanych funkcji. Funkcje te służą do manipulacji ciągami znaków, wartości numerycznych, porównywania daty i czasu, operacji na węzłach dokumentu oraz dostarcza funkcji do obsługi wartości logicznych. XPath rozróżnia siedem typów węzłów: Element, Atrybut, Tekst, Przestrzeń nazw, Instrukcję przetwarzania, Komentarz,
20 Węzeł dokumentu. Typy węzłów: <katalog> węzeł dokumentu (root), <tytul> węzeł element, id węzeł atrybut. Relacje pomiędzy węzłami: Rodzic każdy element i atrybut ma jednego przodka, Dziecko każdy element ma zero lub więcej dzieci, Rodzeństwo węzły ktore mają tego samego rodzica, Przodek rodzic, rodzic rodzica, itd.., Potomek dziecko, dziecko dziecka, itd. XPath używa pojęcia ścieżki do określenia węzła lub grupy węzłów zgodnie z poniższymi regułami:
21 XPath posiada dodatkową konstrukcję pozwalającą na określenie konkretnego węzła lub jego wartości: //katalog/dvd[1], //katalog/dvd[last()], //katalog/dvd[position()<3], 1 ], //dvd[sztuk>3]. Oznaczanie nieznanych węzłów:
22 Dodatkowo można użyć operatora w celu wybrania kilku ścieżek (AND). Przykłady zastosowań Przykładowe narzędzia wykorzystujące standard: XML Spy Stylus Studio. 5. XML Linking Language [XLink] Obecna wersja standardu to 1.0 [z dnia ]. Organizacja standaryzująca to World Wide Web Consortium [W3C]. Informacje dodatkowe pod adresem Opis XML Linking Language to specyfikacja, która definiuje język, którego elementy mogą być umieszczane w dokumentach XML, tworząc i opisując łącza pomiędzy zasobami. Język ten wykorzystuje składnię XML ową w celu tworzenia struktur, które pozwalają opisywać łącza podobnie jak opisuje się proste, jednokierunkowe hiperłącza w HTML. XLink pozwala opisywać także bardziej skomplikowane łącza. XLink określa zatem ramy tworzenia podstawowych, jednokierunkowych łączy oraz bardziej skomplikowanych struktur łączących. XLink pozwala: - tworzyć relacje łączące pomiędzy więcej niż dwoma zasobami, - kojarzyć metadane z łączem, - tworzyć i opisywać łącza, które są zlokalizowane poza łączonymi za ich pomocą zasobami.
23 Istotnym zastosowaniem XLink są systemy hipermedialne, które bazują na hiperłączach. Model zdefiniowany w specyfikacji XLink, podobnie jak HTML, wykorzystuje technologię URI, jednak oferuje dużo szerszy wachlarz możliwości w zakresie funkcji posiadanych przez hiperłącza. XLink rozszerza zakres dostępnych funkcji o takie, które wcześniej dostępne były jedynie w dedykowanych systemach hipermedialnych, a które powodują, że hiperłącze jest bardziej skalowane i elastyczne. XLink określa struktury danych pozwalające na tworzenie i opisywanie łączy, jednocześnie jedynie w minimalnym stopniu definiuje model zachowania się łącza. W związku z tym bardziej zaawansowane aplikacje bazujące na XLink dysponują własnymi alternatywnymi lub bardziej skomplikowanymi, modelami. 6. XML Pointer Language [XPointer] XPointer (ang.)- nie jest jeszcze zatwierdzonym standardem Organizacja standaryzująca to World Wide Web Consortium (W3C), Opis XPointer jest rozszerzeniem XPath. Obydwie specyfikacje korzystają z tych samych pojęć i terminologii. Jest to język do adresowania fragmentów dokumentów XML. Został przewidziany do stosowania w adresach URL wykorzystujących protokół HTTP, np. Specyfikacja XPointer składa się z dwóch mało związanych ze sobą części, pierwsza dotyczy XPointer Parts, druga to uogólnienie XPath. XPointer Parts XPointer Parts określa ogólną formę zapytań. Całe wyrażenie XPointer składa się z wielu części, każda część to oddzielne zapytanie należące do jakiegoś schematu. xmlns(a = xpointer(/document/title[@a:lang= pl ]) xpointer(/document/title)
24 Powyższe zapytanie składa się z trzech części: pierwsza ma schemat xmlns, a dwie następne używają schematu xpointer. Specyfikacja definiuje, że części przetwarzane są od lewej do prawej, aż do momentu, kiedy zapytanie w jednej z części przekaże wynik. Zapytania ze schematu xmlns nigdy nie przekazują wyniku, więc po ich przetworzeniu parser zawsze czyta kolejną część. Są one używane do definiowania przestrzeni nazw dla zapytań ze schematu xpointer, które następują po nich. W powyższym przykładzie, występują dwa zapytania ze schematu xpointer. Dzięki regule przetwarzania części, gdy pierwsze z nich się nie powiedzie, to zostanie wykorzystane drugie. Specyfikacja XPointer definiuje semantykę dwóch schematów. XPointer Parts daje także możliwość używania innych schematów, tworzonych na potrzeby konkretnych zastosowań. Każdy parser musi interpretować schematy xmlns i xpointer oraz jest zobowiązany do ignorowania zapytań w schematach, których nie zna. Oprócz definicji części, specyfikacja podaje jeszcze dwie skrócone formy zapytań XPointer. Pierwsza z nich to nazwy podstawowe (ang. bare-names). Nazwa podstawowa to zapytanie składające się z jednego napisu, np. chapter1. Takie zapytanie jest równoważne zapytaniu xpointer(id(chapter1)), gdzie id() jest funkcją przekazującą element dokumentu o zadanym identyfikatorze. Nazwy podstawowe zostały wprowadzone dla zgodności z adresowaniem przy pomocy kotwic znanym z HTML. Druga skrócona forma zapytań to sekwencja dzieci, np. content/3/12, które tłumaczy się do xpointer(id(content)/*[3]/*[12]). Uogólnienie XPath Druga, ważniejsza część specyfikacji XPointer, to opis języka zapytań opartego na XPath. Choć standard XPointer obejmuje zarówno XPointer Parts, jak i uogólnienie XPath, to często używa się nazwy XPointer tylko do drugiej części specyfikacji. XPointer rozszerza model XPath o dwa nowe pojęcia: punkt i zakres (ang. range). Punkt to dowolne miejsce w dokumencie XML-owym. Jest on jednoznacznie zdefiniowany przez parę węzeł-kontener i liczba-indeks. W każdym węźle tekstowym istnieją punkty między poszczególnymi literami oraz punkt na początku (z indeksem 0) i na końcu węzła (z indeksem równym długości tekstu zawartego w węźle). W elementach punkty istnieją między dziećmi oraz na początku i końcu.
25 Przykłady zastosowań Przegląd możliwości języka XPointer: xpointer(/document/chapter[1]/range-to(/document/chapter[3])) wybierze przedział od początku pierwszego rozdziału do końca trzeciego, xpointer(//start-mark/range-to(following-sibling::end-mark[1]) wybierze z dokumentu wszystkie przedziały zawarte między odpowiednimi parami znaczników <start-mark/> i <endmark/>; warto; zauważyć, że kontekst wyrażenia po range-to zmienia się podobnie jak kontekst predykatów XPath, xpointer(string-range(/, "XML")) tworzy zbiór zawierający przedziały reprezentujące napis "XML", np. <para>msxml4 is a new XML processor.</para>, xpointer(string-range(//chapter/title, "Big")) przekazuje przedziały ze słowem Big z tytułów rozdziałów. Funkcja string-range() może mieć dodatkowe parametry, które rozszerzają/zwężają znalezione zakresy, np. string-range(/, "XML", 2, 5)[1] znajdzie pierwsze wystąpienie XML i przekaże "ML???" gdzie znaki? to kolejne litery po tym wystąpieniu (czyli "ML4 i" z poprzedniego przykładu), xpointer(//para[string-range(./title, XML )]) przekaże te elementy-paragrafy, których tytuł zawiera tekst XML. Przykładowe narzędzia wykorzystujące standard: XML Spy, Stylus Studio. Wady standardu: brak powszechnego zastosowania [dość trudny w implementacji]. 7. XQuery XQuery 1.0 (ang. XML Query Language) nie jest jeszcze zatwierdzonym standardem
26 Organizacja standaryzująca to World Wide Web Consortium (W3C), Opis XQuery to język służący do tworzenia zapytań do dokumentów XML za pomocą XPath. Skonstruowano go na bazie języka XPath 2.0. Ścieżki XPath obudowano w sposób dość typowy dla języków zapytań, dodając zmienne pomocnicze oraz klauzule służące do przeszukiwania wyników wyrażeń ścieżkowych, podstawiania wyników obliczeń i przekształceń, filtrowania wyników oraz sortowania. Składnia XQuery nie jest składnią XML Istnieje reprezentacja XQuery w XML - XQueryX Prace nad językami zapytań dla XML rozpoczęły się wkrótce po pojawieniu się samego XML. Powstało wiele propozycji (XQL, XML-QL, Lorel, Quilt); równolegle opracowano język XPath, początkowo związany głównie z XSL. Opracowaniem standardu języka zapytań dla XML zajęła się XML Query Working Group, działająca w ramach World Wide Web Consortium; ta sama grupa pracuje także nad specyfikacją języka XPath 2.0. Przy konstrukcji języka XQuery wykorzystano intensywnie XPath 2.0 oraz elementy wcześniejszych propozycji. Wpływ na postać języka miały też oczywiście znane języki zapytań SQL i OQL. Prace nad językiem XQuery nie są jeszcze zakończone. Opracowano aż 12 dokumentów (patrz opisujących w sposób sformalizowany m.in. założenia języka, przypadki użycia języka, model danych oraz składnię i semantykę, a także rozszerzenia do przetwarzania pełnotekstowego. Propozycje specyfikacji języków XQuery 1.0 oraz XPath 2.0 zawarto w dokumentach [W3q04, W3p04]; mają one wciąż jednak status Working Draft, co oznacza, że prace nad standardami trwają i możliwe są jeszcze daleko idące zmiany. Wymagania stawiane XQuery: przynajmniej jedna ze składni języka powinna być czytelna dla człowieka,, język musi być deklaratywny (tzn. w zapytaniu nie trzeba kodować algorytmu jego wykonania),, język musi być niezależny od protokołów i środowisk użycia,, język powinien uwzględniać model danych XML, przestrzenie nazw i schematy,, zapytania muszą działać nawet jeśli schematy przeszukiwanych dokumentów nie są dostępne,,
27 język musi być typowany, typowanie musi obejmować typy proste i złożone,, niezbędne jest istnienie kwantyfikatorów (ogólnego i szczegółowego),, wymagana jest możliwość operowania na hierarchiach i sekwencjach struktur dokumentów,, musi istnieć możliwość łączenia informacji z wielu źródeł,, niezbędna jest możliwość wykonywania agregacji,, język musi umożliwiać transformacje dokumentów XML i możliwość tworzenia wynikowych struktur XML,, potrzebna jest możliwość nawigowania po odwołaniach (referencjach) do identyfikatorów. Język XQuery jest konsekwentnie zaprojektowanym językiem funkcyjnym. Konstrukcje języka składają się zatem z wyrażeń przyjmujących pewne wartości. Wszystkie wyrażenia XQuery zwracają tzw. sekwencje. Podstawowym wyrażeniem dostającym się do danych jest ścieżka XPath w wersji 2.0 tego języka wynikiem ścieżki jest właśnie sekwencja (por.[tra03]). W XQuery dostępna jest niemal pełna składnia ścieżek XPath 2.0, z nielicznymi wyjątkami. Podstawowe elementy języka: Sekwencje Sekwencja jest to uporządkowany ciąg węzłów lub wartości atomowych (prostych). Pojedyncza wartość atomowa jest utożsamiana z jednoelementową sekwencją; oznacza to, że nie są tu potrzebne jawne konwersje. Sekwencje nie mogą być zagnieżdżane. Porządek w sekwencji zwracanej przez wyrażenie jest inaczej niż w SQL ściśle określony; jest to tzw. porządek dokumentu, tzn. elementy występują w takiej kolejności, w jakiej były w przetwarzanym dokumencie. Kolejność tę można zmienić żądając sortowania za pomocą klauzuli order by. Sekwencje mogą być wynikiem wyrażeń, można je też zapisać jawnie ujmując elementy, oddzielone przecinkami, w nawiasy zwykłe. Pustą sekwencję zapisuje się w postaci pary nawiasów:().
28 Wyrażenia Wszystkie konstrukcje języka XQuery składają się z wyrażeń. Wyrażenia zwracają sekwencje i mogą być zagnieżdżane. Wyrażenia mogą zawierać stałe, jawnie zapisane sekwencje, odwołania do zmiennych, wywołania funkcji wbudowanych i funkcji użytkownika, ścieżki XPath, tzw. wyrażenia FLWOR i warunkowe oraz operatory. Zmienne Nazwy zmiennych poprzedzane są znakiem dolara. Zmienne mogą być deklarowane, ale nie jest to obowiązkowe. Operatory i porównania XQuery dostarcza zestawu typowych operatorów arytmetycznych i logicznych. Nietypowe są natomiast operatory porównania. Operatory porównujące proste wartości zapisuje się eq, ne, lt, le, gt, ge. Jeśli operandem jest jednoelementowa sekwencja, to następuje niejawnie tzw. atomizacja, tj. konwersja na wartość atomową. Ogólne operatory porównań, zapisywane =,!=, <, <=, >, >=, porównują całe sekwencje stanowiąc kombinację zwykłego porównania wartości z kwantyfikatorem szczegółowym (exists). Oznacza to, że wynik ogólnego porównania sekwencji jest prawdą, jeśli tylko istnieją takie elementy porównywanych sekwencji, które spełniają żądane porównanie. Operatory porównywania węzłów: is, <<, >>, badają identyczność (w sensie tożsamości) węzłów oraz ich porządek w dokumencie. Do porównywania całych gałęzi (sekwencji wraz z węzłami podrzędnymi) służy funkcja wbudowana deep-equal(). Funkcje wbudowane W XQuery można korzystać z wielkiej liczby funkcji wbudowanych. Funkcje te obejmują m.in. operacje na sekwencjach, węzłach i wartościach, operacje arytmetyczne, agregacje, operacje na tekstach, wyrażenia regularne, operacje na datach i czasie oraz obsługę błędów i śledzenie.
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ółowoSł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ółowoXQuery. 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ółowoPrezentacja 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ółowoWprowadzenie 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ółowoPlan 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ółowoPlan 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ółowoXQTav - 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ółowoWprowadzenie 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ółowoXML 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ółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Bardziej szczegółowoModel 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ółowoAplikacje 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ółowoRola 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ółowoWYKŁ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ółowoExtensible 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ółowoXPath 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ółowo29. 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ółowoPodstawy 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ółowoWykorzystywanie parsera DOM w programach Java i PL/SQL
Wykorzystywanie parsera DOM w programach Java i PL/SQL Maciej Zakrzewicz mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Parser DOM Aplikacja DOM API Parser DOM Dokument XML Drzewo DOM Parser
Bardziej szczegółowoXML 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ółowo5.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ółowoPrzykł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ółowoPrzykł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ółowoWyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.
Wyjątki Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wydaje się, że żaden użytkownik oprogramowania nie lubi, kiedy stosowany program nagle zawiesza się,
Bardziej szczegółowoXML 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ółowoJAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Bardziej szczegółowoUwagi 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ółowoJę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ółowoTOPIT 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ółowoPerl a XML. Narzędzia informatyczne w językoznawstwie. Generowanie danych XML - Przykład. Generowanie danych XML. Perl - Przetwarzanie XML
Perl a XML Narzędzia informatyczne w językoznawstwie Perl - Przetwarzanie XML Marcin Junczys-Dowmunt junczys@amu.edu.pl Zakład Logiki Stosowanej http://www.logic.amu.edu.pl 31 modułów w CPAN zawiera w
Bardziej szczegółowoPodstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoJę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ółowoExtensible 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ółowoLaboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
Bardziej szczegółowoPodstawowe 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ółowoZaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w
Bardziej szczegółowoSkrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać
MatLab część III 1 Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać komentarze poprzedzone znakiem % Skrypty
Bardziej szczegółowoAplikacje 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ółowoRozdział 4 KLASY, OBIEKTY, METODY
Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej
Bardziej szczegółowoDlaczego GML? Gdańsk r. Karol Stachura
Dlaczego GML? Gdańsk 13.03.2017r. Karol Stachura Zanim o GML najpierw o XML Dlaczego stosuje się pliki XML: Tekstowe Samoopisujące się Elastyczne Łatwe do zmiany bez zaawansowanego oprogramowania Posiadające
Bardziej szczegółowoZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia
ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
Bardziej szczegółowoJęzyki programowania zasady ich tworzenia
Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie
Bardziej szczegółowoNarzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
Bardziej szczegółowoDTD - 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ółowoOpis: 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ółowoextensible Markup Language, cz. 1 Marcin Gryszkalis, mg@fork.pl
extensible Markup Language, cz. 1 Marcin Gryszkalis, mg@fork.pl Plan wykładu Wprowadzenie: historia rozwoju technik znakowania tekstu Motywacje dla prac nad XML-em Podstawowe koncepcje XML-a XML jako metajęzyk
Bardziej szczegółowoPakiety i interfejsy. Tomasz Borzyszkowski
Pakiety i interfejsy Tomasz Borzyszkowski Pakiety podstawy W dotychczasowych przykładach nazwy klas musiały pochodzić z jednej przestrzeni nazw, tj. być niepowtarzalne tak, by nie doprowadzić do kolizji
Bardziej szczegółowoDokumentacja do API Javy.
Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu
Bardziej szczegółowoPodstawy 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ółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych
Bardziej szczegółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Bardziej szczegółowoCzym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa
1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko
Bardziej szczegółowoRodzaje 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ółowoPHP: bloki kodu, tablice, obiekty i formularze
1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują
Bardziej szczegółowoJAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.
JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod
Bardziej szczegółowoInformacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;
Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze
Bardziej szczegółowoGML w praktyce geodezyjnej
GML w praktyce geodezyjnej Adam Iwaniak Kon-Dor s.c. Konferencja GML w praktyce, 12 kwietnia 2013, Warszawa SWING Rok 1995, standard de jure Wymiany danych pomiędzy bazami danych systemów informatycznych
Bardziej szczegółowoJęzyk programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści
Język programowania DELPHI / Andrzej Marciniak. Poznań, 2012 Spis treści Przedmowa 11 Przyjęta notacja 13 Rozdział 1. Wprowadzenie 15 1.1. Ogólne zasady programowania zorientowanego obiektowo 15 1.2. Historia
Bardziej szczegółowoProgramowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków
Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................
Bardziej szczegółowo2 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ółowoJęzyk XML Query. Czym jest XML Query? Po co XML Query? Tomasz Traczyk. Czym jest XML Query? Wprowadzenie do składni języka.
Język XML Query Język XML Query Tomasz Traczyk ttraczyk@ia.pw.edu.pl http://www.ia.pw.edu.pl/~ttraczyk/ Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Automatyki i Informatyki
Bardziej szczegółowoWykład 8: klasy cz. 4
Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD
Bardziej szczegółowoJava EE produkcja oprogramowania
Java EE produkcja oprogramowania PPJ PODSTAWY PROGRAMOWANIA W JAVIE PODSTAWY JĘZYKA JAVA 1 Warszawa, 2016Z 2 Ogólna charakterystyka języka Java 3 Java 1/2 Język programowania Java został opracowany przez
Bardziej szczegółowoProcesy biznesowe w praktyce. Przykłady użycia z wykorzystaniem jbpm 4.4
Procesy biznesowe w praktyce Przykłady użycia z wykorzystaniem jbpm 4.4 1 Agenda Definicja i zastosowanie procesu biznesowego Języki dziedzinowe (DSL) a rozwiązania BPM JBPM: jbpm 4.4 krótka charakterystyka
Bardziej szczegółowoJAVAScript 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ółowoXML 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ółowoInformatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
Bardziej szczegółowoJęzyki skryptowe w programie Plans
Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów
Bardziej szczegółowoJavadoc. Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka
Javadoc Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka Wprowadzenie do Javadoc Treść prezentacji: http://students.mimuw.edu.pl/~as219669/javadoc.pdf Zadania: http://students.mimuw.edu.pl/~as219669/zadanie.rar
Bardziej szczegółowoTypy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone
Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa
Bardziej szczegółowoPrzetwarzanie 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ółowoXML 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ółowoPo 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ółowoProgramowanie 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ółowoCw.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ółowoProgramowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Bardziej szczegółowoMetody Kompilacji Wykład 1 Wstęp
Metody Kompilacji Wykład 1 Wstęp Literatura: Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman: Compilers: Princiles, Techniques, and Tools. Addison-Wesley 1986, ISBN 0-201-10088-6 Literatura: Alfred V. Aho,
Bardziej szczegółowoWprowadzenie 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ółowoDokument 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ółowoProgramowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++
Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu
Bardziej szczegółowoSQL, LIKE, IN, CASE, EXISTS. Marcin Orchel
SQL, LIKE, IN, CASE, EXISTS Marcin Orchel Spis treści 1 LIKE 2 2 BETWEEN 4 3 IN 5 4 EXISTS 6 5 WYRAŻENIA CASE 7 6 Zadania 9 1 Rozdział 1 LIKE Predykat LIKE jest testem dopasowującym wzorzec łańcucha. Składnia
Bardziej szczegółowoDefiniowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema
Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema Globalne i lokalne deklaracje elementów i atrybutów Deklaracje lokalne:
Bardziej szczegółowoParadygmaty programowania
Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów
Bardziej szczegółowoProgramowanie Komponentowe WebAPI
Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,
Bardziej szczegółowoXML Schema. Bartłomiej Świercz. Łódź, 19 listopada 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz XML Schema
XML Schema Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 19 listopada 2005 roku Wstęp XML Schema służy do definiowania struktury dokumentu XML (pełni podobną funkcję jak DTD).
Bardziej szczegółowoTworzenie raportów XML Publisher przy użyciu Data Templates
Tworzenie raportów XML Publisher przy użyciu Data Templates Wykorzystanie Szablonów Danych (ang. Data templates) jest to jedna z metod tworzenia raportów w technologii XML Publisher bez użycia narzędzia
Bardziej szczegółowoKomunikacja i wymiana danych
Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX
Bardziej szczegółowoPHP: bazy danych, SQL, AJAX i JSON
1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji
Bardziej szczegółowoJava. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof
Bardziej szczegółowoProgramowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
Bardziej szczegółowoMyśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści
Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop. 2017 Spis treści Przedmowa 11 1. Jak w programie 21 Czym jest program? 21 Uruchamianie interpretera języka Python 22 Pierwszy
Bardziej szczegółowoBash - wprowadzenie. Bash - wprowadzenie 1/39
Bash - wprowadzenie Bash - wprowadzenie 1/39 Bash - wprowadzenie 2/39 Czym jest bash? Rysunek : Zadanie powłoki to ukrycie wywołań systemowych Bash - wprowadzenie 3/39 Czym jest bash? Przykład polecenia:
Bardziej szczegółowoDiagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com
Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,
Bardziej szczegółowoZasady budowy i przekazywania komunikatów XML w systemie kdpw_otc
Warszawa, 07 lutego 2013 Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc Wersja 1.4.2 1 Spis treści Tabela zmian... 3 Wstęp... 4 Budowa komunikatów XML... 4 Przestrzenie nazw (namespaces)...
Bardziej szczegółowo