Plan prezentacji Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak Akademia Górniczo - Hutnicza w Krakowie, Katedra Informatyki http://www.icsr.agh.edu.pl/~polak/ Wstęp Deklarowanie elementów Encje Sekcje warunkowe i inne zagadnienia Dr inż. Stanisław Polak 1 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 2 Przedmiot: XML i jego zastosowania Wstęp Wstęp Co to jest Wiązanie z dokumentem XML Deklaracja typu dokumentu (Definicja Typu Dokumentu) Zawiera definicje: Elementów Atrybutów Encji Notacji Wypierany przez XML Schema 1 <? xml version=" 1.0 " standalone=" yes "?> 2 <!DOCTYPE mull [ 3 <! komentarz > 4 <! ELEMENT m u l l (#PCDATA )> 5 ]> 6 <m u l l> 7 Witaj 8 </ m u l l> Nazwa elementu głównego Dr inż. Stanisław Polak 3 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 4 Przedmiot: XML i jego zastosowania
Wstęp Deklarowanie elementów Zewnętrzne Deklaracja elementu Prywatne <!DOCTYPE nazwa_elementu_głównego SYSTEM "URL_"> <!DOCTYPE mull SYSTEM "mull.dtd"> Publiczne <!DOCTYPE nazwa_elementu_głównego PUBLIC "nazwa_" "URL_"> <!DOCTYPE html PUBLIC "-//W3C// HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> <!ELEMENT nazwa model-zawartości> Nazwa elementu 1 <! ELEMENT s e t EMPTY> Dozwolona zawartość elementu Dr inż. Stanisław Polak 5 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 6 Przedmiot: XML i jego zastosowania Deklarowanie elementów Modele zawartości Deklaracja atrybutu ANY () #PCDATA elem elem 1,...,elem n elem 1... elem n EMPTY #PCDATA elem 1... elem n Wskaźniki występowania + *? y 1 <xml version= 1.0 encoding= UTF-8 > 2 <mull> 3 <library> 4 <m l i b r a r y t y p e=" filter " s o u r c e=" CommunicationMessage " /> 5 </library> 6 <set waitforav="yes" showconsole="no" showshapes="no" bgcolor="#bcc7e0"/> 7 <page onload=" Video. szyna. start ()"> 8 <video name="szyna" src="vase.avi" width="60%" height="60%" x="0" y="0"> 9 <message time="1" send=" Page. mull. loadtarget ( http: // www. icsr. agh. edu.pl /~ polak / mull / przyklady / p5-2. html, html )"/> 10 </video> 11 <text x="1" y="0" columns="20" rows="2" name="t1">...</text> 12 </ page> 13 </mull> 1 <!ELEMENT text (#PCDATA)> 2 <!ELEMENT video (message)*> 3 <!ELEMENT mull (extra?,library?,set?,page+)> 4 <!ELEMENT library (mlibrary olibrary)*> 5 <!ELEMENT set EMPTY> <!ATTLIST element nazwa typ default> Nazwa elementu Nazwa atrybutu Typ atrybutu Domyślna wartość atrybutu 1 <! ATTLIST set showconsole ( yes no ) " yes "> 2 <! ATTLIST e l e m e n t xml:space ( default preserve ) default > 3 <! ATTLIST e l e m e n t xml:lang NMTOKEN pl > Dr inż. Stanisław Polak 7 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 8 Przedmiot: XML i jego zastosowania
Wartości domyślne atrybutów Typy atrybutów wartość #REQUIRED #IMPLIED #FIXED wartość CDATA w 1... w n ID IDREF IDREFS ENTITY ENTITIES y 1 <? xml version=" 1.0 " e n c o d i n g="utf -8"?> 2 <m u l l> 3 <s e t showconsole= no /> 4 <t e x t x="1" y="0" columns="20" rows="2" name= t1 > 5 A ) Poka ż obraz 1 6 B ) Poka ż obraz 2 7 </ t e x t> 8 </ m u l l> NMTOKEN NMTOKENS NOTATION 1 <!ATTLIST text name CDATA #REQUIRED> 2 <!ATTLIST set showconsole (yes no) "yes"> Dr inż. Stanisław Polak 9 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 10 Przedmiot: XML i jego zastosowania owy dokument XML i jego Przestrzenie nazw w 1 <? xml version=" 1.0 "?> 2 <! DOCTYPE m u l l SYSTEM " mull. dtd "> 3 <mull> 4 <set showconsole="yes"/> 5 <page onload="picture.1.show()"> 6 <picture name="1"> 7 <layer src="obraz.gif"/> 8 </picture> 9 <text> 10 Zwyk ł y tekst 11 </text> 12 </page> 13 </mull> 1 <! ELEMENT mull ( s e t?, page+)> 2 <! ELEMENT set EMPTY> 3 <! ATTLIST set showconsole ( yes no ) " yes "> 4 <! ELEMENT page ( p i c t u r e t e x t ) > 5 <! ATTLIST page onload CDATA #IMPLIED> 6 <! ELEMENT picture ( l a y e r ) > 7 <! ATTLIST picture name CDATA #REQUIRED> 8 <! ELEMENT layer EMPTY> 9 <! ATTLIST layer s r c CDATA #REQUIRED> 10 <! ELEMENT text (#PCDATA)> mull.dtd 1 <! ELEMENT m u l l ( m u l l : s e t?, m u l l : p a g e +)> 2 <! ATTLIST m u l l x m l n s : m u l l " http: // cos.tam.pl/" #IMPLIED> 3 <! ELEMENT m u l l : s e t EMPTY> 4 <! ATTLIST m u l l : s e t showconsole ( y e s no ) " yes "> 5... Dr inż. Stanisław Polak 11 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 12 Przedmiot: XML i jego zastosowania
Encje Encje Encje Definiowanie odwołań do encji Encje źródła danych niezależne od ich natury Encja dokumentu jednostka przechowywania danych zawierająca deklarację XML, deklarację typu dokumentu oraz element główny Podział encji ze względu na Miejsce wstawiania danych Ogólna Parametryczna Miejsce przechowywania danych Wewnętrzna Zewnętrzna Rodzaj danych Parsowane Nie parsowane 1 <! Odwo ł a n i e do e n c j i ogó l n e j > 2 &nazwisko ; 1 <! Odwoł anie do e n c j i parametrycznej > 2 %PCD ; Definiowanie odwołania do encji ogólnej wewnętrznej <!ENTITY nazwa "podstawiany tekst"> zewnętrznej <!ENTITY nazwa SYSTEM Definiowanie odwołania do encji parametrycznej "URI"> wewnętrznej <!ENTITY % nazwa "podstawiany tekst"> zewnętrznej <!ENTITY % nazwa SYSTEM "URI"> 1 <! DOCTYPE przyk ł ad [ 2 <!ENTITY e n c j a " Stanis ław Polak "> 3 <! ENTITY z l o z o n a e n c j a " Nazwisko: & encja ;"> 4 ]> 5 <p r z y k l a d> 6 <e n c j a 1>&encja ;</ e n c j a 1> 7 <e n c j a 2>&zlozona_encja ;</ e n c j a 2> 8 </ p r z y k l a d> Definiowanie odwołań do encji 1 <p r z y k l a d> 2 <encja1>stanis ł aw Polak</ encja1> 3 <e n c j a 2>Nazwisko: Stanis ł aw Polak</ e n c j a 2> 4 </ p r z y k l a d> po wstawieniu encji Dr inż. Stanisław Polak 13 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 14 Przedmiot: XML i jego zastosowania Notacje Notacje Nie parsowane encje zewnętrzne Instrukcje przetwarzania <!NOTATION nazwa SYSTEM "zewnętrznyid"> <!NOTATION nazwa PUBLIC "publicznyid" "URI"> 1 <! NOTATION GIF system " image / gif "> 2 <! NOTATION GIF p u b l i c " -// IETF / NOSGML Media Type image /gif // EN" " http: // www.isi. edu /in - notes /iana / assignments /media - types / image /gif "> 3 4 <! NOTATION DATAISO SYSTEM " http: //... "> 5 <! NOTATION DATAUSA SYSTEM " http: //... "> 6 <! ELEMENT DATA (#PCDATA )> 7 <! ATTLIST DATA FORMAT NOTATION (DATAISO DATAUSA) #IMPLIED> 8... 9 <DATA FORMAT=" DATAISO ">20020501</DATA> y Dr inż. Stanisław Polak 15 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 16 Przedmiot: XML i jego zastosowania
Nie parsowane encje zewnętrzne Instrukcje przetwarzania 1 <? xml version=" 1.0 " standalone="no"?> 2 <! DOCTYPE DOKUMENT [ 3 <!ELEMENT DOKUMENT ANY> 4 <!ENTITY LOGO SYSTEM "http://www.agh.edu.pl/logo.gif" NDATA GIF> 5 <! NOTATION GIF SYSTEM " image / gif "> 6 <! ELEMENT IMAGE EMPTY> 7 <! ATTLIST IMAGE SOURCE ENTITY #REQUIRED> 8 ]> 9 <DOKUMENT> 10 <IMAGE SOURCE= LOGO /> 11 </DOKUMENT> <?nazwa zawartość?> 1 <! NOTATION LATEX SYSTEM "/usr / local /bin / latex "> 2... 3 <? gcc HelloWorld. c?> 4 <?acroread document=" plik. pdf "?> 5 <?LATEX p l i k=" plik. tex "?> Dr inż. Stanisław Polak 17 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 18 Przedmiot: XML i jego zastosowania Sekcje warunkowe i inne zagadnienia Sekcje warunkowe i inne zagadnienia Sekcje warunkowe Ograniczenia Dyrektywa IGNORE 1 <! [ IGNORE [ 2 pomijane d e k l a r a c j e 3 ] ]> Dyrektywa INCLUDE 1 <! [ INCLUDE [ 2 deklaracje, kt ó re mają zosta ć za ł ą czone 3 ] ]> 1 <! ENTITY % big. " IGNORE "> 2 <! ENTITY % small. " INCLUDE "> 3 4 <! [ %b i g.; [ 5 <!ENTITY % b l o c k s " para excerpt epigraph "> 6 ]] > 7 8 <! [ %s m a l l.; [ 9 <!ENTITY % b l o c k s " para excerpt "> 10 ]] > 11 12 <! [ %b i g.; [ 13 <!ELEMENT e p i g r a p h (#PCDATA )> 14 ]] > Typ #PCDATA Słabe możliwości kontroli typów atrybutów. Elementy nie mogą określać wartości domyślnych Brak ograniczenia na unikalność wartości atrybutu Brak możliwości deklaracji ograniczenia na unikalność zawartości elementu Brak możliwości odrębnego definiowania typów wykorzystywanych w różnych miejscach Brak dziedziczenia definicji typów Brak wsparcia dla przestrzeni nazw Rozbieżności składniowe w stosunku do zwykłego XML Dr inż. Stanisław Polak 19 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 20 Przedmiot: XML i jego zastosowania
Sekcje warunkowe i inne zagadnienia Źródła Procesory XML Źródła Niewalidujące Raportowanie błędów składniowych napotkanych w dokumencie głównym i encjach parsowanych do których dokument główny się odwołuje wstawienie encji wewnętrznych Sprawdzenie poprawności składniowej podzbioru wewnętrznego Walidujące Jw. Raportowanie błędów względem ograniczeń wyrażonych deklaracją lub inną (np. XML Schema) Czytanie i przetwarzanie całego i wszystkich zewnętrznych encji do których dokument się odwołuje Piotr Habela, Krzysztof Stencel. Technologie internetowe. http://edu.pjwstk.edu.pl/wyklady/tin/scb/. Elliotte Rusty Harold. XML. Księga eksperta. Helion, 2001. Eve Maler, Jeanne El Andaloussi. SGML s. From Text To Model To Markup. http://www.xmlgrrl.com/publications/ds/. Dr inż. Stanisław Polak 21 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 22 Przedmiot: XML i jego zastosowania