XML, DTD, Schema Zaawansowane Aplikacje Internetowe Dawid Weiss.

Slides:



Advertisements
Podobne prezentacje
Definiowanie typów dokumentów
Advertisements

Rafał Hryniów Tomasz Pieciukiewicz
Łódź, 29 października 2012 roku
Implementacja procesora XSLT w języku Ocaml
Podstawowe wiadomości
XHTML Podstawowe różnice.
Polsko-Japońska Wyższa Szkoła Technik Komputerowych
XPath XSLT – część XPath. XSLT – część 12 XPath – XML Path Language Problem: –jednoznaczne adresowanie fragmentów struktury dokumentu XML.
Definiowanie typów dokumentów Część 1: DTD 9 października 2003.
11 Poprawne modele zawartości. Zarządzanie zmianami struktury.
XPath. XSLT – część XPath. XSLT – część 12 XPath – XML Path Language Problem: –jednoznaczne adresowanie fragmentów struktury dokumentu XML.
11 XML a SGML. Standardy pokrewne.. 22 SGML a XML – różnice Deklaracja SGML: konfiguracja wyglądu znaczników, ich maksymalnej długości, itp., definicja.
Definiowanie typów dokumentów Część 1. DTD Definiowanie typów dokumentów – część 1: DTD2 Jak wygląda XML? st. asp. Jan Łapówka Dołowice Górne.
11 Definiowanie typów dokumentów. 22 Jak wygląda XML? st. asp. Jan Łapówka Dołowice Górne Wypadek dnia r o godzinie 13:13 ( piątek ) miał miejsce.
Poprawne modele zawartości. Zarządzanie zmianami struktury. 30 października 2003.
Definiowanie typów dokumentów Część 1. DTD, XML Schema.
XSL – część 2.
XML w zarządzaniu formularzami ubezpieczeniowymi ZUS
Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema.
Definiowanie typów dokumentów Część 1. DTD, XML Schema.
XSL Extensible Stylesheet Language 6 listopada 2003.
Zaawansowana składnia XML XML Schema
11 Definiowanie typów dokumentów. 22 Jak wygląda XML? st. asp. Jan Łapówka Dołowice Górne Wypadek dnia r o godzinie 13:13 ( piątek ) miał miejsce.
XPath. XSL – część 1..
11 Przypomnienie: zaliczenie ćwiczeń Kolokwium zaliczeniowe na ćwiczeniach 16 maja: zadania z technik omawianych na ćwiczeniach, można korzystać z notatek.
SAX i DOM wykorzystanie XML-a we własnych aplikacjach
XML Schema XML Schema2 Definiowanie języków XML, SGML – metajęzyki. Definiowanie języków (zastosowań, typów dokumentów, schematów): –określanie.
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 1.
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 3.
Generator analizatorów składniowych
Generyczne Repozytorium Dokumentów w XML
Dokumentowanie wymagań w języku XML
XPath, XSLT, (and XSL:FO)
Standardy tworzenia dokumentów [Michał Kuciapski ]
XML. Pierwszy dokument XML Witaj świecie! Elementy i atrybuty niezwykle oryginalny Witaj świecie! Druga możliwość: Witaj świecie!

XML jako standard służący do efektywnej wymiany dokumentów niezależnie od platformy sprzętowej.
Proszę skopiować eclipse najlepiej do c:\temp uruchamiamy rejestrujemy jako academic.
METAJĘZYKI 2 Politechnika Koszalińska
Tworzenie stron internetowych www World Wide Web
HTML 4 Zebrał i opracował : dr inż. Jerzy Zgraja.
HTML 4 Zebrał i opracował : dr inż. Jerzy Zgraja.
PODSTAWY <HTML>
XML eXtensible Markup Language. 2 Prowadzący Michał Kozielski p. 413 mail:
Czym są HTML i XHTML? Skrót HTML pochodzi od słów Hypertext Markup Language (język znakowania hipertekstu). Język HTML jest podstawą każdej strony WWW.
XML – eXtensible Markup Language 3
Warsztaty programowania w języku Python
XML – eXtensible Markup Language 4. XSL transformations (XSLT) XSLT (ang. eXtensible Stylesheet Language Transformations) jest opartym na XML językiem.
XML - podstawy Szymon Bohdanowicz. Pierwszy przykład Marek Szymon Przypomnienie Pamiętaj o spotkaniu w piątek.
informatyka + Agenda Podstawy XML Historia XML w pigułce
Autor: Kamil Szafranek
XML – eXtensible Markup Language 2. Nazwy atrybutów i elementów w języku XML muszą spełniać te same reguły (te same reguły musza spełniać też inne, rzadziej.
XML – eXtensible Markup Language
Podstawy programowania
W W W Łukasz Stochniał.
XML Publisher Przedmiot i zakres szkolenia Przedmiot i zakres szkolenia Przeznaczenie XML Publisher Przeznaczenie XML Publisher Definiowanie Definiowanie.
Temat 1: Ogólne cechy języka PHP
Czyli króciutki opis języka programowania jakim jest HTML.
HTML Hyper Text Markup Language komputerowe Esperanto cz. I historia, struktura dokumentu.
Obiekty DOM.
Piotr Czapiewski Wydział Informatyki ZUT. Web Services Description Language.
Iga Lewandowska I EMII MU
Obiektowe metody projektowania systemów XML eXtensible Markup Language.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
I TY ZOSTAŃ WEBMASTEREM! CZĘŚĆ 2 – „STRUKTURA STRONY” STWORZYŁ GABRIEL ŚLAWSKI.
XML a bazy danych Eksploracja danych
Dokumentacja programu komputerowego i etapy tworzenia programów.
The Poznan University of Economics Department of Management Information Systems XML - wprowadzenie.
Aplikacje internetowe XML Paweł Lenkiewicz. Aplikacje internetowe – XML2 eXtensible Markup Language Uniwersalny język opisu danych Często używany we współpracy.
Języki i technologie wytwarzania stron WWW Autor: Michał Walkowski Referat.
Zapis prezentacji:

XML, DTD, Schema Zaawansowane Aplikacje Internetowe Dawid Weiss

Plan wykładu XML Czym jest XML?, krótka historia języka XML Dlaczego XML jest użyteczny? Jak wygląda XML? Prezentacja elementów języka Parsery języka XML Walidacja XML – DTD/ Schema Czemu służy walidacja? Jak wygląda DTD? Jak wygląda Schema?

Czym jest XML? XML is a simple, very flexible text format derived from SGML. Originally designed to meet the challenges of large-scale electronic publishing, XML is also playing an increasingly important role in the exchange of a wide variety of data on the Web and elsewhere XML definiuje strukturę dokumentu, pozostawiając interpretację znaczenia elementów tej struktury programiście XML jest sposobem meta-opisu, dowolnej innej struktury danych

Czym jest XML? – struktura a znaczenie Dawid Weiss xxxxx

Krótka historia XML XML powstał jako uproszczenie SGML Standard Generalized Markup Language (~1960/70), standard ISO SGML jest bardzo rozbudowany, kosztowny w implementacji i długotrwały w opanowaniu XML – podzbiór SGML, 1998 (specyfikacja tylko ok. 20 stronicowa) XML szybko się rozprzestrzenił, powstają parsery dla wielu języków Technologie follow-up: Xpath, Xpointer, XSLT, XSL:FO, Xlink...

Dlaczego XML jest pożyteczny? XML jest zrozumiały dla ludzi (jest plikiem tekstowym) uwaga: chyba, że struktura dokumentu nie ma sensu: XML ułatawia pracę programisty Parsery Walidacja Łatwo rozszerzalny XML jest trendy :)

Dlaczego XML jest użyteczny, c.d. Fragment dokumentu z napisem hello world zapisanego z OpenOffice (w XML) i MS Word (w formacie własnym)

Elementy języka: prolog XML jest plikiem tekstowym zwykle rozpoczynającym się od prologu Wszystkie parsery muszą wspierać przynajmniej UTF-8 i UTF-16 Prolog jest opcjonalny, ale powinien być wyspecyfikowany

Elementy języka: tagi Struktura jest zdefiniowana przez tagi (ang. markup) Tag to sekwencja alfanumerycznych znaków zawartych między ' ' Tag otwierający: Tag zamykający: Tag pusty (bez ciała): Przykłady: married

Elementy języka: atrybuty Atrybuty są częścią struktury i pozwalają na związanie z tagami par nazwa-wartość Jedynie tagi otwierające mogą posiadać atrybuty Nazwa atrybutu jest unikalna w obrębie jednego tagu niepoprawny przykład: Przykłady 129

Pierwszy dokument XML

Elementy języka: instrukcje sterujące Instrukcje sterujące nie są częścią dokumentu, ale są wykrywane i sygnalizowane przez parsery XML Instrukcja sterująca wygląda następująco: Prolog w XML jest przykładem instrukcji sterującej

Elementy języka: komentarze Komentarze to bloki tekstowe występujące między sekwencjami znaków: ' ' Przykłady: Komentarze nie mogą być deklarowane w definicji tagów W komentarzach nie może pojawić się sekwencja -- Weiss

Elementy języka: tekst, czyli Piąty Element Tekst może wystąpić wszędzie między tagami Białoszewski Miron Być to... być to źle a nie? Białoszewski Miron Być to... być to źle a nie?

Tekst, c.d. Spacje mogą być, na życzenie programisty, zignorowane przez parsery XML Jeśli zachodzi potrzeba umieszczenia znaków specjalnych (<>&), należy posłużyć się albo encjami, albo blokiem CDATA Wszystkie znaki w bloku CDATA są przekazywane do parsera XML dokładnie tak, jak zostały zapisane

Blok CDATA Białoszewski Miron Namuzowywanie <![CDATA[Muzo Natchniuzo tak ci końcówkuję z niepisaniowości natreść mi ości i uzo]]>

Kodowanie znaków w XML Prolog mówi parserowi jakiego kodowania należy użyć w interpretacji dokumentu Nazwy stron kodowych: IETF RFC 1766 Domyślna 'UTF-8' (Unicode) Przykład: prosty plik XML z literką ą

Przykład: UTF-16 (ą=0x0105) ą

ą Przykład: ISO (ą = 0xB1)

Encje w tekście Ponieważ niektóre znaki ( ' ' ) mają dla parsera specjalne znaczenie, więc trzeba je albo zakodować, albo umieścić w bloku CDATA Encje: '&' + entity_name + ';' Przykład: © Dawid Weiss & Krzysztof Kowalczykiewicz © Dawid Weiss & Krzysztof Kowalczykiewicz

Parsery XML Moduły programowe, które ułatwiają interpretację plików XML Dwie strategie: DOM i SAX [pull/ push] DOM (Document Object Model) Obiektowa reprezentacja dokumentu Łatwiejsza w obsłudze, ale wymaga pamięci i sparsowania całego dokumentu XML SAX (Simple API for XML) Interfejs oparty na zdarzeniach Interpretacja w locie; zdarzenia są przekazywane do kodu programu, przetworzona część pliku nie jest pamiętana

Parsery XML Parsers for Java: Xerces Saxon Piccolo Crimson (obsolete)... Parsery dla C++ (i C) Xerces-C Libxml

Zadanie domowe (1) Napisać aplikację opartą o interfejs SAX i DOM, która wypisze osobę, której wiek jest większy niż 25 lat Przykładowy plik wejściowy: Dawid Weiss 20 Krzysztof Kowalczykiewicz 40

Walidacja XML Dokument XML określamy jako poprawny (ang. well formed), jeśli jego struktura jest poprawna w sensie składni języka XML Parser XML nie wskaże błędów przy interpretacji takiego pliku Dokument XML określamy jako valid, jeśli jego struktura jest poprawna i jest on poprawny w sensie składni elementów zdefiniowanej za pomocą DTD lub języka XML Schema

DTD DTD jest tekstowym opisem tego, jak tagi i zawartość pliku XML powinna być zorganizowana DTD pozwala na specyfikację następujących elementów tagi atrybuty encje bloki PCDATA (parsed character data) bloki CDATA (character data – not to be processed by the parser)

Elementy języka DTD Dawid Weiss 20 Krzysztof Kowalczykiewicz 40 or

Elementy języka DTD (c.d.) Dawid Weiss 20 Krzysztof Kowalczykiewicz 40 or <!ELEMENT person (first-name, surname, age) >

Elementy języka DTD (c.d.) Dawid Weiss 20 Krzysztof Kowalczykiewicz 40 or <!ELEMENT person (first-name, surname, age) >

Elementy języka DTD (c.d.) Dawid Weiss 20 Krzysztof Kowalczykiewicz 40 or <!ELEMENT person (first-name, surname, age) >

DTD: jak go wskazać parserowi XML? DTD załączone z dokumentem <!DOCTYPE people [ ]> Dawid Weiss 20 Krzysztof Kowalczykiewicz 40

DTD: jak go wskazać parserowi XML? DTD wskazane jako plik w systemie Dawid Weiss 20 Krzysztof Kowalczykiewicz 40

DTD: jak go wskazać parserowi XML? DTD wskazane jako publiczny plik <!DOCTYPE article PUBLIC "-//PP//DTD EXAMPLE1//PL" " Dawid Weiss 20 Krzysztof Kowalczykiewicz 40

Zadanie domowe (2) Proszę przeczytać tutorial do DTD ze strony: Proszę eksperymentować z DTD i przykładami Parser (walidujący) i przykłady będą dostępne na stronie:

Język XML Schema Argumenty przeciwko DTD Jest dziwny Nie jest wystarczająco precyzyjny XML Schema jest jak DTD, lecz specyfikowane w języku XML Wspiera typy danych Wspiera warunki na wartości atrybutów Wspiera dziedziczenie typów Argumenty przeciwko XML Schema Jest trudniejszy do nauczenia

XML Schema – jak tego użyć? Plik XML Schema można zweryfikować przy pomocy XML Schema XML Schema jest dość skomplikowany. Polecany jest edytor wizualny, np. XML Spy

XML namespaces Przykład* Oba tagi TITLE mają inne znaczenie, jednak parser potraktuje je identycznie Specyfikacja XML Namespaces pozwala na wyodrębnienie kontekstu dla elementów XML XML Developer's Guide Ms Ambercrombie Kim * quoted from Microsoft's documentation

XML namespaces Przykład XML Developer's Guide Ms Ambercrombie Kim

Więcej informacji o XML... XML 1.0 recommendation (W3C) XML tutorial (W3C) AllTheWeb, Google, inne wyszukiwarki (jest mnóstwo informacji o XML)