Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

34
1 Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela Polsko-Japońska Wyższa Szkoła Technik Komputerowych

description

Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela Polsko-Japońska Wyższa Szkoła Technik Komputerowych. W poprzednich wykładach…. Koncepcja znaczników w dokumentach tekstowych poznana na przykładzie HTML; - PowerPoint PPT Presentation

Transcript of Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

Page 1: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

1

Technologie Internetuwykład 7: XML - wprowadzenie

Piotr Habela

Polsko-Japońska Wyższa SzkołaTechnik Komputerowych

Page 2: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

2

W poprzednich wykładach…• Koncepcja znaczników w dokumentach tekstowych

poznana na przykładzie HTML;• Konieczność bezpośredniej interpretacji przez przeglądarkę

wymaga standaryzacji znaczników HTML => brak rozszerzalności;

• Przemieszanie znaczników struktury i formatu wyświetlania stanowi słabość HTML, częściowo kompensowaną przez definicji stylów (CSS); nie wszędzie jednak są stosowane…

• HTML posiada dość swobodne reguły składniowe:– Nie wymaga cudzysłowów wokół wartości atrybutów;

– Dopuszcza pomijanie tagów zamykających;

– Swoboda w zastosowaniu małych i wielkich liter;

… czyniące dokument trudniejszym w obróbce.

Page 3: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

3

Plan wykładu• Geneza XML – koncepcja i możliwości języka SGML;• Powstanie języka HTML;• Konsorcjum W3C: organizacja i inicjatywy;• Składnia języka XML;• Możliwości definiowania typów dokumentów dla XML;

Page 4: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

4

Języki znaczników – motywacja i rozwój• Pojęcie znacznika, jeszcze w tekstach nie elektronicznych

wiązało się przede wszystkim ze sposobem wyróżnienia w tekście informacji o zadanej docelowej formie wydruku danego fragmentu (np. naniesione ręcznie w maszynopisie znaki nakazujące zastosowanie dla danego fragmentu pochylonej czcionki).

• Bezpośrednią motywacją wprowadzenia języków znaczników było umożliwienie formatowania treści w postaci przetwarzalnej maszynowo: wsparcie w tworzeniu dużej skali publikacji elektronicznych.

• Pierwsze przedsięwzięcia: powstałe w latach 60-tych języki GML (IBM) oraz GenCode (GCA).

• Legły one u podstaw standardu ISO 8879:1986:Standard Generalized Markup Language (SGML):– Standard grupy: Information processing -- Text and office

systems .– Zatwierdzony standard międzynarodowy; 155 stron.

Page 5: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

5

SGML - charakterystyka• Język znaczników (markup language) – zbiór konwencji

znaczników stosowanych do opisywania (kodowania) tekstu. Określa:– znaczniki dozwolone i wymagane;

– zapewnia niezawodny sposób ich wyróżniania ze zwykłego tekstu;

– [definiuje znaczenie poszczególnych znaczników].

• SGML = standard opisu tekstu za pomocą znaczników. Określany jako metajęzyk (?) (wrócimy jeszcze do tego pojęcia).

• Charakter opisowy a nie proceduralny: w tekście umieszczone są znaczniki określające interpretację poszczególnych elementów, a ew. elementy proceduralne, opisujące wymagane czynności np. sformatowania tekstu, istnieją odrębnie – w postaci osobnych zasobów.

Page 6: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

6

Typ dokumentu• SGML wprowadza pojęcie typu dokumentu, specyfikując

DTD (Dynamic Type Definitions).• Typ dokumentu jest formalnie zdefiniowany w terminach

jego składowych i ich struktury.• Dla znanych typów dokumentów (tj. dla których istnieją

definicje typu), można sprawdzić zgodność dokumentu ze specyfikacją typu. Program dokonujący takiego sprawdzenia nazywamy parserem.

• Znając typ dokumentu można w bardziej efektywny i wyspecjalizowany sposób przetwarzać wszelkie dokumenty zgodne z tym typem. Jeśli wykonywane jest przetwarzanie dokumentu, to odpowiedni program nazywamy z kolei procesorem.

Page 7: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

7

Niezależność od platformy

• Celem zapewnienia niezależności, język zdefiniowano jako oparty na zwykłym tekście.

• Deklaracja dokumentu SGML zawiera oprócz definicji typu dokumentu specyfikację sposobu kodowania znaków.

• Dla znaków nieprzenośnych można zastosować reguły zastępowania łańcuchów (string substitution).

• Dokumenty ani definicje ich typów nie określają sposobu wizualizacji. W tym celu stworzono specyfikację DSSSL (Document Style Semantics and Specification Language).

Page 8: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

8

Struktura dokumentu SGML• Zawiera jednostki tekstowe zwane elementami (element).• Poszczególne rodzaje elementów posiadają identyfikujące je

nazwy, jednakże znaczenie może być nakreślone jedynie jako współzależności z innymi elementami. Standard nie zajmuje się semantyką poszczególnych rodzajów elementów.

• Nazwy elementów, określane poprzez Generic Identifier (GI), powinny być znane oprogramowaniu i użytkownikom którzy przetwarzają stosujący je dokument.

• Tekst ze znacznikami = document instance, czyli wystąpienie dokumentu.

• Istnieją różne sposoby oznaczania elementów. Najważniejszym z nich jest objęcie tekstu tagami (znacznikami) otwierającym i zamykającym.

Page 9: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

9

Definiowanie typów dokumentów SGML• Notacja DTD (Document Type Definition) dla SGML

pozwala określić następujące właściwości:– określenie identyfikatora elementu, tj. nazwy;

– minimization rules, czyli obowiązkowość tagów otwierającego i zamykającego;

• Model zawartości – tj. jakie podelementy są dopuszczalne:– Nazwy i liczności (? -> opcjonalna, * -> dowolna liczba

powtórzeń, + -> jedno lub więcej);

– Możliwość kombinowania deklaracji (”,” -> sekwencja lub ”|” -> jedna z wymienionych) oraz grupowania przy użyciu nawiasów.

Np.: <!ELEMENT refren - - (#PCDATA | line+)>

<!ELEMENT poemat - O (tytuł?,( (wers+) | (refren?, (strofa, refren?)+ ) )) >

Page 10: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

10

Zaawansowane możliwości• Takie definicje pozwalają zdefiniować precyzyjną hierarchiczną

strukturę dokumentu. Nie zawsze jest to wystarczające.• Mogą istnieć elementy „pływające” (np. adnotacje), które

dopuszczalne są w różnych miejscach hierarchii. Ich wprowadzanie do definicji wszystkich elementów byłoby bardzo niewygodne. Stosuje się w tym celu dwa rodzaje „wyjątków” (exception). Definiuje się je na szczycie hierarchii, której dotyczą:– inclusions – elementy, które mogą pojawić się w dowolnym miejscu;– exclusions – elementy, które są w danym obszarze zabronione;

• Różne kryteria określania struktury dokumentu mogą współistnieć i nakładać się na siebie. Może to być struktura logiczna, typograficzna, językowa (np. formy zdań).

• Wzajemnie przeplatające się struktury można zdefiniować stosując tzw. współbieżne struktury dokumentów:– tworzone są dwie deklaracje typów dokumentu;– elementy występujące tylko w jednej strukturze są prefiksowane nazwą

stosownej definicji typu;

Page 11: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

11

Definicje atrybutów SGML

• Typ elementu jest definiowany przez dopuszczalną (i obowiązkową) jego zawartość (w postaci nazw zagnieżdżanych podelementów).

• Drugim składnikiem definicji jest lista atrybutów właściwa danego typu elementowi. Specyfikacji podlega:– Nazwa atrybutu;– Typ wartości: identyfikator, referencja do identyfikatora, dane

znakowe, wartość alfanumeryczna, wartość liczbowa albo zdefiniowana wartość wyliczeniowa;

– Sposób określenia wartości: wymagana, opcjonalna, lub „jak poprzednio”.

Page 12: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

12

Język czy metajęzyk?• Pojęcie meta-poziomu oznacza zwykle definicję rozpatrywanego

przez nas zbioru elementów, z którą ten ostatni jest związany relacją „jest wystąpieniem”.

• Pojęcie dotyczy często danych i metadanych (schemat jest poziomem „meta” w stosunku do danych gromadzonych w bazie) albo języków programowania (mechanizmu pozwalający kontrolować zachowanie rozpatrywanego przez nas poziomu; np. wołanie procedury). Przykładem może być klasa, jako definicja narzucająca ograniczenie na strukturę jej obiektów oraz definiująca metody czy aktywne reguły dla tych obiektów. Zob. też – metamodel w UML.

• Pojęcie metajęzyka sugerowałoby zatem, że SGML oraz XML są językami służącymi definiowanie innych języków. Termin zatem pasowałby raczej do DTD. Stąd określanie bez bliższego komentarza SGML oraz XML „metajęzykami” może być nieco mylące…

Page 13: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

13

Związki HTML z SGML• Z punktu widzenia założeń, jakie legły u podstaw koncepcji

WWW, SGML uznano za zdecydowanie zbyt skomplikowany.

• Powstały język HTML pozostał jednak silnie związany ze swym protoplastą:– HTML stanowi istotnie okrojony podzbiór SGML;– Składnia HTML zdefiniowana jest przy użyciu środków

definiowania struktury dokumentów SGML (istnieje definicja HTML w postaci DTD);

– Ponadto pierwotna postać HTML konsekwentnie pozostawała przy idei oznaczania jedynie struktury dokumentu, nie zaś sposobu jego wizualizacji.

• Zaistniały burzliwy rozwój Webu zmusił do zweryfikowania tych założeń…

Page 14: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

14

World Wide Web Consortium (W3C)• Powstałe w 1994 roku (zał.: Tim Berners-Lee w

Massachusetts Institute of Technology, Laboratory for Computer Science [MIT/LCS] we współpracy z CERN, oraz DARPA i Komisją Europejską).

• Zakres działalności: rozwiązania wspierające organizację dostępu do zasobów Internetu.

• Zrzesza około 450 organizacji. Finansowane głownie przez członków, w mniejszej części ze środków publicznych.

• Specyfikacje W3C noszą nazwę rekomendacji (recommendations) i są publicznie dostępne.

• Główne zasady projektowe dla technologii Webu:– współdziałanie (interoperability);– zapewnienie możliwości ewolucji: modularność, prostota,

rozszerzalność;– decentralizacja (brak uzależnienia od scentralizowanego zasobu);

Page 15: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

15

Działalność W3C• W oparciu o opinie członków ustanawiane mogą być nowe obszary

działań (activity). Są one sklasyfikowane pomiędzy 4 dziedzinami:– Architektoniczna (technologie Webu);– Interakcji (doskonalenie sposobów korzystania użytkownika z

zasobów Webu - interfejsy);– Technologia i Społeczeństwo;– Dostępności (Web Accessibility Initiative) – poprawa dostępności

Webu dla osób niepełnosprawnych;• Niezależnie od tego podziału funkcjonują działania (activities):

Zapewnienia Jakości(QA) oraz Polityki Pantentów (Patent Policy).• Zasady działania:

– neutralność względem producentów;– koordynacja rozwiązań z innymi instutucjami (IETF, Unicode

Consortium itp.)– konsensus: dążenie do jednomyślności w przyjmowaniu rozwiązań;

Page 16: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

16

Cykl życiowy specyfikacji W3CWorking Draft: Praca w toku; publikację WD zatwierdza kierownictwo konsorcjum, ale zawartość może być dopiero podstawą dla dalszych dyskusji, tj. fakt opublikowania nie oznacza pełnej zgody co do treści ani stabilności rozwiązania.Last Call Working Draft: Specyfikacja spełnia wszystkie sformułowane wymogi, albo ewentualnie dokumentuje niezrealizowane zagadnienia. Formalnie odnosi się do wszystkich zgłoszonych wcześniej uwag i problemów. Stanowi publiczny raport techniczny, mogący być podstawą dalszych konsultacji.Candidate Recommendation: Ustalone współzależności z innymi specyfikacjami. Oczekiwanie na doświadczenia implementacyjne spoza grupy roboczej.Proposed Recommendation: Istnieją doświadczenia z implementacją specyfikacji. Jest przedmiotem przeglądu przez komitet doradczy.W3C Recommendation: Postać finalna. Raport techniczny spełniający wymagania, będący wynikiem uzgodnień. Uznany za nadający się do szerokiego zastosowania i realizujący misję W3C.

Page 17: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

17

W3C: Koncepcja rozwoju standardów Webu

Źródło: www.w3c.org

Page 18: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

18

Prace nad technologią XML w W3CPrace na XML są realizowane przez 6 grup roboczych W3C:1. XML Coordination Group: Koordynacja pomiędzy grupami

zajmującymi się XML oraz współdziałanie z innymi grupami. Nie tworzy własnych specyfikacji.

2. XML Core Working Group: Specyfikacja XML oraz najbliżej z samym językiem związane: Namespaces, XML Information Set, oraz XInclude.

3. XSL Working Group: Definicje stylów i transformacje obiektów.

4. XML Linking Working Group: Łącza hipertekstowe dla XML. Obecnie nie jest aktywna.

5. XML Query Working Group: Język zapytań dla XML.

6. XML Schema Working Group: Definicje i opis struktury, zawartości oraz w pewnym zakresie również semantyki dokumentów XML.

Page 19: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

19

XML – założenia projektowe• Cel: Stworzenie generycznego podzbioru SGML

dostosowanego do udostępniania, odczytywania i przetwarzania w środowisku Webu w sposób analogiczny jak w przypadku HTML.

• Założenia projektowe:– Użyteczny bezpośrednio w Internecie.– Uniwersalny wobec dziedzin zastosowań.– Zgodny SGML.– Zapewnienie wsparcia dla tworzenia programów przetwarzających

dokumenty XML.– Minimalizacja elementów opcjonalnych w specyfikacji.– Klarowność i czytelność dla człowieka.– Konieczność szybkiego zaprojektowania języka.– Formalny i spójny styl projektu.– Łatwość tworzenia dokumentów XML.– Brak wymogów odnośnie zwięzłości składni.

Page 20: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

20

XML - charakterystyka• Język tekstowy;• Rozszerzalny: zestaw znaczników nie stanowi zamkniętej

listy;• Elastyczna struktura;• Niezależność od platformy;• Możliwość definiowania reguł poprawności dla struktury

dokumentu (definicja typu dokumentu);• Stosunkowo rygorystyczna składnia;• Opisuje klasę obiektów danych, zwaną dokumentami

XML;• Częściowo określa zachowanie programów, które je

przetwarzają;• Zgodny z SGML: określany jako profil zastosowań SGML

albo ograniczony SGML.

Page 21: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

21

Dokument XML• Struktura fizyczna: złożenie jednostek zwanych encjami (?)

(XML entities):– Parsowalne: dane znakowe oraz znaczniki. Encje parsowalne

zawierają tekst, czyli sekwencje znaków. Pojęcie znaku jest traktowane zgodnie ze standardem ISO/IEC 10646 (Universal Multiple-Octet Coded Character Set (UCS)). Za poprawne znakisą uznawane: tab, carriage return, line feed oraz wszystkie znaki Unicode i ISO/IEC 10646;

– Nieparsowalne.

• Struktura logiczna:– Strukturę dokumentu wyznaczają znaczniki.

• Oprogramowanie pracujące z XML:– Procesor XML – odczytuje i udostępnia strukturę i treść

dokumentu.– Aplikacja – korzysta ze struktury udostępnionej przez procesor.

Page 22: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

22

Zawartość dokumentu XML• Elementy:

– wyznaczane za pomocą znaczników;– ograniczenia na nazwę – może zawierać większość

znaków, choć nie może zaczynać się od cyfry, myślnika ani kropki; dopuszczalne na początku są podkreślenia i dwukropki;

– dla nazw elementów rozróżnialna jest wielkość liter;– element niepusty składa się obowiązkowo ze znacznika

otwierającego i zamykającego:<osoba>Jan Kowalski</osoba>

– element pusty może składać się z jednego tylko znacznika, zakończonego znakiem „/”:

<usunietyWpis />

Page 23: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

23

Atrybuty XML• Przybierają postać nazwAtrybutu =”wartość atrybutu”

• Podobne ograniczenia na nazwę, jak w wypadku nazw elementów;

• Wartość może być typu: string, wyliczeniowego, nazwy, identyfikatora, nazwy encji, referencji do identyfikatora…

• Zawarte w znaczniku otwierającym (albo w znaczniku elementu pustego);

• Znacznik może zawierać tylko jeden atrybut o danej nazwie;• Rozróżniana jest wielkość liter;• Kolejność atrybutów nie jest wymagana standardem, choć

zaleca się jej konsekwentne utrzymanie;• Np. <opisZadania autor = ”Jan Kochanowski”

autor=”Anonim”> Tutaj zawartość </opisZadania>

Page 24: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

24

XML – znaki specjalne• Jak można wywnioskować z omówionej składni, znaki „<”,

„>” oraz cudzysłów, jak również apostrof – są traktowane specjalnie.

• Chcąc użyć ich jako zwykłych znaków w miejscach, gdzie byłoby to niejednoznaczne, należy użyć predefiniowanych symboli zastępczych: &gt;, &lt; oraz &quot; i &apos;.

• Te dwa ostatnie mogą być potrzebne w wartościach atrybutów, jednakże można ich uniknąć stosując jako ograniczniki wartości tekstowej symbole apostrofu i cudzysłowu zamiennie (tak, jak się to czyni np. w JavaScript).

• Symbole zastępcze rozwiązują problem, choć oczywiście mogą być niewygodne, np. przy formułowaniu w dokumentach XML warunków, jak to ma miejsce np. w językach zapytań.

Page 25: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

25

Zawartość elementów XML• Wyróżniamy:

– elementy puste (pojedynczy znacznik zakończony „/”);– elementy zawierające tylko tekst;– elementy złożone, tj. posiadające podelementy;– elementy o zawartości mieszanej (tj. zarówno tekst jak i

podelementy – mogą być na rożne sposoby przeplecione);

• Kolejność zawieranych podelementów jest istotna dla właściwej interpretacji dokumentu; jest określona definicją typu dokumentu;

• Elementy złożone (i mieszane) muszą być poprawnie zagnieżdżone. W efekcie prawidłowy dokument XML posiada strukturę hierarchiczną.

• => Reguły składniowe znane z HTML. XML odróżnia się jednak bardziej zdyscyplinowaną składnią.

Page 26: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

26

Deklaracja XML

• Pierwszy składnik tzw. prologu dokumentu.

• Określa sposób interpretacji dokumentu.

• Specyfikuje:– wersję użytego języka: parametr version;– rodzaj kodowania znaków: parametr encoding

(np. unicode, ISO, windows);– określenie, czy dokument jest samodzielny: parametr

standalone.

• Np. <?xml version=”1.0” encoding=”UTF-8” standalone=”yes” ?>

Page 27: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

27

Poprawność formy i poprawność strukturalna• Dokument poprawny składniowo (well-formed):

– Zgodny z definicją produkcji „document” (tj. m.in. zawiera deklarację XML);

– Element główny („korzeń”) występuje raz w każdym z dokumentów i nie jest zawarty w żadnym innym elemencie. Pozostałe elementy muszą być poprawnie zagnieżdżone. W oparciu o takie zagnieżdżenie mówi się o relacji rodzic-dziecko.

– Spełnienie wszystkich ograniczeń poprawnościowych ujętych w specyfikacji;

– Wszystkie parsowalne encje do których odwołuje się dokument spełniają warunek poprawności;

• Dokument poprawny strukturalnie (valid): zgodność z definicją typu dokumentu (DTD).

Page 28: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

28

Przetwarzanie dokumentu XML

• Poprawność składniowa jest warunkiem koniecznym dla dopuszczenia dalszego przetwarzania dokumentu XML przez oprogramowanie.

• Przykłady przetwarzania:– wyświetlanie;

– przekształcenie w dokument HTML zbudowany według określonego stylu;

– wygenerowanie nowego dokumentu XML;

– zasilenie bazy danych danymi z dokumentu.

Page 29: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

29

Deklaracje

• W przeciwieństwie do elementów, nie są bezpośrednio przetwarzane.

• Umieszczane w symbolach: <! … >• Deklaracje podstawowe, obecne w zwykłych dokumentach

XML to:– komentarze: <!-- … -->– sekcje danych znakowych: wyznaczają obszar, w którym można

swobodnie używać znaków zastrzeżonych: <![CDATA[Tutaj może się znaleźć dość dowolny tekst]]>

• O wiele szersze wykorzystanie deklaracji ma miejsce w wypadku definicji DTD;

Page 30: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

30

Instrukcje przetwarzania XML• Instrukcje przetwarzania = Processing Instructions – PI;• umieszczane pomiędzy znakami: <? … ?>• Określają cel (PI Target) oraz instrukcję, która ma być

wykonana.• Cel jest słowem kluczowym (umieszczanym bezpośrednio

po otwarciu znacznika), które identyfikuje aplikację mającą dokonać przetwarzania.

• Preferowany styl oznaczania kodu PHP tworzy właśnie instrukcję przetwarzania zgodną z notacją XML:

<?php tutaj kod PHP… ?>

• Niektóre instrukcje przetwarzania (np. związane ze stosowaniem stylów) są określone standardem.

Page 31: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

31

Encje XML (XML Entities)• Jednostka fizycznego podziału dokumentu (umożliwia

integrację treści z różnych plików);• Posiada nazwę, która ją identyfikuje;• Deklarowana słowem kluczowym ENTITY;• Deklaracje jednostek występują w definicji typu dokumentu

(DTD);• Zastosowania:

– integrowanie zawartości różnych plików;

– substytucja tekstu (np. aby można było w jednym tylko miejscu wpisać często powtarzający się w dokumencie tekst);

– wyodrębnienie danych, które mają nie być przetwarzane przez XML;

Page 32: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

32

Rodzaje encji XML• Najprostsze warianty:

– Ogólna encja wewnętrzna (general internal entity). Zawiera wyłącznie tekst i służy przetwarzaniu tekstu; np. <!ENTITY skrot ”Pełne rozwinięcie skrótu”>

– Ogólna encja zewnętrzna (general external entity); W tym wypadku deklaracja typu dokumentu definiuje encję jako odnośnik: <!ENTITY naszaEncja SYSTEM

”http://xyz.com/plik_naszej_encji.xml”>– Encja predefiniowana. Jak sama nazwa wskazuje, nie wymaga

definiowana; jest określona standardem. Zdefiniowano w ten sposób ww. symbole zastrzeżone, których użycie bezpośrednie zakłóciłoby składnię dokumentu: &lt, &gt, &amp, &apos, &quot. Uwaga! Nie jest dozwolone podstawienie jako wartości atrybutu tekstu skutkującego umieszczeniem znaków „<” lub „>”, ani umieszczenie w wartości atrybutu referencji do encji zewnętrznej.

• W treści dokumentu mogą wystąpić odwołania do danej encji w postaci: &nazwaEncji; (niezbędne jest zakończenie średnikiem)

Page 33: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

33

Document Type Definitions (DTD)• Definicje Typu Dokumentu stanowią cechę szczególną

XML a zarazem integralną część specyfikacji języka.• Definicja typu pozwala sprawdzić strukturalną poprawność

dokumentu. Można je postrzegać jako język opisu dokumentu.

• Definicje typu mogą występować w pliku dokumentu, lub w plikach zewnętrznych.

• W przeciwieństwie do SGML, obecność definicji typu nie jest obowiązkowa.

Page 34: Technologie Internetu wykład 7: XML - wprowadzenie Piotr Habela

34

XML a przetwarzanie danych• Dzięki swej niezależności od platformy i rozszerzalności,

XML stał się użyteczny we współpracy z technologiami baz danych.

• W tym wypadku nieistotna staje się czytelność pliku, natomiast trzeba się zmierzyć z problemami np. różnic w kodowaniu znaków.

• Osobliwe możliwości daje struktura dokumentu: właściwości danego obiektu mogą wystąpić w elemencie jako:– Zawartość tekstowa;– Podelementy;– Atrybuty;

• Podstawowy dokument XML ma strukturę hierarchiczną, co może być kłopotliwe z punktu widzenia modelowania danych. Skuteczne rozwiązanie mechanizmu referencji pomiędzy elementami ma tu duże znaczenie.