Technologie zarządzania treścią



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

DTD - encje ogólne i parametryczne, przestrzenie nazw

Wprowadzenie do technologii XML

XML extensible Markup Language. Paweł Chodkiewicz

Rola języka XML narzędziem

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

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

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

Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki

XML DTD XML Schema CSS

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

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

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

XML extensible Markup Language. część 1

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

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

Technologie zarządzania treścią

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

Zasady Nazewnictwa. Dokumentów XML Strona 1 z 9

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

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

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

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI

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

XML i nowoczesne technologie zarządzania treścią

Model semistrukturalny

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

Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych

mgr inż. Jacek Staniec Język 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

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT

c TP: anything: 13 listopada 2004 roku 1

Przykładowy dokument XML

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

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

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

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

XML na powa nie IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TREŒCI KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG

Aplikacje internetowe laboratorium XML, DTD, XSL

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

Dlaczego GML? Gdańsk r. Karol Stachura

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

Podstawy programowania skrót z wykładów:

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Wprowadzenie do XML. Tomasz Przechlewski

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Otwarte protokoły wymiany informacji w systemach ITS

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

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

Przykładowy dokument XML

Pakiet XML Czym jest i z czym się je?

Narzędzia informatyczne w językoznawstwie

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

Podstawowe konstrukcje Podstawowymi konstrukcjami są wzorce element oraz attribute:

Języki programowania wysokiego poziomu WWW

Oczywiście plik musi mieć rozszerzenie *.php

Zmienne, stałe i operatory

Komunikacja i wymiana danych

Polcode Code Contest PHP-10.09

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Programowanie internetowe

Zaawansowana Pracownia Komputerowa - Ćwiczenia. Krzysztof Miernik

2 Podstawy tworzenia stron internetowych

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

Wprowadzenie do technologii XML

1 Podstawy c++ w pigułce.

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

METODY REPREZENTACJI INFORMACJI

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Załącznik nr 2 do Umowy Nr. o korzystanie z usługi Identyfikacji Przychodzących Płatności Masowych z dnia.

XML w bazach danych i bezpieczeństwie

Dodatkowe możliwości RDF. Seminarium magisterskie Paweł Chrząszczewski

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

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

XML i nowoczesne metody zarządzania treścią

Podstawy JavaScript ćwiczenia

GML w praktyce geodezyjnej

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

O stronach www, html itp..

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

XML i nowoczesne technologie zarządzania treścią 2007/08

Specyfikacja techniczna pliku wymiany danych

KARTA KURSU. Przetwarzanie dokumentów XML i zaawansowane techniki WWW

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

Instrukcja integracji z portalem ogłoszeń praca.24portal.pl

Zawartość specyfikacji:

Spis treści Informacje podstawowe Predykaty Przykłady Źródła RDF. Marek Prząda. PWSZ w Tarnowie. Tarnów, 6 lutego 2009

Prezentacja i transformacja

Generated by Foxit PDF Creator Foxit Software For evaluation only. System Szablonów

Liczba godzin. N (nauczyciel) studia niestacjonarne

MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP

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

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

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

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.

SPECYFIKACJA TECHNICZNA DOTYCZĄCA PRZYGOTOWANIA BAZ DANYCH DO PERSONALIZACJI

Autor: dr inż. Katarzyna Rudnik

Transkrypt:

Technologie zarządzania treścią dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej i Stosowanej

Technologie zarządzania treścią 2/43 Technologie zarządzania treścią XML język, parsery (DOM i SAX - biblioteka libxml2), technologie powiązane z XMLem: nazewnictwo (Namespaces), opis struktury dokumentu (DTD, XML Schema), prezentacja i przetwarzanie (XSLT, XSL-FO), odsyłacze (XLink, XPath, XPointer), wyszukiwanie (XPath, XQuery, XPointer), JSON format, parser.

Technologie zarządzania treścią 3/43 Trochę historii Koniec lat 60-tych to powstanie języka GML (ang. General Markup Language) - pierwszy język znaczników. 1986 rok ogłoszenie standardu SGML (ang. Standard General Markup Language). SGML ma bardzo skomplikowaną strukturę definiowania dokumentu Specyfikacja standardu SGML to 500 stron maszynopisu! Koniec lat 80-tych i początek lat 90-tych - powstaje język HTML (ang. HyperText Markup Language). HTML + HTTP + URL = WWW Wzrost liczby stron, użytkowników i liczby przetwarzanych informacji. HTML nie wystarcza do coraz bardziej złożonych informacji dostępnych w sieci. 1996 rok - początek prac nad językiem XML 1998 rok - pierwsza oficjalna wersja XML (1.0), specyfikacja to 35 stron 2008 rok - piąta edycja XML 1.0

Technologie zarządzania treścią 4/43 Dlaczego powstał XML Ściśle określony zbiór znaczników języka HTML - brak możliwości definiowania własnych znaczników. XML, jako metajęzyk pozwala definiować własne znaczniki, pozwala tworzyć własne języki. Definicja własnych znaczników pozwala nadać informacji pewną strukturę. HTML odpowiada za sposób prezentacji informacji, struktura informacji jest mniej ważna; ciężko tutaj o automatyczne przetwarzanie informacji. W HTML informacje o sposobie prezentacji są w dokumencie - zaciemniają treść samej informacji. <h4 align=center>politechnika Częstochowska</h4> <p>nasza uczelnia składa się z 6 wydziałów: <ul> <li>wydział Budownictwa</li> <li>wydział Inżynierii Mechanicznej i Informatyki</li> <li>wydział...</li> <li>wydział Zarządzania</li> </ul> </p>

Technologie zarządzania treścią 5/43 Dlaczego powstał XML Ściśle określony zbiór znaczników języka HTML - brak możliwości definiowania własnych znaczników. XML, jako metajęzyk pozwala definiować własne znaczniki, pozwala tworzyć własne języki. Definicja własnych znaczników pozwala nadać informacji pewną strukturę. HTML odpowiada za sposób prezentacji informacji, struktura informacji jest mniej ważna; ciężko tutaj o automatyczne przetwarzanie informacji. W HTML informacje o sposobie prezentacji są w dokumencie - zaciemniają treść samej informacji. <uczelnia> <nazwa>politechnika Częstochowska</nazwa> <opis>nasza uczelnia składa się z 6 wydziałów:</opis> <wydzial>wydział Budownictwa</wydzial> <wydzial>wydział Inżynierii Mechanicznej i Informatyki</wydzial> <wydzial>wydział...</wydzial> <wydzial>wydział Zarządzania</wydzial> </uczelnia>

Technologie zarządzania treścią 6/43 Dlaczego powstał XML HTML - brak rozróżniania wielkich i małych liter, nie ma konieczności umieszczania wartości atrybutów w apostrofach lub cudzysłowach, nie ma konieczności występowania znaczników końcowych. W HTML nie ma konieczności sprawdzenia poprawności danych - przeglądarki wyświetlają strony nawet z błędami. Potrzeba skutecznego sposobu wymiany danych w sieci EDI (ang. Electronic Data Interchange) - stąd (XML, JSON). HTML jest zbyt prosty w zastosowaniach kiedy chodzi o przetwarzanie informacji. <h4 align=center>politechnika Częstochowska</h4> <p>nasza uczelnia składa się z 6 wydziałów: <ul> <LI>Wydział Budownictwa <li>wydział Inżynierii Mechanicznej i Informatyki <li>wydział... <li>wydział Zarządzania </UL>

Technologie zarządzania treścią 7/43 SGML, XML i HTML SGML i XML to metajęzyki (XML to znacznie uproszczony SGML). XML jest lżejszą wersją języka SGML. HTML, XHTML, MathML,... to konkretne aplikacje SGMLa czy XMLa.

Technologie zarządzania treścią 8/43 XML XML - rozszerzalny język znaczników (ang. extensible Markup Language) Uniwersalny język przeznaczony do reprezentowania różnych danych w strukturalizowany sposób. Język niezależny od platformy, co umożliwia łatwą wymianę dokumentów pomiędzy heterogenicznymi systemami i znacząco przyczyniło się do popularności tego języka w dobie internetu. Standard specyfikowany i rekomendowany przez organizację W3C. Powstał dla sieci internet, z myślą o niej, ale jego zastosowanie wykracza poza tę sieć.

Technologie zarządzania treścią 9/43 XML Jest językiem tekstowym - dokumenty XML są plikami tekstowymi. Jest rozszerzalny - można dodawać własne znaczniki. Jest międzynarodowy - używa standardu Unicode, domyślnie kodowanie UTF-8. Jest sposobem tekstowego przechowywania informacji - jest bliższy bazom danych niż językom programowania Jest całą rodziną języków i technologii (MathML, SVG, RSS,...). Jest otwartym standardem - sprzyja to rozwojowi bazujących na nim technologii. W stosunku do języka SGML, XML jest łatwy w użyciu. Dzięki DTD czy XML Schema można określać strukturę dokumentu. Jest hierarchiczny, każdy dokument XML to pojedyncza hierarchia elementów.

Technologie zarządzania treścią 10/43 Czym nie jest XML XML nie jest językiem programowania. Nie istnieje kompilator XML. Dokumenty XML mogą być wykorzystywane przez kompilator (np. plik konfiguracyjny) lub program, ale poszczególne działania zawsze podejmuje program - nie dokument XML. XML nie jest protokołem transportu sieciowego, ale dane przesyłane przez sieć np. przy użyciu HTTP, FTP lub innego protokołu mogą zostać zapisane w formacie XML. XML nie jest bazą danych. Dane w formacie XML możemy przechowywać w bazie danych.

Technologie zarządzania treścią 11/43 DTD DTD (ang. Document Type Definition) dokument definiujący formalną strukturę dokumentów XML. DTD może znajdować się w pliku dokumentu, którego strukturę definiują, lub w osobnym pliku tekstowym. Zapis DTD w osobnym pliku pozwala na użycie tego samego DTD do wielu dokumentów XML. DTD wymienia wszystkie dozwolone oznaczenia i określa gdzie i w jaki sposób dane oznaczenie może być umieszczone w dokumencie XML. Dokumenty XML można porównywać z DTD i na tej podstawie określać czy dany dokument XML jest prawidłowy.

Technologie zarządzania treścią 12/43 Dokument XML Dokument XML: zawiera wyłącznie dane tekstowe - nigdy dane binarne, może być zapisany w postaci pliku, ale może to być też rekord w bazie danych, zawartość zmiennej,... może być otwarty i modyfikowany za pomocą każdej aplikacji tekstowej, Umieszczenie w dokumencie XML znaków będących elementami składni XML jest możliwe za pomocą tzw. sekwencji unikowych. XML dostarcza 5 predefiniowanych sekwencji: < < > > & & &apos; apostrof " cudzysłów

Technologie zarządzania treścią 13/43 Dokument XML Dokument XML przechowuje informacje w elementach, które składają się z nazwy (typu elementu) oraz treści, atrybutach, które zawierają dodatkowe informacje zamieszczane w elementach. Pojedynczy element XML zawiera: znacznik początkowy (bez znaku /), treść elementu znacznik końcowy (zawiera /) Nazwa elementu objęta jest znakami < i >. <przedmiot>podstawy programowania</przedmiot> <uczelnia> Politechnika Częstochowska </uczelnia>

Technologie zarządzania treścią 14/43 Dokument XML - elementy puste Treść elementu może być pominięta - element pusty. Znacznik początkowy musi mieć również znacznik końcowy. Element nie posiadający treści można zapisać za pomocą znacznika elementu pustego (nazwa zakończona znakiem /). <rysunek nazwa="dokumenty/diagram.png"></rysunek> <rysunek nazwa="dokumenty/aktor.png"/> <nowa_strona/>

Technologie zarządzania treścią 15/43 Dokument XML - atrybuty Atrybuty składają się z: nazwy, znaku równości =, wartość atrybutu (wewnątrz znaków apostrofu lub cudzysłowu "). <p style="big_font">dawno, dawno temu...</p> <rysunek sciezka= Dokumenty/rys.png /> <odnosnik href="http://www.pcz.pl" nazwa= PCz-WWW /> Atrybuty mogą być tylko w znaczniku początkowym. Nazwy atrybutów w jednym elemencie nie mogą się powtarzać. Kolejność atrybutów jest dowolna.

Technologie zarządzania treścią 16/43 Dokument XML - hierarchia elementów Pojedynczy element XML może zawierać: tylko tekst - zawartość tekstowa, tylko inne elementy - zawartość elementowa, tekst i inne elementy - zawartość mieszana. Element zawierający inne elementy (podelementy) jest dla nich elementem nadrzędnym. Dokument XML opisuje pewną hierarchię elementów. Element główny, nadrzędny do wszystkich elementów w dokumencie nazywa się korzeniem. W całym dokumencie XML może być tylko jeden element nadrzędny.

echnologie zarządzania treścią 17/43 Dokument XML - struktura drzewa Dokumenty XML posiadają strukturę drzewa. Znaczniki XML mogą znajdować się wewnątrz innych znaczników. Każdy element (z wyjątkiem korzenia) ma dokładnie jeden element obejmujący (rodzica). Każdy element może mieć wiele elementów będących jego częściami. <student> <imie>jaś</imie> <nazwisko>kowalski</nazwisko> <uczelnia> Politechnika Częstochowska <kierunek>informatyka</kierunek> </uczelnia> </student>

Technologie zarządzania treścią 18/43 Dokument XML - struktura drzewa Elementy w dokumencie XML nie mogą zachodzić na siebie. Jeśli znacznik początkowy danego elementu znajduje się wewnątrz innego elementu, wtedy odpowiadający mu znacznik zamykający również musi znajdować się wewnątrz tego elementu. <p><b>treść akapitu...</p></b> <!-- błąd, elementy zachodzą na siebie --> Znacznik o tej samej nazwie może powtórzyć się wielokrotnie wewnątrz jednego znacznika (np. kierunek) - odwzorowanie tablic w XML. <uczelnia> Politechnika Częstochowska <kierunek>informatyka</kierunek> <kierunek>mechatronika</kierunek> </uczelnia>

Technologie zarządzania treścią 19/43 Atrybut czy element? <student rocznik="1990" kierunek="informatyka" uwagi="brak"> Jaś Kowalski </student> <student> Jaś Kowalski <rocznik>1990</rocznik> <kierunek>informatyka</kierunek> <uwagi>brak</uwagi> </student> Dwa różne zapisy i taki sam zasób informacji - którą wersję wybrać? Nie ma jasno określonych reguł ale...

Technologie zarządzania treścią 20/43 Atrybut czy element? <student rocznik="1990" kierunek="informatyka" uwagi="podczas wykładu student wykazuje się bardzo dużą aktywnością, nie jest to jednak aktywność związana z tematyką przedmiotu. Skutkiem tego na zajęciach laboratoryjnych nie wie co i jak ma robić. Przekłada się to bezpośrednio na słabe oceny studenta oraz trudności z zaliczeniem przedmiotu"> Jaś Kowalski </student> Atrybuty, w których zapisywana jest duża ilość treści zmniejszają czytelność dokumentu. Atrybutów nie można stosować w sytuacji gdy dany element występuje więcej niż raz - np. kierunek. Atrybuty dobrze sprawdzają się w przypadku małych danych występujących jednokrotnie dla danego znacznika (np. rocznik).

Technologie zarządzania treścią 21/43 Atrybut czy element? <student rocznik="1990"> <kierunek>informatyka</kierunek> <kierunek>inżynieria biomedyczna</kierunek> <uwagi> Podczas wykładu student wykazuje się bardzo dużą aktywnością, nie jest to jednak aktywność związana z tematyką przedmiotu. Skutkiem tego na zajęciach laboratoryjnych nie wie co i jak ma robić. Przekłada się to bezpośrednio na słabe oceny studenta oraz trudności z zaliczeniem przedmiotu </uwagi> Jaś Kowalski </student>

Technologie zarządzania treścią 22/43 Unicode w dokumentach XML Dokument XML może składać się z dowolnych znaków Unicode, z wyłączeniem znaków sterujących (null, bell, backspace, \r, \n, itp.) Każdy znak Unicode może być wstawiony do dokumentu XML za pomocą kodu numerycznego szesnastkowego lub dziesiętnego. Np. chiński znak, którego kod wynosi 4E2D (szesnastkowo) i 20013 (dziesiętnie) może być wstawiony do dokumentu XML za pomocą 中 lub 中 Przykład zapisu I <3 Jörg w dokumencie XML: &I <3 Jörg& Wykorzystanie kodów numerycznych jest szczególnie przydatne w sytuacji, gdy znaku, którego chcemy użyć nie ma na klawiaturze.

Nazwy XML XML określa reguły dotyczące nazw zarówno elementów jak i atrybutów: nazwy mogą zawierać dowolne znaki alfanumeryczne: standardowe litery alfabetu A-Z, a-z, cyfry 0-9, także polskie znaki diakrytyczne i inne znaki narodowe, ideogramy: http://www.w3.org/tr/rec-xml/#nt-basechar <ĄąĘę ΨΩ= αβγδ > One word </ĄąĘę> znaki interpunkcyjne (wyłącznie wymienione poniżej): podkreślenie łącznik - kropę. dwukropek : (zarezerwowane dla przestrzeni nazw) rozróżniane są małe i duże litery w nazwach (element osoba, Osoba i OSOBA to inne elementy), nazwy mogą się zaczynać tylko od liter, ideogramów lub znaku podkreślenia, ograniczenia długości nazw - zdrowy rozsądek :) Technologie zarządzania treścią 23/43

echnologie zarządzania treścią 24/43 Trochę ciekawych przykładów Dokumenty dobrze, poprawnie uformowane (ang. well-formed): <faktura></faktura> <!-- elementy puste --> <faktura/> <informacja treść="program się prawie kompilował..."/> <_info-łk11_9 treść= On powiedział: "Proście a będzie wam dane..." /> <Książka>Ania z "Zielonego Wzgórza </Książka> <A ΨΩ>Greek alphabet is: A, B, Γ,...Ω</A ΨΩ> Niepoprawna składnia XML: <osoba imie="jan" imie="karol" nazwisko="nowak"></osoba> <Uczelnia>Politechnika Częstochowska</uczelnia> <osoba id=3408>janusz Nowak</osoba> <odczyt></odczyt przelicznik= 1.84 > <!-- KOM -- Co tutaj jest nie tak? --> <8859-2name>Polska strona kodowa...</8859-2name>

echnologie zarządzania treścią 25/43 Deklaracja XML Każdy poprawny dokument XML musi zawierać dokładnie jedną deklarację XML informującą o: wersji języka - atrybut version, zastosowanym kodowaniu - atrybut encoding, samodzielności dokumentu - atrybut standalone. Deklaracja XML rozpoczyna się od <?xml a kończy?>. Pomiędzy tymi elementami umieszczone są atrybuty i ich wartości. Przykładowa deklaracja XML: <?xml version="1.0" encoding="iso-8859-2" standalone="yes"?> Deklaracja XML musi się być umieszczona w pierwszej linii dokumentu XML.

Technologie zarządzania treścią 26/43 Deklaracja XML - atrybuty version - atrybut obowiązkowy - zalecane jest korzystanie z wersji 1.0 wszędzie tam gdzie jest to możliwe. Wersja 1.1 wprowadza zmiany związane z modyfikacjami standardu Unicode, ale nie zachowuje zgodności wstecznej z wersją XML 1.0. encoding - atrybut opcjonalny - wartość atrybutu to nazwa kodowania zastosowanego w dokumencie XML. Zalecane jest stosowanie kodowania Unicode w formacie UTF-8 (wartość domyślna) lub UTF-16. Kodowanie wskazane w deklaracji XML musi być jednorodne i obowiązuje w całym dokumencie XML. standalone - atrybut opcjonalny - określa samodzielność dokumentu. Wartość no oznacza, że dokument nie jest samodzielny i konieczne jest przetworzenie dodatkowych plików zawierających definicje typu dokumentu lub encje. Domyślnie dokument jest traktowany jako samodzielny (standalone= yes ).

Technologie zarządzania treścią 27/43 Inne składniki języka XML 1.0 Język XML 1.0 pozwala na stosowanie w dokumentach XML dodatkowych konstrukcji. Są nimi: deklaracje podstawowe oraz deklaracje wykorzystywane w DTD; są umieszczone wewnątrz znaczników <! oraz >. instrukcje przetwarzania przeznaczone dla programów przetwarzających dokument XML; są umieszczone pomiędzy znacznikami <? oraz?>. encje, wykorzystywane do skojarzenia nazwy encji i łańcucha znakowego; definiowane w dokumentach XML za pomocą słowa ENTITY będącego składnikiem deklaracji <!ENTITY... >

Deklaracje podstawowe komentarze rozpoczynają się <!-- a kończą się -->, mogą występować w dowolnym miejscu dokumentu XML, mogą być jedno lub wielolinijkowe, nie są częścią danych dokumentu XML - najczęściej są pomijane przez parsery, Treść komentarza nie może zawierać dwuznaku --. sekcje CDATA - wykorzystywane do zapisu łańcuchów zawierających znaki specjalne rozpoczyna się łańcuchem <![CDATA[ a kończy ]]>, niedozwolone jest zagnieżdżanie sekcji CDATA, Przykład sekcji CDATA: <![CDATA[ Warunek logiczny: f+8>5 && g<12 z języka C++ ]]> Warunek logiczny: f+8>5 && g<12 z języka C++ Parser XML traktuje tekst w CDATA jako ciąg znaków. Technologie zarządzania treścią 28/43

Technologie zarządzania treścią 29/43 Deklaracje wykorzystywane w DTD Deklaracja Opis <!DOCTYPE... > Zawiera lub wskazuje specyfikację dokumentu <!ENTITY... > Definiuje encję <!NOTATION... > Definiuje notacje, za pomocą których można określić typy danych zewnętrznych <!ELEMENT... > Deklaruje element <!ATTLIST... > Deklaruje listę atrybutów elementu <!IGNORE... > Wskazuje fragment dokumentu wyłączony z przetwarzania <!INCLUDE... > Wskazuje fragment dokumentu włączony do przetwarzania

Technologie zarządzania treścią 30/43 Instrukcje przetwarzania Instrukcje przetwarzania (PI - ang. Processing Instructions) to informacje przeznaczone dla programów przetwarzających dokument XML. PI, umieszczone pomiędzy znakami <? oraz?>, są podzielone na dwie części: cel (ang. PITarget) oraz instrukcję do wykonania. Cel określa aplikację, dla której przeznaczona jest instrukcja do wykonania. Jeśli cel zostanie rozpoznany przez program przetwarzający dokument XML wykonywana jest instrukcja. Jeśli cel nie zostanie rozpoznany instrukcja jest pomijana.

echnologie zarządzania treścią 31/43 Standardowe i niestandardowe PI Specyfikacja XML 1.0 dzieli PI na standardowe i niestandardowe. Standardowe PI: służą do wskazania aplikacji zdefiniowanej lub wymaganej w specyfikacjach należących do rodziny technologii XML, np. instrukcja transformacji XSLT: <?xml-stylesheet type="text/xsl" href="demo.xml"?> standardowe PI mają jako cel nazwę xml lub inną nazwę zaczynającą się od xml Niestandardowe PI mogą zawierać skrypty, które aplikacja przetwarzająca dokument XML będzie potrafiła rozpoznać i wykonać, np: <?php print("skrypt PHP - niestandardowa instrukcja przetwarzania dokumentu XML!")?> <?javascript function JStoPI?> alert("skrypt JavaScript to też PI!");

Technologie zarządzania treścią 32/43 Encje Encja jest elementem notacji DTD i jest deklarowana przez słowo kluczowe ENTITY użyte w deklaracji encji. Oznacza skojarzenie nazwy encji i łańcucha znaków. Encje wykorzystuje się do: substytucji tekstu, integrowania zawartości umieszczonej w różnych plikach, wyodrębnienia danych, które mają nie być przetwarzane przez procesory XML. Wykorzystanie encji w dokumencie XML polega na umieszczeniu referencji encji składającej się z nazwy encji poprzedzonej znakiem & i zakończonej średnikiem. Często stosowanym przykładem encji jest encja wewnętrzna tekstowa.

echnologie zarządzania treścią 33/43 Encja wewnętrzna tekstowa Encja wewnętrzna tekstowa (ang. Internal Text Entity) nazywana jest również encją ogólną jednostką wewnętrzną. Deklaracja takiej encji znajduje się bezpośrednio w przetwarzanym dokumencie XML i musi zawierać wyłącznie tekst, np. <!ENTITY pcz "Politechnika Częstochowska"> oznacza, że nazwie pcz przyporządkowano tekst Politechnika Częstochowska. Ponieważ encje są elementem DTD umieszczamy je wewnątrz deklaracji <!DOCTYPE... > Aby wykorzystać tą encję należy w dokumencie XML użyć referencji do encji w postaci &pcz;

echnologie zarządzania treścią 34/43 Przykład wykorzystania encji <?xml version="1.0"?> <!DOCTYPE uczelnie [ <!ENTITY pcz "Politechnika Częstochowska"> <!ENTITY wimii "Wydział Inżynierii Mechanicznej i Informatyki"> ]> <student> <imie>jan</imie> <nazwisko>kowalski</nazwisko> <uczelnia>&pcz;</uczelnia> <wydzial>&wimii;</wydzial> </student> Postać wynikowa dokumentu XML: <?xml version="1.0"?> <student> <imie>jan</imie> <nazwisko>kowalski</nazwisko> <uczelnia>politechnika Częstochowska</uczelnia> <wydzial>wydział Inżynierii Mechanicznej i Informatyki</wydzial> </student>

Technologie zarządzania treścią 35/43 Weryfikacja poprawności dokumentu XML Specyfikacja języka XML wymaga pełnej poprawności składniowej - aplikacja przetwarzająca dokument XML powinna zakończyć działanie w momencie napotkania pierwszego błędu składniowego. Dokument XML poprawny składniowo (ang. well-formed) może zostać opcjonalnie sprawdzony pod względem poprawności strukturalnej. Dokument XML jest poprawny strukturalnie jeśli: jest poprawny składniowo, posiada definicję typu dokumentu (np. DTD), zawartość dokumentu XML jest zgodna z definicją typu dokumentu.

Technologie zarządzania treścią 36/43 Przestrzenie nazw Dokument XML może zawierać elementy i atrybuty z innych języków np. HTML, MathML,... Oprócz definiowania własnych znaczników można użyć już istniejące, zdefiniowane przez inne osoby. Wykorzystanie nazw z innych języków umożliwiają przestrzenie nazw (ang. namespaces). Przestrzenie nazw pozwalają na uniknięcie potencjalnego konfliktu nazw w dokumentach XML. Niezależność nazw uzyskuje się poprzez dodanie do nazw atrybutów i znaczników prefiksu identyfikującego zbiór nazw, czyli przestrzeń nazw. prefiks:nazwa_z_danej_przestreni_nazw

Technologie zarządzania treścią 37/43 Przestrzenie nazw Używanie przestrzeni nazw musi być poprzedzone jej deklaracją dokonaną poprzez zastosowanie atrybutu xmlns. Jest to przyporządkowanie prefiksu do konkretnego języka. Podczas deklaracji przestrzeni nazw za pomocą atrybutu xmlns określana jest jej nazwa oraz źródło (poprzez identyfikator URI). <HTML5:h3 xmlns:html5="http://www.w3.org/tr/html5"> Nagłówek trzeciego stopnia w HTML 5. </HTML5:h3> <pcz:student xmlns:pcz="http://www.pcz.pl">... </pcz:student> Co w deklaracji przestrzeni nazw oznacza źródło: http://www.w3.org/tr/html5? HTML5 jest prefiksem nazw języka HTML 5.

Technologie zarządzania treścią 38/43 Przestrzenie nazw W dokumencie XML może być zdefiniowanych wiele przestrzeni nazw. Przestrzeń nazw musi zostać określona w elemencie, w którym jest używa, lub w dowolnym elemencie nadrzędnym względem tego elementu. Najczęściej przestrzenie nazw są deklarowane w elemencie głównym dokumentu - korzeń. <HTML5:header xmlns:html5="http://www.w3.org/tr/html5"> <HTML5:h1>Sekcja 1<HTML5:h1/> <HTML5:div> <HTML5:p>Akapit w sekcji 1</HTML5:p> <HTML5:img src= abc.jpg /> </HTML5:div> <HTML5:h1>Podsekcja 1.1<HTML5:h1/> </HTML5:header>

Technologie zarządzania treścią 39/43 Przestrzenie nazw Prefiks xml jest zastrzeżony i nie należy go wykorzystywać do tworzenia własnych przestrzeni nazw. Adres URI pełni funkcję symboliczną i może być dowolnym adresem URI - nie musi wskazywać na coś konkretnego. W celu zwiększenia czytelności dokumentów XML możliwe jest zastosowanie domyślnej przestrzeni nazw (bez prefiksu). <header xmlns="http://www.w3.org/tr/html5"> <h1>sekcja 1<HTML5:h1/> <div> <p>akapit w sekcji 1</p> <img src= abc.jpg /> </div> <h1>podsekcja 1.1<h1/> </header>

Technologie zarządzania treścią 40/43 Przestrzenie nazw - przykład <?xml version="1.0"?> <!DOCTYPE uczelnia [<!ENTITY inf "Informatyka">]> <uczelnia> <wimii:wydzial xmlns:wimii="www.wimii.pcz.pl" xmlns:stud="www.pcz.pl/student"> <nazwa>wydział Inżynierii Mechanicznej i Informatyki</nazwa> <stud:student> <stud:imie>jan</stud:imie> <stud:nazwisko>kowalski</stud:nazwisko> <wimii:kierunek>&inf;</wimii:kierunek> </stud:student> <adres> <ulica>dąbrowskiego</ulica> </adres> </wimii:wydzial> </uczelnia>

Technologie zarządzania treścią 41/43 Przestrzenie nazw - przykład <?xml version="1.0"?> <!DOCTYPE uczelnia [<!ENTITY inf "Informatyka">]> <uczelnia> <wimii:wydzial xmlns:wimii="www.wimii.pcz.pl" xmlns:stud="www.pcz.pl/student"> <nazwa>wydział Inżynierii Mechanicznej i Informatyki</nazwa> <stud:student> <stud:imie>jan</stud:imie> <stud:nazwisko>kowalski</stud:nazwisko> <wimii:kierunek>&inf;</wimii:kierunek> </stud:student> <adres> <ulica>dąbrowskiego</ulica> </adres> </wimii:wydzial> <wydzial> <nazwa>wydział Elektryczny</nazwa> <stud:student>... </stud:student> <!-- BŁĄD --> </wydzial> </uczelnia>

Technologie zarządzania treścią 42/43 Przestrzenie nazw - domyślna przestrzeń nazw <?xml version="1.0"?> <!DOCTYPE uczelnia [<!ENTITY inf "Informatyka">]> <uczelnia> <wimii:wydzial xmlns:wimii="www.wimii.pcz.pl"> <nazwa>wydział Inżynierii Mechanicznej i Informatyki</nazwa> <student xmlns="www.pcz.pl/student" > <imie>jan</imie> <nazwisko>kowalski</nazwisko> <wimii:kierunek>&inf;</wimii:kierunek> </student> <adres> <ulica>dąbrowskiego</ulica> </adres> </wimii:wydzial> </uczelnia> Która przestrzeń nazw jest tutaj domyślną?

Technologie zarządzania treścią 43/43 Przestrzenie standardowe Identyfikatory URI dla przestrzeni nazw wybranych języków Język Identyfikator URI Zwyczajowy prefiks HTML 4.0 http://www.w3.org/tr/rec-html40 html: HTML 5 http://www.w3.org/tr/html5 html: XHTML 1.1 http://www.w3.org/tr/xhtml11 html: XML Schema http://www.w3.org/xml/schema xsd: MathML http://www.w3.org/tr/mathml mml: SMIL 3.0 http://www.w3.org/tr/smil SVG http://www.w3.org/tr/svg svg: