Plan dzisiejszego wykładu. Narzędzia informatyczne w językoznawstwie. XML - Definicja. Zalety XML



Podobne dokumenty
Narzędzia informatyczne w językoznawstwie

Podstawy (X)HTML i CSS

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

Wprowadzenie do technologii XML

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

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

HTML DOM, XHTML cel, charakterystyka

Rola języka XML narzędziem

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

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

Wykład 1: HTML (XHTML) Michał Drabik

Źródła. cript/1.5/reference/ Ruby on Rails: AJAX: ssays/archives/

XML DTD XML Schema CSS

Programowanie internetowe

XML. XML (ang. Extensible Markup Language) - Rozszerzalny język znaczników. Aktualna wersja 1.0 (1.1 czeka na akceptację) Należy do rodziny SGML.

extensible Markup Language, cz. 1 Marcin Gryszkalis, mg@fork.pl

XML extensible Markup Language. Paweł Chodkiewicz

Egzamin z przedmiotu Projektowanie języków XML imię i nazwisko. Zadanie Suma Punkty Max Punkty

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

Zaawansowana Pracownia Komputerowa - Ćwiczenia. Krzysztof Miernik

Perl a XML. Narzędzia informatyczne w językoznawstwie. Generowanie danych XML - Przykład. Generowanie danych XML. Perl - Przetwarzanie XML

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

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

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

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

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

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

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

Część II. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

mgr inż. Jacek Staniec Język XML

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

INTEGRACJA I EKSPLORACJA DANYCH

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

Rok akademicki: 2013/2014 Kod: ZZIP IN-s Punkty ECTS: 2. Kierunek: Zarządzanie i Inżynieria Produkcji Specjalność: Informatyka w zarządzaniu

XML extensible Markup Language. część 3

Aplikacje internetowe. Interfejs użytkownika

Technologie zarządzania treścią

Aplikacje internetowe laboratorium XML, DTD, XSL

Semistrukturalne bazy danych Wykład dla studentów matematyki

XHTML Budowa strony WWW

DTD - encje ogólne i parametryczne, przestrzenie nazw

Plan prezentacji DTD. Wiązanie DTD z dokumentem XML Deklaracja typu dokumentu. Co to jest DTD. Wstęp. Przedmiot: XML i jego zastosowania

Elementarz HTML i CSS

O stronach www, html itp..

Wprowadzenie do technologii XML

Środowisko XML (Extensible Markup Language).

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

METODY REPREZENTACJI INFORMACJI

c TP: anything: 13 listopada 2004 roku 1

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

Przykładowy dokument XML

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok I, semestr II

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

Ćwiczenia laboratoryjne nr 8 Podstawy języka XML.

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT

Systemy internetowe HTML

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

Kurs HTML 4.01 TI 312[01]

Przedmiot: Grafika komputerowa i projektowanie stron WWW

Podstawy XML-a. Zaawansowane techniki programowania

E.14.1 Tworzenie stron internetowych / Krzysztof T. Czarkowski, Ilona Nowosad. Warszawa, Spis treści

HTML nie opisuje układu strony!!!

GML w praktyce geodezyjnej

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

Dokumenty SEDU składają się z dwóch części: Opisu sprawy Formularza elektronicznego

WITRYNY I APLIKACJE INTERNETOWE

podstawowego kodu strony Nowa strona WWW Dodał Administrator wtorek, 13 lipiec :21

informatyka + Wymagania wstępne Podstawowa znajomość SQL Podstawowa znajomość SQL Server

WYKŁAD 2 DTD DOCUMENT TYPE DEFINITION CZĘŚĆ 1

Model semistrukturalny

Podstawowe konstrukcje Podstawowymi konstrukcjami są wzorce element oraz attribute:

Języki programowania wysokiego poziomu WWW

Wprowadzenie do XML. Tomasz Przechlewski

Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki

Złożone komponenty JSF wg

5.14 JSP - Przykład z obiektami sesji Podsumowanie Słownik Zadanie... 86

XML i nowoczesne technologie zarządzania treścią

Prezentacja i transformacja

Dokument hipertekstowy

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

XML Schema. Bartłomiej Świercz. Łódź, 19 listopada 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz XML Schema

METODY REPREZENTACJI INFORMACJI

XML extensible Markup Language 7

I.Wojnicki, Tech.Inter.

Otwarte protokoły wymiany informacji w systemach ITS

Format danych adnotacji do tytułów wykonawczych przekazywanych do organów egzekucyjnych przez epuap w związku ze zbiegiem egzekucji

Przykładowy dokument XML

<html> </html> <body> </body> <p> [</p>] <br> <html> <head> </head> <body> </body> </html> Materiały dydaktyczne 1/5

XML extensible Markup Language 1

XML i nowoczesne metody zarządzania treścią

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

Metody reprezentacji informacji Przedmiot:

Zasady Nazewnictwa. Dokumentów XML Strona 1 z 9

Złożone komponenty JSF wg

XML i nowoczesne metody zarządzania treścią

Ministerstwo Finansów

Rozdział 1. Informacje podstawowe

Wykład 1 Wprowadzenie do HTML

Podstawy elektronicznej wymiany danych. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Kazienko P.: Rodzina języków XML. Software nr 6 (90) czerwiec 2002, s Rodzina języków XML. Przemysław Kazienko

Transkrypt:

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 2008 Definicja XML Zalety i wady XML Składnia XML Krótka powtórka z XHTML Walidacja XML, czyli DTD Przegląd XML-Schema, XPath, XSL Ogólne standardy XML Standardy XML w językoznawstwie - Osobny wykład Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 1/22 Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 2/22 XML - Definicja Zalety XML XML (Extensible Markup Language - Rozszerzalny język znaczników) jest uniwersalnym językiem formalnym przeznaczonym do tworzenia dedykowanych języków znaczników. Pozwala użytkownikom na tworzenie własnych elementów. Umożliwia współdzielenie danych ustrukturyzowanych przez różne systemy informatyczne Wykorzystywany do zapisu dokumentów i do serializacji danych (zapis złożonych struktur danych w postaci linearnej) Czytelny podzbiór języka SGML (Standard Generalized Markup Language) Tworzony przez World Wide Web Consortium Format plików XML to zwykły tekst Korzysta standardowo z Unicode, najczęściej z kodowania UTF-8 Prosta reprezentacja podstawowych struktur danych: rekordów, list i drzew Nazwy elementów opisują dane w sposób samowyjaśniający Rygorystyczna składnia ułatwia przetwarzanie Oparty na międzynarodowych standardach Pozwala na walidację składniową języków dedykowanych Struktura hierarchiczna jest wystarczająca dla wielu zagadnień Niezależny od platformy Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 3/22 Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 4/22

Wady XML XHMTL - Powtórka Składnia XML jest nadmierna dla prostych danych (np. dane tablice) Nadmierność ma niekorzystny wpływ na wydajność programów poprzez większe wymagania pamięciowe i obliczeniowe Model hierarchiczny jest ograniczony w porównaniu z modelami grafowymi Modelowanie związków typu zachodzenie na siebie węzłów jest trudne Rozróżnienie pomiędzy treścią a atrybutami wydaje się nienaturalne i utrudnia tworzenie struktur danych w XML XHMTL to extensible HyperText Markup Language Jest rozwinięciem standardu HTML 4.01 Można powiedzieć, że jest przecięciem HTML 4.01 i XML (oba języki są podzbiorami SGML) XHTML jest lepszy pod względem automatycznego przetwarzania 1 (bardziej rygorystyczna składnia) Pozwala na korzystanie z różnych rozszerzeń XML, np. MathML, SVG itp. 2 1 Każdy standardowy parser XML poradzi sobie z XHTML ale niekoniecznie z HTML 2 To akurat zależy niestety w znacznym stopniu od przeglądarki Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 5/22 Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 6/22 HTML, XHTML i XML XHTML w porównaniu do HTML (1) Każdemu znacznikowi otwierającemu odpowiada znacznik zamykający (np. <li> </li>) Puste elementy są także zamykane (np. zamiast <br> stosujemy <br />) Poprawne zagnieżdzanie (np. zamiast <p>tekst <em>wyróżniony</p></em> - <p>tekst <em>wyróżniony</em></p>) Nazwy elementów i atrybutów pisane małymi literami Wartości artrybutów w cudzysłowie (np. <td rowspan="3">) Niedozwolona minimalizacja elementów (np. zamiast <textarea readonly> - <textarea readonly="readonly">) Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 7/22 Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 8/22

XHTML w porównaniu do HTML (2) Przykład dokumentu XHTML 1.0 Główny element hmtl musi zawierać atrybut xmlns (np. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">) Dokument rozpoczyna się od (opcjonalnej) deklaracji XML, np. <?xml version="1.0" encoding="utf-8"?> Należy zastosować odpowiednią definicję typu dokumentu (np. dla XHMTL 1.0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd">) <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl"> <head> <title>przykład dokumentu zgodnego z XHTML 1.0 Strict</title> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <p>to jest przykład.</p> </body> </html> Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 9/22 Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 10/22 Poprawność dokumentów XML Poprawność składniowa XML Każdy dokument XML musi spełniać dwa rodzaje poprawności: Poprawność składniową (well-formedness) - zgodność z podstawowymi regułami składni XML Poprawność strukturalną/semantyczna (validity) - zgodność z daną definicją typu dokumentu (DTD) Poprawność składniowa jest sprawdzana przez dowolny parser XML, w tym np. przeglądarka Firefox. Jeśli występuje błąd, to parser ma obowiązek nie wyświetlić dokumentu. Poprawność strukturalna jest sprawdzana przez tzw. walidatory. Walidator porównuje dokument z podaną definicją typu dokumentu. Kryteria (te same jak dla XHTML, tylko ogólniejsze): Istnieje dokładnie jeden element główny (np. <html> </html>) Główny element może by poprzedzony opcjonalną deklaracją XML <?xml version="1.0" encoding="utf-8"?> Tekst objęty elementem głównym może zawierać dowolną ilość podelementów Nazwy podelementów są dowolne (Uwaga: <name>!= <NAME>) Każdy element musi zostać zamknięty (za pomocą znacznika zamykającego lub jako element samozamykający) Elementy muszą być poprawnie zagnieżdżone Wartości atrybutów muszą być objęte cudzysłowem Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 11/22 Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 12/22

Przykład dokumentu XML (leksykon.xml) Języki dedykowane z rodziny XML <?xml version="1.0" encoding="utf-8"?> <leksykon> <wpis nr="1"> <lemat>analiza</lemat> <informacje> <część_mowy>rzeczownik</część_mowy> <rodzaj>żeński</rodzaj> <semantyka>process</semantyka> </informacje> <formy> <forma p="mian" l="1">analiza</forma> <forma p="dop" l="1">analizy</forma> </formy> </wpis> </leksykon> <forma p="cel" l="1">analizie</forma> Języki określone z pomocą języka XML Spełniają wszystkie założenia dotyczące składni XML Najczęściej nazwy elementów i ich własności są ograniczane Tzn. mamy ograniczenia semantyczne w porównaniu z pełnym XML Przykłady: XHTML, MathML, Open Document, SVG... Np. element <tr></tr> nie ma znaczenia poza <table></table> w XHTML, składniowo nie byłoby to błędem. Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 13/22 Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 14/22 Poprawność semantyczna - Walidacja Poprawność strukturalna - sposoby opisu XML nie określa dokładnych reguł składniowych dedykowanych języków z rodziny XML Wykorzystuje się w tym celu dokumenty DTD (document type definition), XML Schema lub inne języki schematów XML Można za ich pomocą określać np. dozwolone nazwy elementów, dozwolone sposoby zawierania się elementów, dozwolone atrybuty oraz typy danych Dokument zgodny z określonymi regułami w DTD/schemacie jest poprawny strukturalnie/semantycznie (valid) Dzięki DTD/schematom można sprawdzać automatycznie, czy dany dokument XML jest zgodny z założeniami języka dedykowanego (parser walidujący) DTD - najstarszy i na razie najczęściej stosowany język schematów. W miarę prosty i tym samym ograniczony. Nie jest językiem XML, tylko innym podzbiorem SGML. XML Schema - wypiera DTD. Język schematu XML, który sam jest opisany za pomocą XML. Duże możliwości, ale niestety trudny. Relax NG - Opisany w XML, prostszy od XML Schema, rzadziej używany ISO DSDL - Zbiór mniejszych języków schematów XML Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 15/22 Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 16/22

Przykład dokumentu DTD (leksykon.dtd) Przykład dokumentu XML (leksykon.xml) z DTD <!ELEMENT leksykon (wpis*)> <!ELEMENT wpis (lemat, informacje, formy)> <!ATTLIST wpis nr ID #REQUIRED> <!ELEMENT lemat (#PCDATA)> <!ELEMENT informacje (część_mowy, rodzaj?, semantyka?)> <!ELEMENT część_mowy (#PCDATA)> <!ELEMENT rodzaj (#PCDATA)> <!ELEMENT semantyka (#PCDATA)> <!ELEMENT formy (forma+)> <!ELEMENT forma (#PCDATA)> <!ATTLIST forma p CDATA #IMPLIED l CDATA #IMPLIED> <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE leksykon SYSTEM "leksykon.dtd"> <leksykon> <wpis nr="1"> <lemat>analiza</lemat> <informacje> <część_mowy>rzeczownik</część_mowy> <rodzaj>żeński</rodzaj> <semantyka>process</semantyka> </informacje> <formy> <forma p="mian" l="1">analiza</forma> <forma p="dop" l="1">analizy</forma> </formy> </wpis> </leksykon> <forma p="cel" l="1">analizie</forma> Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 17/22 Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 18/22 Przykłady formatów XML - MathML Przykłady formatów XML - SVG <math> <mrow> <msup> <mfenced> <mrow> <mi>x</mi> <mo>+</mo> <mi>y</mi> </mrow> </mfenced> <mn>4</mn> </msup> </mrow> </math> oraz w zapisie czytelnym ale nie do przetworzenia: (x + y) 4 <?xml version="1.0"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/graphics/svg/1.1/dtd/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="467" height="462"> <!-- This is for the red square --> <rect x="80" y="60" width="250" height="250" rx="20" fill="red" stroke="black" stroke-width="2px" /> <!-- This is for the blue square --> <rect x="140" y="120" width="250" height="250" rx="40" fill="blue" fill-opacity="0.7" stroke="black" stroke-width="2px" /> </svg> Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 19/22 Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 20/22

Przykłady formatów XML - SVG (Wynik) Rozszerzanie XML XPath - Podjęzyk umożliwiający dostęp do elementów dokumentu XML, porównywalny ze strukturą katalogów na dysku XSL (EXtensible Stylesheet Language) - funkcyjny język programowania opisujący sposób prezentacji i przekształceń dokumentów zapisanych w XML XQuery - Język zapytań do baz danych zapisanych w XML... Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 21/22 Marcin Junczys-Dowmunt Narzędzia informatyczne w językoznawstwie 22/22