SGML a XML różnice. XML a SGML. Standardy pokrewne. Minimalizacja w SGML-u. Elementy w SGML-u. Atrybuty w SGML-u

Podobne dokumenty
Inne standardy zwiazane z XML

Inne standardy zwiazane z XML

XML a białe znaki. Poprawne modele zawartości. Zarządzanie zmianami struktury. Model błędnej zawartości (1) Model błędnej zawartości (2)

XML w bazach danych, standardy wiążące dokumenty XML

XPath 2.0 / XSLT 2.0 / XQuery 1.0. Inne standardy związane z XML-em. XPath 2.0 XSLT 2.0. XPath 2.0 funkcyjny język programowania

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

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

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

Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema. Elementy czy atrybuty? Wartości domyślne i ustalone. Elementy czy atrybuty?

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

XPath 2.0 / XSLT 2.0 / XQuery 1.0. Inne standardy związane z XML-em. XPath 2.0 XSLT 2.0. XPath2.0 funkcyjny język programowania

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

Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema

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

c TP: anything: 13 listopada 2004 roku 1

XML extensible Markup Language. Paweł Chodkiewicz

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

XML extensible Markup Language. część 3

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

Przykładowy dokument XML

XML standardy pokrewne

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

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

Wprowadzenie do XML. Tomasz Przechlewski

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

Podstawowe konstrukcje Podstawowymi konstrukcjami są wzorce element oraz attribute:

XML w bazach danych, standardy wiaż ace dokumenty XML

Wprowadzenie do technologii XML

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

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

DTD - encje ogólne i parametryczne, przestrzenie nazw

Rodzaje przetwarzania XSLT (1) XSLT część 2. Inne standardy związane z XML-em. Rodzaje przetwarzania XSLT (2) Zmienne. Zaawansowane możliwości XSLT

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

Technologie zarządzania treścią

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

Język XML Schema. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

XML DTD XML Schema CSS

XML Schema. Motywacja, struktura schematu, typy złożone. Patryk Czarnik. Instytut Informatyki UW

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

Aplikacje internetowe laboratorium XML, DTD, XSL

Rola języka XML narzędziem

Programowanie internetowe

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

XML i nowoczesne technologie zarządzania treścią

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

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

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT

XML i nowoczesne metody zarządzania treścią

Narzędzia informatyczne w językoznawstwie

Dlaczego GML? Gdańsk r. Karol Stachura

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

XQuery. XQuery. Przykład. dokument XML. XQuery (XML Query Language) XQuery 1.0: An XML Query Language. W3C Recommendation

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

Symbole wieloznaczne w XML Schema. Definiowanie typów dokumentów Część 4. XML Schema, RELAX NG, Schematron. Schematron

Semistrukturalne bazy danych Wykład dla studentów matematyki

XML extensible Markup Language 1

Podstawy XML-a. Zaawansowane techniki programowania

HTML DOM, XHTML cel, charakterystyka

XML Path Language (XPath)

Ćwiczenia laboratoryjne nr 8 Podstawy języka XML.

Model semistrukturalny

XML Schema. Forma nazwy lokalnych elementów i atrybutów

Złożone komponenty JSF wg

XML Schema. Alternatywne metody definiowania struktury dokumentów. Patryk Czarnik. Instytut Informatyki UW

Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema

Schematy XML. Tomasz Traczyk.

rk HTML 4 a 5 różnice

Wprowadzenie do XML schema

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

Kurs HTML 4.01 TI 312[01]

XML extensible Markup Language. część 4

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

XPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Location paths. Osie (axes)

XML i nowoczesne metody zarządzania treścią

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

Podstawy JavaScript ćwiczenia

- wewnątrz elementów prostych występuje tylko jeden typ danych, wewnątrz złoŝonych nie moŝemy dokładnie określić liczby wystąpień elementu

Język XML w aplikacjach z bazami danych - po roku

Prezentacja i transformacja

Podstawy (X)HTML i CSS

Złożone komponenty JSF wg

XML Schema w przykładach

INTEGRACJA I EKSPLORACJA DANYCH

Semantyczne Wiki na przykładzie Semantic MediaWiki

Zasady Nazewnictwa. Dokumentów XML Strona 1 z 9

Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki

XML extensible Markup Language. część 1

Plan. Raport. Tworzenie raportu z kreatora (1/3)

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

Semantyczne Wiki! na przykładzie! Semantic MediaWiki!

Środowisko XML (Extensible Markup Language).

Zaawansowany kurs języka Python

2 Podstawy tworzenia stron internetowych

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

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska Opole zlipinski@math.uni.opole.pl

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

Stwórz dokument XML zawierający poniższe informacje. Wykorzystaj atrybuty.

I.Wojnicki, Tech.Inter.

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów

Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki.

Transkrypt:

SGML a XML różnice XML a SGML. Standardy pokrewne. Deklaracja SGML: konfiguracja wyglądu znaczników, ich maksymalnej długości, itp., definicja używanego zestawu znaków, określenie maksymalnych zasobów dla oprogramowania SGMLowego, parametry składni dokumentów SGML: wrażliwość na wielkość liter, możliwości minimalizacji znaczników i atrybutów;... 1 2 Minimalizacja w SGML-u Elementy w SGML-u Znaczniki: MITTAG: pomijanie znaczników, SHTTAG: puste i niedomknięte znaczniki, SHTEF: sekwencje znaków traktowane jako znaczniki, ANK: seria elementów różniących się tylko sufiksem numerycznym, odwołania przy pomocy skrótu bez sufiksu. Atrybuty: pomijanie cudzysłowów/apostrofów, pomijanie nazw atrybutów. DTD: jednoczesna deklaracja wielu elementów zawartość typu CDATA i CDATA, definiowanie możliwości pomijania znaczników: <!ELEMENT name stago etago (content-model)> spójnik &, wyjątki: inkluzje i ekskluzje. Instancje dokumentów: składnia elementów o modelu EMPTY: tylko znacznik początkowy, encje znakowe, np. &aogon;. 3 4 Atrybuty w SGML-u Inne ciekawostki przyrodnicze w SGML-u Dodatkowe typy atrybutów: NAME, NAMES, NUMBE, NUMBES, NUTKEN, NUTKENS. Dodatkowe wartości domyślne atrybutów: #CUENT, #CNEF. Atrybuty globalne. Jednoczesne deklaracja atrybutów dla wielu elementów. Encje: encja domyślna, encje typu CDATA, SDATA, PI. Deklaracje notacji: możliwość deklarowania atrybutów. 5 6 1

Idea form architektonicznych Przykład odwzorowania Problem: jak odwzorować dokumenty zgodne z pewną DTD na inną DTD? ozwiązanie: meta-dtd, definiujące bazową architekturę, client DTD, opis odwzorowania struktury client DTD na meta-dtd. Architectural Forms: "Architectural Form Definition equirements", Aneks A.3 do drugiej edycji standardu HyTime (IS/IEC 10744:1997), wzorcowa implementacja: parser SP Jamesa Clarka. Client DTD: <!ELEMENT doc (header, body)> <!ATTLIST doc role CDATA #IMPLIED rev CDATA #IMPLIED> <!ELEMENT header (doctitle, byline, pubdate, cpyrt, notes?)> <!ELEMENT doctitle (#PCDATA)> <!ELEMENT byline (#PCDATA)> <!ELEMENT pubdate (#PCDATA)> <!ELEMENT cpyrt (#PCDATA)> <!ELEMENT notes (#PCDATA)> <!ELEMENT body...> Meta-DTD: <!ELEMENT biblio (title, author, date, copyright)> <!ATTLIST biblio type CDATA #IMPLIED version CDATA #IMPLIED> <!ELEMENT title (#PCDATA)> <!ELEMENT author (#PCDATA)> <!ELEMENT date (#PCDATA)> <!ELEMENT copyright (#PCDATA)> 7 8 dwzorowanie dokumentów Client document: <doc rev="1.0"> <header> <doctitle>kubuś Puchatek</doctitle> <byline>milne, A. A.</byline> <pubdate>2000</pubdate> <cpyrt>isbn: 83-10-10629-7 </cpyrt> <notes>któż nie zna Kubusia Puchatka najsłynniejszego misia na świecie?</notes> </header> <body>... </body> </doc> Architectural document: <biblio version="1.0"> <title>kubuś Puchatek</title> <author>milne, A. A.</author> <date>2000</date> <copyright>isbn: 83-10-10629-7 </copyright> </biblio> Deklaracja użycia form architektonicznych: <?IS10744:arch name="biblio" public-id="-//szymon Ziolo//NTATIN Bibliographic note" dtd-system-id="biblio.dtd"?> Atrybuty deklaracji: name, public-id, dtd-public-id, dtd-system-id, form-att, renamer-att, suppressor-att, ignore-data-att,... 9 10 dwzorowywanie elementów: <!ELEMENT doctitle (#PCDATA)> <!ATTLIST doctitle biblio NMTKEN #FIXED "title"> Możliwości: atrybuty #FIXED, atrybuty z domyślną wartością (mogą być wyliczeniowe), atrybuty #IMPLIED lub #EQUIED. dwzorowanie atrybutów: <?IS10744:arch name="biblio" renamer-attr="bib-attrs"?> <!ELEMENT doc (header, body)> <!ATTLIST doc role CDATA #IMPLIED rev CDATA #IMPLIED bib-attrs CDATA #FIXED "type role version rev"> dwzorowywanie wartości atrybutów wyliczeniowych: meta DTD: <!ATTLIST para status (draft final) #IMPLIED> client DTD: <?IS10744:arch name="doc" renamer-attr="doc-atts"?>... <!ATTLIST p doc NMTKEN #FIXED "para" revision (initial approved) #IMPLIED doc-atts CDATA #FIXED "status revision #MAPTKEN draft initial #MAPTKEN final approved"> 11 12 2

Zastosowania XML Namespaces Niezależność aplikacji od zmian w DTD: zmienia się DTD, pierwotną wersję DTD traktujemy jako meta-dtd, aplikacja korzystająca z bazowej architektury nie widzi zmian. Niezależność aplikacji od DTD: aplikacja wykonuje użyteczne czynności na strukturze dokumentu, użytkownicy dowolnie definiują struktury swoich client-dtds. Wielokrotne użycie dokumentów (ukryte konwersje). Walidacja DTD względem reguł organizacyjnych: reguły (np. obowiązkowa copyright-notice) wyrażone w meta-dtd, wszystkie DTD odwzorowujemy na meta-dtd. Problem: ta sama nazwa oznacza dwa różne byty w różnych dokumentach, dokumenty te są powiązane (np. wspólnie przetwarzane, jeden zanurzony w drugim, itp.) ozwiązanie: przestrzeń nazw grupa nazw oddzielona (składniowo i semantycznie) od innych nazw. Status: rekomendacja W3C z 14 stycznia 1999 r. Wątpliwości: jak uniknąć (nieświadomego) korzystania z tych samych przestrzeni nazw do różnych celów, jak definiować przestrzenie nazw. 13 14 Deklarowanie i wykorzystanie przestrzeni nazw Domyślna i lokalna przestrzeń nazw <xsl:stylesheet xmlns:xsl="http://www.w3.org/xslt/transform/1.0" xmlns:szz="http://szymonziolo.waw.pl"> <xsl:template match= wzorzec > <szz:template><xsl:apply-templates/></szz:template> </xsl:template> </xsl:stylesheet> Domyślna przestrzeń nazw: <reln xmlns="http://www.w3.org/t/ec-mathml/"> <eq/><cn>2</cn><cn>4</cn> </reln> Lokalna przestrzeń nazw: <reln xmlns="http://www.w3.org/t/ec-mathml/"> <eq/><cn>2</cn><cn>4</cn> <notatka xmlns="">czy to jest poprawne?</notatka> </reln> 15 16 Widoczność przestrzeni nazw Przestrzenie nazw atrybutów <?xml version="1.0"?> <!-- initially, the default namespace is "books" --> <book xmlns='urn:loc.gov:books' xmlns:isbn='urn:isbn:0-395-36341-6'> <title>cheaper by the Dozen</title> <isbn:number>1568491379</isbn:number> <notes> <p xmlns='urn:w3-org-ns:html'> This is a <i>funny</i> book! </p> </notes> </book> <book xmlns:xlink="http://www.w3.org/xml/xlink/0.9"> <chapter number="1" xlink:type="simple" xlink:href="..."> <title>introduction</title> </chapter> </book> Atrybut bez prefiksu jest formalnie w innej przestrzeni nazw niż element! element chapter jest w domyślnej przestrzeni nazw, atrybut number jest w przestrzeni nazw elementu chapter, atrybut type jest w przestrzeni nazw XLink. 17 18 3

graniczenia Przestrzenie nazw a DTD Zabronione: użycie niezadeklarowanego prefiksu przestrzeni nazw, dwa atrybuty o tej samej nazwie i różnych prefiksach wskazujących na tą samą przestrzeń nazw: <x xmlns:n1="http://www.w3.org" xmlns:n2="http://www.w3.org" > <bad a="1" a="2" /> <bad n1:a="1" n2:a="2" /> </x> ale to jest legalne: <x xmlns:n1="http://www.w3.org" xmlns="http://www.w3.org" > <good a="1" b="2" /> <good a="1" n1:a="2" /> </x> Dwa różne światy: przestrzenie nazw sprawdzają się w dokumentach bez definicji struktury, definiując DTD powinniśmy się obejść bez przestrzeni nazw. Jeśli koniecznie chcemy używać ich razem: <!ELEMENT szz:p (#PCDATA)> <!ATTLIST szz:p xmlns:szz CDATA #FIXED "http://szymonziolo.waw.pl/paragraf"> <!ELEMENT pesel:p (imie, nazwisko, data-ur, stan-cyw)> <!ATTLIST pesel:p xmlns:pesel CDATA #FIXED "http://pesel.gov.pl/person"> 19 20 XLink dowiązania w XML-u Terminologia Linki jakie znamy (HTML): łączą dwa dokumenty: źródło i cel linku, źródłem linku jest zawsze element opisujący link (A, IMG). XLink rozszerzona koncepcja dowiązań: dowolne elementy przechowują informacje o linkach, informacja o linkach poza połączonymi dokumentami, więcej niż dwa końce linku. Status: rekomendacja W3C z 27 czerwca 2001, korzenie historyczne: HyTime. Zasób (resource) dowolna adresowalna jednostka informacji lub usługa. Dowiązanie (link) jawnie wyrażona (przy pomocy elementu wiążącego (linking element)) relacja pomiędzy zasobami. te zasoby uczestniczą (participate) w dowiązaniu. Przejście (traversal) użycie pary zasobów połączonej dowiązaniem. Łuk (arc) informacja o przejściu między dwoma zasobami (kierunek, zachowanie aplikacji, itp.): wychodzący (outbound), wchodzący (inbound), niezależny (third party). 21 22 Dowiązania XLink Simple link przykład Extended link: wiąże dowolną liczbę zasobów: zasoby zewnętrzne (np. odwołania do innych dokumentów), zasoby lokalne (zawarte w elemencie wiążącym). łuki opisujące sposoby przechodzenia pomiędzy zasobami, role zasobów uczestniczących w linku, role łuków. Simple link: link wychodzący, wiąże dokładnie 2 zasoby: 1 lokalny i 1 zewnętrzny, jeden łuk z zasobu lokalnego do zewnętrznego. <osoba xmlns:xlink="http://www.w3.org/1999/xlink"> <nazwisko>kopernik, Mikołaj</nazwisko> <biogram>wybitny polski astronom, matematyk, lekarz, prawnik, tłumacz poezji włoskiej i ekonomista, pochodził z rodziny wywodzącej się z mieszczan krakowskich. Urodzony w <geogr xlink:type="simple" xlink:href="torun.xml"> Toruniu</geogr>.</biogram> </osoba> 23 24 4

Extended link - przykład <fikcja xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="extended"> <wypowiedz xlink:type="resource">kopernik była kobietą! </wypowiedz> <film xlink:type="locator" xlink:href="seksmisja.xml" xlink:title="seksmisja"/> <osoba xlink:type="locator" xlink:href="kopernik.xml" xlink:title="kopernik, Mikołaj"/> <pojecie xlink:type="locator" xlink:href="kobieta.xml" xlink:title="kobieta"/> </fikcja> Przestrzeń nazw XLink: http://www.w3.org/1999/xlink, zawiera globalne atrybuty: type definition attribute: type, locator attribute: href, semantic attributes: role, arcrole, title, behavior attributes: show, actuate, traversal attributes: label, from, to. Dostępne typy: simple, extended, locator, resource, arc, title. 25 26 Łuki i role Dozwolone atrybuty Łuk - atrybuty: from, to etykiety zasobów połączonych łukiem, show sposób wyświetlania (new, replace, embed, none, other), actuate czas ładowania celu łuku (onload, onequest, other, none). <plec xlink:type="arc" xlink:from="kopernik" xlink:to="kobieta"/> ola (zasobu atrybut role, łuku atrybut arcrole): znaczenie zasobu/łuku w kontekście linku, wartość: bezwzględny UI wskazujący na zasób identyfikujący rolę. <osoba xlink:type="locator" xlink:href="kopernik.xml" xlink:title="kopernik, Mikołaj" xlink:role="http://encyklopedia.pl/role/wspomnienie"/> Atrybut type href role arcrole title show actuate label from to simple extended locator arc resource title 27 28 Zagnieżdżanie elementów Złożony przykład Elementy znaczące: Element Znaczące podelementy simple - extended locator, arc, resource, title locator title arc title resource - title - Pozostałe podelementy nie mają znaczenia z punktu widzenia XLink. <environment xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="extended"> <!-- an artist is bound to his influences and history --> <artist xlink:type="locator" xlink:label="artist" xlink:href="modigliani.xml"/> <influence xlink:type="locator" xlink:label="inspiration" xlink:href="cezanne.xml"/> <influence xlink:type="locator" xlink:label="inspiration" xlink:href="lautrec.xml"/> <history xlink:type="locator" xlink:label="period" xlink:href="paris.xml"/> <history xlink:type="locator" xlink:label="period" xlink:href="kisling.xml"/> <bind xlink:type="arc" xlink:from="artist" xlink:to="inspiration"/> <bind xlink:type="arc" xlink:from="artist" xlink:to="period"/> </environment> 29 30 5

XLink a DTD Przyszłość XLink Brak ograniczeń na nazwy i zawartość elementów wiążących. Deklarowanie elementów wiążących w DTD: atrybut xmlns:xlink jako #FIXED, atrybut xlink:type jako #FIXED, pozostałe atrybuty: #EQUIED lub #IMPLIED. <!ELEMENT film EMPTY> <!ATTLIST film xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink" xlink:type (locator) #FIXED "locator" xlink:title CDATA #IMPLIED xlink:role CDATA #IMPLIED xlink:label NMTKEN #IMPLIED xlink:href CDATA #EQUIED> Zastosowania: organizowanie, kojarzenie zasobów, nawet gdy nie mamy prawa zapisu, dostarczanie wartości dodanej zbiorów linków. Zasięg: lokalny: serwery linków operujące na bazie linków, Internet? Problemy: wizualizacja extended links, synchronizacja zasobów i linków (Internet). 31 32 6