Język XSLT. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz
|
|
- Teresa Jaworska
- 8 lat temu
- Przeglądów:
Transkrypt
1 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 wynikowe Dokonywać selekcji oraz porządkowania rezultatów transformacji 2 1
2 W3C ZVON XSLT tutorial w języku polskim: W3Schools XSLT tutorial AltovaXML procesor XML (walidacja oraz transformacja dokumentu XML) Dowolna przeglądarka internetowa 3 Struktura dokumentu XSLT Szablony oraz metody ich wywoływania Porządkowanie informacji wynikowych Transformacja warunkowa Modyfikacja dokumentu XML dodawanie i usuwanie informacji 4 2
3 XSLT extensible Stylesheet Language Transformation XSL = XSLT + XSL-FO+ XPATH przestrzeń nazw Zastosowanie przekształcanie dokumentu źródłowego XML wizualizacja danych 5 Dokument XML Dokument XSLT Procesor XSLT Dokument wynikowy XML, HTML, TXT 6 3
4 Dokument XSLT Format XML Zawiera zbiór reguł transformacji dokumentu XML Reguły transformacji wzorce (XPath) szablony (fragmenty dokumentu wynikowego) 7 <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:output method="html"... /> <xsl:template match=" "> <xsl:template match=" "> <xsl:template match=" "> Format dokumentu wynikowego Reguły (szablony) transformacji Wzorzec dopasowania 8 4
5 <apply-templates/> <apply-templates select= wzorzec /> Wyznaczenie zbioru węzłów Dopasowanie szablonu do każdego węzła ze zbioru 9 <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="sklep.xsl"?> <sklep> <towar kod="2213" ilosc="150" jm="szt"> <nazwa>chleb razowy</nazwa> <cena waluta="pln">1.5</cena> </towar> <towar kod="2115" ilosc="21" jm="szt"> <nazwa>margaryna palma</nazwa> <cena waluta="pln">1.99</cena> </towar> <towar kod="2010" ilosc="92" jm="kg"> <nazwa>cukier</nazwa> <cena waluta="eur">0.7</cena> </towar> <towar kod="2520" ilosc="73" jm="szt"> <nazwa>margaryna</nazwa> <cena waluta="pln">2.45</cena> </towar> </sklep> Powiązanie z plikiem transformacji 10 5
6 Wywoływane, gdy w dokumencie transformacji nie został określony szablon jawny węzeł elementu, węzeł dokumentu <xsl:template match="* /"> <xsl:apply-templates /> <xsl:template match="@* text()"> <xsl:value-of select="." /> Przykład: Dokument transformacji XSLT <?xml version="1.0"?> <xsl:stylesheet version="1.0 xmlns:xsl= Efekt końcowy w przeglądarce węzeł atrybutu, węzeł tekstowy pobranie zawartości chleb razowy 1.5 margaryna palma 1.99 cukier 0.7 margaryna Dokument transformacji XSLT chleb razowy<br/> margaryna palma<br/> cukier<br/> margaryna<br/> Efekt końcowy w przeglądarce chleb razowy margaryna palma cukier margaryna 12 6
7 Dokument transformacji XSLT KaŜda transformacja rozpoczyna się zawsze od wykonania zawartości szablonu dla węzła głównego (/). Czy istnieje szablon pasujący do węzła głównego? Tak. Zatem jego zawartość zostanie wykonana. 13 Dokument transformacji XSLT Elementy szablonu, które nie naleŝą do przestrzeni nazw schematu (nie posiadają prefiksu xsl) zostają skierowane do dokumentu wynikowego w postaci niezmienionej
8 Dokument transformacji XSLT Natomiast elementy szablonu, które naleŝą do przestrzeni nazw schematu (posiadają prefiks xsl) stanowią instrukcje transformacji i są wykonywane przez procesor Dokument transformacji XSLT Instrukcja apply-templates: 1. Wyznacza wszystkie węzły dzieci (child) dla węzła kontekstowego (w tym wypadku węzłem kontekstowym jest /, a węzły dzieci to sklep) 2. Dla kaŝdego wyznaczonego węzła odszukuje i wykonuje szablon
9 Dokument transformacji XSLT Czy istnieje szablon pasujący do węzła sklep? Nie. Zatem zostanie wykonany szablon domyślny. <xsl:template match="* /"> <xsl:apply-templates /> Dokument transformacji XSLT Zawartością szablonu domyślnego jest instrukcja apply-templates, która wyznaczy węzły dzieci dla węzła kontekstowego (sklep) i dopasuje dla nich szablony. /> <xsl:template match="* /"> <xsl:apply-templates />
10 Dokument transformacji XSLT Dla węzła sklep istnieją 4 węzły dzieci o nazwach towar. Czy istnieje szablon pasujący do węzła towar? Tak. Zatem jego zawartość zostanie wykonana (czterokrotnie, dla kaŝdego węzła towar) Dokument transformacji XSLT Wykonanie szablonu dla pierwszego węzła towar spowoduje wykonanie instrukcji apply-templates zawartej w tym szablonie. Instrukcja ta nie wskazuje na wszystkie dzieci węzła kontekstowego (towar), ale na węzły dzieci o konkretnej nazwie (nazwa). Tylko dla takich węzłów zostanie dopasowany szablon
11 Dokument transformacji XSLT Szablon zawiera instrukcję value-of zwracającą wartość węzła. Wartość ta jest skierowana do pliku wynikowego. Zwróć uwagę na element <br/>. PoniewaŜ nie posiada on prefiksu xsl, zostanie on równieŝ skierowany do dokumentu wynikowego. chleb razowy<br/> 21 Dokument transformacji XSLT Wykonanie szablonu dla pozostałych trzech węzłów towar przebiega identycznie, jak zostało to opisane. Rezultatem są kolejne trzy linie w pliku wynikowym. chleb razowy<br/> cukier<br/> margaryna<br/> margaryna palma<br/> 22 11
12 Dokument transformacji XSLT <xsl:apply-templates select="//nazwa"> </xsl:apply-templates> chleb razowy<br/> cukier<br/> margaryna<br/> margaryna palma<br/> Efekt końcowy w przeglądarce chleb razowy cukier margaryna margaryna palma 23 Dokument transformacji XSLT <xsl:apply-templates select="//nazwa"> <xsl:sort order="ascending" data-type="text"/> </xsl:apply-templates> chleb razowy<br/> cukier<br/> margaryna<br/> margaryna palma<br/> Efekt końcowy w przeglądarce chleb razowy cukier margaryna margaryna palma 24 12
13 Dokument transformacji XSLT <xsl:apply-templates select="//nazwa"/> <xsl:number count="towar" format="1. "/> 1. chleb razowy<br/> 2. margaryna palma<br/> 3. cukier<br/> 4. margaryna<br/> Efekt końcowy w przeglądarce 1. chleb razowy 2. margaryna palma 3. cukier 4. margaryna 25 Dokument transformacji XSLT <xsl:apply-templates select="//nazwa"/> <xsl:if test="../cena/@waluta!='eur'"> </xsl:if> chleb razowy<br/> margaryna palma<br/> margaryna<br/> Efekt końcowy w przeglądarce chleb razowy margaryna palma margaryna 26 13
14 Dokument transformacji XSLT <xsl:apply-templates select="//nazwa"/> <xsl:choose> <xsl:when <b><xsl:value-of select="."/></b> </xsl:when> <xsl:otherwise> <xsl:value-of select="."/> </xsl:otherwise> </xsl:choose> <br/> chleb razowy<br/> margaryna palma<br/> <b>cukier</b><br/> margaryna<br/> Efekt końcowy w przeglądarce chleb razowy margaryna palma cukier margaryna 27 Dokument transformacji XSLT <xsl:apply-templates select="//nazwa"/> <xsl:value-of select="."/> <xsl:call-template name="konieclinii"/> <xsl:template name="konieclinii"> <br/> chleb razowy<br/> margaryna palma<br/> cukier<br/> margaryna<br/> Efekt końcowy w przeglądarce chleb razowy margaryna palma cukier margaryna 28 14
15 Dokument transformacji XSLT <xsl:for-each select="//nazwa"> <xsl:value-of select="."/> <br/> </xsl:for-each> chleb razowy<br/> margaryna palma<br/> cukier<br/> margaryna<br/> Efekt końcowy w przeglądarce chleb razowy cukier margaryna margaryna palma 29 Przypisanie nazwy dla wzorca dopasowania <xsl:variable name="nazwatowaru" select="//nazwa"/> <xsl:apply-templates select="$nazwatowaru"> </xsl:apply-templates> 30 15
16 Dokument transformacji XSLT <xsl:variable name="liczbatowarow"> <xsl:value-of select="count(//towar)"/> </xsl:variable> <xsl:apply-templates select="//nazwa"> <xsl:sort order="ascending" data-type="text"/> </xsl:apply-templates> <xsl:value-of select="position()"/> <xsl:text>/</xsl:text> <xsl:value-of select="$liczbatowarow"/> <xsl:text> </xsl:text> 1/4 cukier<br/> 2/4 chleb razowy<br/> 3/4 margaryna<br/> 4/4 margaryna palma<br/> Efekt końcowy w przeglądarce 1/4 cukier 2/4 chleb razowy 3/4 margaryna 4/4 margaryna palma Źródło: opracowanie na podstawie example33_ch9.html 31 Wywołanie szablonu dla zmiennych wartości <xsl:apply-templates select="//nazwa"> <xsl:with-param name="waluta" select=" pln'"/> </xsl:apply-templates> wywołanie szablonu z parametrem WALUTA = pln definicja parametru wartość domyślna: eur <xsl:param name="waluta" select="'eur'"/> <xsl:value-of select="text()[../../cena/@waluta=$waluta]"/><br/> chleb razowy margaryna margaryna palma 32 16
17 Wywołanie szablonu z wartością domyślną parametru <xsl:apply-templates select="//nazwa"> </xsl:apply-templates> <xsl:param name="waluta" select="'eur'"/> <xsl:value-of select="text()[../../cena/@waluta=$waluta]"/><br/> cukier 33 Określanie separatora dziesiętnego <xsl:decimal-format/> Określanie liczby miejsc dziesiętnych format-number() Przykład: <xsl:decimal-format decimal-separator="," /> <xsl:value-of select="format-number(., '#.00')"/> <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:decimal-format name="pln" decimal-separator="." grouping-separator=","/> <xsl:value-of select="format-number( , '#,###.00 zł', 'pln')"/> Oprac. na podstawie: 26, zł 34 17
18 Tworzenie struktury <xsl:element> <xsl:attribute> <xsl:comment> <xsl:processing-instruction> <xsl:attribute-set> Kopiowanie struktury <xsl:copy> <xsl:copy-of> Usuwanie elementów i/lub atrybutów Zastosowanie szablonu pustego 35 Kopiowanie struktury dokumentu z wykorzystaniem elementu COPY-OF <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:output method="xml" indent="yes" /> <xsl:copy-of select="*" /> 36 18
19 Kopiowanie struktury dokumentu z wykorzystaniem elementu COPY <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:output method="xml" indent="yes" /> <xsl:template match="@* node()"> <xsl:copy> <xsl:apply-templates select="@* node()"/> </xsl:copy> 37 <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:output method="xml" indent="yes" /> <xsl:template match="@* node()"> <xsl:copy> <xsl:apply-templates select="@* node()"/> </xsl:copy> Uzupełnianie struktury dokumentu XML o nowe informacje <xsl:copy> <xsl:copy-of select="@*"/> <xsl:attribute name="gatunek">1</xsl:attribute> <xsl:element name="producent">polmark SA</xsl:element> </xsl:copy> 38 19
20 <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:output method="xml" indent="yes" /> <xsl:template node()"> <xsl:copy> <xsl:apply-templates node()"/> </xsl:copy> Usunięcie informacji dotyczącej ceny z dokumentu XML <xsl:template match="cena"/> 39 20
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ół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ółowoWprowadzenie 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ół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ół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ółowoXML 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ół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ółowoKurs 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ół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ółowoMETAJĘ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ół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ół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ółowoXPath 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ółowoLABORATORIUM 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ółowoXSL, 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ółowoXML 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ółowoPrzetwarzanie 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ół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ół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ółowoWprowadzenie 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ółowoXML 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ół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ółowoSł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ółowoPrzetwarzanie 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ółowoXSLT. 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ół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ół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ółowoUKŁ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ółowoXML 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ółowoPrezentacja 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ółowoXSLT. 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<meta:wartosc>http://rwd.sekap.pl/wzor/2013/12/05/1432/styl.xsl</meta:wartosc> </meta:identyfikator> <meta:rodzajrelacji>maczesc</meta:rodzajrelacji>
Załącznik Nr 2 do Uchwały Nr XLIII/427/2013 Rady Miejskiej w Sławkowie z dnia 30.12.2013r.
Bardziej szczegółowoXML & XSLT. Programowanie w Javie 2
XML & XSLT Programowanie w Javie 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
Bardziej szczegółowoXSLT. Patryk Czarnik. XML i nowoczesne technologie zarzadzania treścia 2008/09. Instytut Informatyki UW. Patryk Czarnik 08 XSLT XML 2008/09 1 / 1
XSLT Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2008/09 Patryk Czarnik 08 XSLT XML 2008/09 1 / 1 XSLT status XSLT Wersja 1.0 listopad 1999 powiazane z XPath
Bardziej szczegółowoEgzamin 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ółowoXSLT. 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ółowoPrezentacja dokumentów XML
Prezentacja dokumentów XML Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarządzania treścią 2008/09 Rozdzielenie treści od wyglądu Dokumenty źródłowe: tylko treść (dane), znaczniki
Bardziej szczegółowoXPath XML Path Language. XSL Extensible Stylesheet Language. Wyrażenia XPath. XPath data model. Location paths. Osie (axes)
XPath XML Path Language 6 listopada 2003 XSL Extensible Stylesheet Language Problem: jednoznaczne adresowanie fragmentów struktury dokumentu XML. Rozwiązanie: drzewiasty model struktury dokumentu, normalizacja
Bardziej szczegółowoJę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ółowoXML 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ółowoMETAJĘ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λ parametry. wartość funkcji suma = λ x y. x + y kwadrat = λ x. x * x K.M. Ocetkiewicz, 2008 WETI, PG 2 K.M. Ocetkiewicz, 2008 WETI, PG 3
Organizacja przedmiotu Języki programowania (Programming language concepts) Krzysztof M. Ocetkiewicz pok. 205 email: Krzysztof.Ocetkiewicz@eti.pg.gda.pl konsultacje: czwartek 10:15-11.00, 13:15-14:00 projekt:
Bardziej szczegółowoTechnologie 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ółowoDlaczego Python jest lepszy od XSLT?
Dlaczego Python jest lepszy od XSLT? Jarek Miszczak 10 lutego 2005 roku Streszczenie Celem artykułu jest przyjrzenie się językowi XSLT jako uniwersalnemu językowi programowania i porówananie go z językiem
Bardziej szczegółowoXSLT. Patryk Czarnik. XML i nowoczesne technologie zarządzania treścią 2011/12
XSLT Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarządzania treścią 2011/12 Możliwości XSLT Idea Instrukcje sterujące Sortowanie i grupowanie Tworzenie wyniku Zmienne i parametry
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ółowoPrezentacja 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ółowoSPECYFIKACJA FUNKCJONALNA OPROGRAMOWANIA 11 marca 2014 XLZEBRAPRINTER
XLZEBRAPRINTER Oprogramowanie XLZebraPrinter służy do wykonywania dowolnych wydruków etykiet (łącznie z możliwością wydruku kodów kreskowych 1D oraz 2D) na podstawie danych pochodzących bezpośrednio z
Bardziej szczegółowoXSLT. Patryk Czarnik. XML i nowoczesne technologie zarzadzania treścia 2011/12. Instytut Informatyki UW. Patryk Czarnik 08 XSLT XML 2011/12 1 / 54
XSLT Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2011/12 Patryk Czarnik 08 XSLT XML 2011/12 1 / 54 1 Idea Instrukcje sterujace Sortowanie i grupowanie Tworzenie
Bardziej szczegółowoUCHWAŁA NR II/17/2014 RADY GMINY PRZODKOWO. z dnia 30 grudnia 2014 r.
UCHWAŁA NR II/17/2014 RADY GMINY PRZODKOWO z dnia 30 grudnia 2014 r. w sprawie elektronicznego wzoru deklaracji o wysokości opłaty za gospodarowanie odpadami komunalnymi oraz warunków i trybu składania
Bardziej szczegółowoRodzaje przetwarzania XSLT (1) XSLT część 2. Inne standardy związane z XML-em. Rodzaje przetwarzania XSLT (2) Zmienne. Zaawansowane możliwości XSLT
Rodzaje przetwarzania XSLT (1) XSLT część 2. Inne standardy związane z XML-em Przetwarzanie sterowane strukturą dokumentu źródłowego: przechodzimy po strukturze dokumentu źródłowego, generujemy fragmenty
Bardziej szczegółowoXML i nowoczesne technologie zarządzania treścią
XML i nowoczesne technologie zarządzania treścią Egzamin, 1 lutego 2013 r. Imię i nazwisko: Czas: 75 minut. Pytania testowe są wielokrotnego wyboru jeśli nie napisano inaczej, możliwy jest dowolny układ
Bardziej szczegółowoWprowadzenie do standardu XSL
Wprowadzenie do standardu XSL Tomasz Przechlewski 2002 1 XSL 2 2 XPath 2 2.1 Wstęp................................................. 2 2.2 Ścieżki dostępu............................................ 3 2.3
Bardziej szczegółowoInformacja podatku łączny styl
Informacja podatku łączny styl Załącznik nr 4 do uchwały Nr XI/99/2015 Rady Gminy Kolbudy z dnia 22 września 2015r.
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
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ółowoLiteratura. Głównie informacje w sieci: www.wikipedia.pl www.w3.org www.google.pl www.w3schools.com/xsl http://xmlsoft.org/
XML DTD XSLT Literatura Głównie informacje w sieci: www.wikipedia.pl www.w3.org www.google.pl www.w3schools.com/xsl http://xmlsoft.org/ 2 SGML (ang. Standard Generalized Markup Language) Standardowy uogólniony
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ółowoRok akademicki: 2013/2014 Kod: ZZIP IN-s Punkty ECTS: 2. Kierunek: Zarządzanie i Inżynieria Produkcji Specjalność: Informatyka w zarządzaniu
Nazwa modułu: Elektroniczna wymiana danych w przemyśle Rok akademicki: 2013/2014 Kod: ZZIP-2-306-IN-s Punkty ECTS: 2 Wydział: Zarządzania Kierunek: Zarządzanie i Inżynieria Produkcji Specjalność: Informatyka
Bardziej szczegółowoXQuery. sobota, 17 grudnia 11
XQuery XQuery XQuery pozwala na wydobywanie danych z dokumentów XML w sposób podobny do tego w jaki używany jest SQL do tabel w bazach danych. XQuery to język do wykonywania zapytań na dokumentach XML.
Bardziej szczegółowoZałącznik nr 2 do uchwały Nr XXII/ 141 /2013 Rady Gminy Bojszowy z dnia 13.03.2013r. <?xml version="1.0" encoding="utf-8"?>
Załącznik nr 2 do uchwały Nr XXII/ 141 /2013 Rady Gminy Bojszowy z dnia 13.03.2013r.
Bardziej szczegółowoPlan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza
4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza
Bardziej szczegółowoZłożone komponenty JSF wg
Złożone komponenty JSF wg https://docs.oracle.com/javaee/7/jeett.pdf http://www.coreservlets.com Technologie internetowe 8 Technologie internetowe 8, Zofia 1 Opis znaczników obsługiwanych przez Facelets
Bardziej szczegółowoXML i jego zastosowania
Akademia Górniczo - Hutnicza im. Stanisława Staszica w Krakowie Podręcznik do ćwiczeń laboratoryjnych XML i jego zastosowania Mgr inż. Joanna Chwastowska Dr inż. Stanisław Polak 13 lipca 2012 Spis treści
Bardziej szczegółowoPlan 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ółowoJęzyk XML Schema. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz
Język Schema Po zrealizowaniu materiału student będzie w stanie Stworzyć formalny opis dokumentu Deklarować elementy i atrybuty Określić strukturę elementów w dokumencie Operować dostępnymi typami danych
Bardziej szczegółowoD:\Program Files\Temp\Deklaracja o wysokości opłaty za gospodarowanie odpadami komunalnymi-3.xml 6 maja 2013 14:16
Bardziej szczegółowo
Prezentacja dokumentów XML
Prezentacja dokumentów XML Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Patryk Czarnik (MIMUW) 06 Prezentacja XML 2007/08 1 / 33 Plan 1 Arkusze stylu
Bardziej szczegółowoBlockly Kodowanie pomoc.
1 Blockly Kodowanie pomoc. Słowniczek: Zmienna posiada nazwę wywoływaną w programie oraz miejsce na przechowywanie wartości. Instrukcja warunkowa pozwala na wykonanie instrukcji w zależności od warunku
Bardziej szczegółowoZasady Nazewnictwa. Dokumentów XML 2007-11-08. Strona 1 z 9
Zasady Nazewnictwa Dokumentów 2007-11-08 Strona 1 z 9 Spis treści I. Wstęp... 3 II. Znaczenie spójnych zasady nazewnictwa... 3 III. Zasady nazewnictwa wybrane zagadnienia... 3 1. Język oraz forma nazewnictwa...
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ółowoDokumentacja Użytkownika Systemu
Dokumentacja Użytkownika Systemu Porównywarki cen Liquid Wersja 2016.2 Spis treści 1 WSTĘP... 3 2 OPIS OBSZARU... 4 2.1 TOWARY... 5 2.2 RELACJE... 5 2.3 EDYTUJ... 6 2.3.1 KONFIGURACJA... 6 2.3.2 KATEGORIE...
Bardziej szczegółowo252 Bazy danych. Praca z językiem XML
252 Bazy danych Praca z językiem XML Bazy danych 253 Przegląd zagadnień Przechowywanie danych w XML Wybieranie danych z XML Podsumowanie Laboratorium XML (ang. extensible Markup Language) jest językiem
Bardziej szczegółowoSystem imed24 Instrukcja Moduł Analizy i raporty
System imed24 Instrukcja Moduł Analizy i raporty Instrukcja obowiązująca do wersji 1.8.0 Spis treści 1. Moduł Analizy i Raporty... 3 1.1. Okno główne modułu Analizy i raporty... 3 1.1.1. Lista szablonów
Bardziej szczegółowoUkład informacji i powiązań między danymi w deklaracji w formacie XML
Załącznik nr 2 do Uchwały Nr... Rady Miejskiej w Czerwionce-Leszczynach z dnia... Układ informacji i powiązań między danymi w deklaracji w formacie XML
Bardziej szczegółowoPrezentacja dokumentów XML
Prezentacja dokumentów XML Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Arkusze stylu Rozdzielenie treści od wygladu Przypisanie stylu do dokumentu CSS
Bardziej szczegółowoAplikacje 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ół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ółowoInstrukcja użytkownika Porównywarki cen Liquid
Instrukcja użytkownika Porównywarki cen Liquid Wersja Spis treści 1 Wstęp... 3 2 Opis obszaru... 4 Towary... 5 Relacje... 6 Edytuj... 7 2.3.1 Konfiguracja... 7 2.3.2 Kategorie... 7 2.3.3 Ustawienia...
Bardziej szczegółowoKazienko P.: Rodzina języków XML. Software nr 6 (90) czerwiec 2002, s. 22-27. Rodzina języków XML. Przemysław Kazienko
Rodzina języków XML Przemysław Kazienko Rok 2001 przyniósł kilka ważnych wydarzeń związanych z językiem XML. Można powiedzieć, że ukończony został drugi etap jego rozwoju (pierwszym było opublikowanie
Bardziej szczegółowoXML 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ół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ół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ół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ółowoUCHWAŁA NR L/932/13 RADY MIASTA MYSŁOWICE. z dnia 19 grudnia 2013 r.
UCHWAŁA NR L/932/13 RADY MIASTA MYSŁOWICE z dnia 19 grudnia 2013 r. w sprawie określenia warunków i trybu składania deklaracji o wysokości opłaty za gospodarowanie odpadami komunalnymi za pomocą środków
Bardziej szczegółowoLaboratorium 7 Blog: dodawanie i edycja wpisów
Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą
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ółowoXML i nowoczesne metody zarządzania treścią
XML i nowoczesne metody zarządzania treścią Wykład 14: Studium przypadku: System SET Władysław Baksza, Maciej Ogrodniczuk MIMUW, 14 stycznia 2010 Wykład 14: Studium przypadku: System SET XML i nowoczesne
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ół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ółowoKurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML
Kurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML Wyrażenia regularne c:\> dir *.exe $ rm *.tmp Wyrażenia regularne 'alamakota' '(hop!)*' { '',
Bardziej szczegółowoInformatyka (10) dr inż. Katarzyna Palikowska Katedra Transportu Szynowego i Mostów p. 4 Hydro
Informatyka (10) dr inż. Katarzyna Palikowska Katedra Transportu Szynowego i Mostów p. 4 Hydro katpalik@pg.gda.pl katarzyna.palikowska@wilis.pg.gda.pl Architektura Klient-Serwer Gruby klient Cienki klient
Bardziej szczegółowoMINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI
MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI ul. Wspólna 1/3 00-529 Warszawa ZASADY NAZEWNICTWA DOKUMENTÓW XML Projekt współfinansowany Przez Unię Europejską Europejski Fundusz
Bardziej szczegółowoUkład informacji i powiązań między danymi w deklaracji o wysokości opłaty za gospodarowanie odpadami komunalnymi
Załącznik Nr 2 do uchwały nr XLIX/392/2013 Rady Miasta Marki z dnia 19 grudnia 2013 roku Układ informacji i powiązań między danymi w deklaracji o wysokości opłaty za gospodarowanie odpadami komunalnymi
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ółowoMETODY REPREZENTACJI INFORMACJI
SKRYPT DO LABORATORIUM METODY REPREZENTACJI INFORMACJI ĆWICZENIE 5: Przekształcanie dokumentów XML XSL FO autor: dr inż. Jacek Rumiński Gdańsk, 2010 Projekt Przygotowanie i realizacja kierunku inżynieria
Bardziej szczegółowoROZPORZĄDZENIE MINISTRA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI [1]) z dnia... 2006 r.
Źródło: http://bip.mswia.gov.pl/bip/projekty-aktow-prawnyc/2006/584,projekt-rozporzadzenia-ministra-swia-z-dnia-2006-r-w-s prawie-wymagan-technicznyc.html Wygenerowano: Poniedziałek, 4 stycznia 2016, 08:37
Bardziej szczegółowoAplikacje WWW Wprowadzenie
Aplikacje WWW Wprowadzenie Beata Pańczyk na podstawie http://www.e-informatyka.edu.pl/ http://wazniak.mimuw.edu.pl/index.php?title=aplikacje_www Plan wykładu Składniki architektury WWW: klient HTTP, serwer
Bardziej szczegółowoXML extensible Markup Language 7
XML extensible Markup Language 7 XQuery Co to jest XQuery? XQuery to język zapytań dla XML. XQuery jest dla XML tym czym SQL dla baz danych, a SPARQL dla RDF. XQuery wykorzystuje wyrażenia XPath. XQuery
Bardziej szczegółowoUEK 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