XML extensible Markup Language. część 1

Podobne dokumenty
XML extensible Markup Language 1

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

XML extensible Markup Language. część 3

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

XML extensible Markup Language. Paweł Chodkiewicz

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

XML extensible Markup Language 3

Wprowadzenie do technologii XML

Środowisko XML (Extensible Markup Language).

Rola języka XML narzędziem

DTD - encje ogólne i parametryczne, przestrzenie nazw

Programowanie internetowe

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

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

XML DTD XML Schema CSS

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

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

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

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

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

Technologie zarządzania treścią

XML extensible Markup Language 6

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

Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT

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

Historia kodowania i format plików XML. Jolanta Bachan

Zasady Nazewnictwa. Dokumentów XML Strona 1 z 9

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

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

XML i nowoczesne metody zarządzania treścią

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

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI

Podstawy JavaScript ćwiczenia

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

Model semistrukturalny

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

HTML DOM, XHTML cel, charakterystyka

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

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

2 Podstawy tworzenia stron internetowych

Otwarte protokoły wymiany informacji w systemach ITS

Zawartość specyfikacji:

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

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

XML extensible Markup Language. część 4

Języki programowania zasady ich tworzenia

Specyfikacja techniczna pliku wymiany danych

Podstawy (X)HTML i CSS

Narzędzia informatyczne w językoznawstwie

Dlaczego GML? Gdańsk r. Karol Stachura

Rozdział 4 KLASY, OBIEKTY, METODY

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

Bazy danych i strony WWW

O stronach www, html itp..

Pakiet XML Czym jest i z czym się je?

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

Wykład 2. Relacyjny model danych

Numeracja dla rejestrów zewnętrznych

Spis treści OPIS PLIKU W FORMACIE CSV Z DANYMI PPE LUB EP 1

Struktura języka HTML ZNACZNIKI. Oto bardzo prosta strona WWW wyświetlona w przeglądarce: A tak wygląda kod źródłowy takiej strony:

Dokumentacja Użytkownika Systemu

XML extensible Markup Language. część 6

Autor: dr inż. Katarzyna Rudnik

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

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

- 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

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

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

Przykładowy dokument XML

ABC języka HTML i XHTML / Maria Sokół. wyd. 2. Gliwice, cop Spis treści

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

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

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

WYMAGANIA EDUKACYJNE. Witryny i Aplikacje Internetowe klasa I

rk HTML 4 a 5 różnice

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

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

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

Przykładowy dokument XML

Języki formalne i automaty Ćwiczenia 6

Szczegółowy opis języka HTML5 znajdziemy w specyfikacji, która jest dostępna pod adresem

PHP: bloki kodu, tablice, obiekty i formularze

Wprowadzenie do technologii XML

Projekt bazy uniwersalnego dashboarda. Stanisław Klekot, nr indeksu

Złożone komponenty JSF wg

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

Analiza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki

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

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

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Umieszczanie kodu. kod skryptu

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

SPECYFIKACJA TECHNICZNA DOTYCZĄCA PRZYGOTOWANIA BAZ DANYCH DO PERSONALIZACJI

Oczywiście plik musi mieć rozszerzenie *.php

Podstawy programowania w C++

Tworzenie Stron Internetowych. odcinek 5

Specyfikacja techniczna dot. mailingów HTML

Języki programowania wysokiego poziomu WWW

Transkrypt:

XML extensible Markup Language część 1

Historia

Czym jest język XML? Język XML to uniwersalny język formalny przeznaczony do reprezentowania różnych danych w ustrukturalizowany sposób. XML jest metajęzykiem tzn. przy jego pomocy możemy definiować słownictwo (znaczniki) dla dowolnej dziedziny ( extensible). Zbiór takich znaczników nazywamy aplikacją XML. XML jest niezależny od platformy, co umożliwia łatwą wymianę dokumentów pomiędzy różnymi systemami. Specyfikacja języka XML jest określona przez organizację W3C.

Czym nie jest język XML? Język XML nie jest niczym więcej niż językiem znaczników. XML nie jest językiem programowania. Nie istnieją kompilatory języka XML. Dokument XML tylko jest i nic nie robi. XML nie jest bazą danych. Baza danych może zawierać dane w postaci dokumentów XML, ale sama nie jest nigdy takim dokumentem. XML nie protokołem przesyłania danych w Internecie.

Czym różni się język XML od języka HTML? W języku HTML możemy używać tylko z góry określonych znaczników. W języku XML możemy definiować własne znaczniki. Znaczniki w języku HTML związane są prezentacją swojej zawartości (np. tekstu) na stronie WWW (określają jego rozmiar, krój itd.) Znaczniki XML charakteryzują raczej typ zawartości (danych). Przykład 1 HTML: <b> Alan Turing </b> XML: <person> Alan Turing </person>

Dokument XML W porównaniu z językiem HTML w języku XML mamy swobodę w definiowaniu znaczników. Musimy jednak ściśle przestrzegać zasad związanych z położeniem znaczników w dokumencie oraz ich postacią. Mówimy, że każdy dokument XML musi być poprawny składniowo (ang. well formed) czyli zgodny z regułami tworzenia dokumentów XML. Dokument XML zawiera tekst i może być edytowany przy pomocy dowolnego programu pozwalającego edytować pliki tekstowe.

Dokument XML Przykład 3 Rozważmy następujący dokument XML: <person> <name> <first_name>alan</first_name> <last_name>turing</last_name> </name> <profession>computer scientist</profession> <profession>mathematician</profession> <profession>cryptographer</profession> </person>

Dokument XML Dokument ten może być zapisany w pliku o dowolnej nazwie z rozszerzeniem xml. Dokument ten może być zapisany w kilku plikach (chociaż oczywiście nie ma to sensu bo dokument ten jest bardzo krótki). Dokument ten może w ogóle nie być zapisany w pliku. Może to być np. rekord w bazie danych lub wynik działania skryptu CGI. W języku XML podstawową jednostką danych jest tzw. element. Element to znacznik oraz dane. Spacja stanowi część zawartości, ale na ogół jest ignorowana przez aplikacje.

Dokument XML Znaczniki składają się z następujących elementów: Znacznik początkowy: <nazwa_elementu> Znacznik końcowy: </nazwa_elementu> Nazwa elementu może być dowolna, ale musi spełniać pewne warunki (o których dowiemy się później). Nie każdy element musi zawierać dane. Elementem pustym nazywamy element nie zawierający żadnych danych. Element taki oznaczany jest przez <nazwa_elementu/> lub <nazwa_elementu></nazwa_elementu>

Dokument XML Język HTML dopuszczał stosowanie znaczników: <hr> <br> Z punktu widzenia języka XML znaczniki takie nie są poprawne. W języku XML (w przeciwieństwie do języka HTML) wielkość liter jest ważna. Przykład 2 Jeżeli znacznikiem początkowym jest <person> to znacznikiem końcowym nie może być </Person>

Rozważmy następujący przykład: Przykład 3 <person> <name> <first_name>alan</first_name> <last_name>turing</last_name> </name> <profession>computer scientist</profession> <profession>mathematician</profession> <profession>cryptographer</profession> </person> Element person zawiera 4 elementy tzw. dzieci: 1 element name 3 elementy profession Element person jest ich rodzicem.

Element name zawiera 2 elementy będące jego dziećmi: first_name last_name Elementy first_name i last_name nazywane są rodzeństwem. Rodzic może mieć wiele dzieci. Każde dziecko ma dokładnie jednego rodzica. W każdym dokumencie XML istnieje jeden element, który nie posiada rodziców. Nazywamy go korzeniem (ang. root element) dokumentu XML. Każdy poprawny składniowo dokument XML musi zawierać dokładnie jeden korzeń. W powyższym przykładzie rodzicem jest element person.

Z omówionej struktury dokumentu XML wynika, że dokument taki ma reprezentację w postaci drzewa. Drzewo dokumentu XML z przykładu 3 wygląda następująco: W przykładzie 3 zawartością elementów first_name, last_name i profession był tekst (+spacje) niezawierający znaczników. Dokument XML może mieć też mieszaną zawartość tzn. znaczniki + tekst.

Rozważmy następujący przykład: Przykład 4 <biography> <name><first_name>alan</first_name><last_name> Turing </last_name></name> was one of the first people to truly deserve the name <emphasize>computer scientist</emphasize>. Although his contributions to the field are too numerous to list, his best-known are the eponymous <emphasize>turing Test</emphasize> and <emphasize>turing Machine</emphasize>. <definition>the <term>turing Test</term> is to this day the standard test for determining whether a computer is truly intelligent. This test has yet to be passed.</definition> </biography>

Atrybuty Elementy dokumentu XML mogą posiadać atrybuty. Atrybut to para nazwa-wartość znajdująca się w znaczniku początkowym danego elementu. Przykład 5 <person born="1912-06-23" died="1954-06-07"> Alan Turing </person> Element person posiada dwa atrybuty. atrybut born="1912-06-23" nazwa wartość

Uwagi: Zamiast " możemy użyć ', ale ten sam znak musi być na początku i na końcu. Obok symbolu = możemy wstawiać spacje. Kolejność atrybutów nie ma znaczenia. Przykład 6 Inna forma zapisu dokumentu z przykładu 5. <person died = '1954-06-07' born = '1912-06-23'> Alan Turing </person> Informacja zapisana w pliku z przykładu 3 może być zapisana przy użyciu atrybutów:

Przykład 7 <person> <name> <first_name>alan</first_name> <last_name>turing</last_name> </name> <profession>computer scientist</profession> <profession>mathematician</profession> <profession>cryptographer</profession> </person> <person> <name first="alan" last="turing"/> <profession value="computer scientist"/> <profession value="mathematician"/> <profession value="cryptographer"/> </person>

Nazwy XML Nazwy atrybutów i elementów w języku XML muszą spełniać te same reguły (te same reguły musza spełniać też inne, rzadziej stosowane konstrukcje). W ogólności będziemy mówić o nazwach XML. Nazwa XML może zawierać: 1) Standardowe litery (duże i małe) i cyfry np. A, b, 6 2) litery nieangielskie i ideogramy np. õ, Ж, IV 3) symbole: _ (podkreślnik), - (myślnik),. (kropka) Nazwa XML nie może zawierać: " (cudzysłów), ' (apostrof), $, %, ; (średnik) Symbol : jest zarezerwowany dla tzw. przestrzeni nazw.

Nazwy XML Nazwa XML nie może zawierać pustych znaków. Nazwa XML nie może zaczynać się od ciągu znaków XML (zarezerwowane dla specyfikacji XML). Nazwa XML może zaczynać się od: 1) litery 2) ideogramu 3) podkreślnika Nazwa XML nie może zaczynać się od: 1) liczby 2) myślnika 3) kropki

Nazwy XML Przykład 8 Poniższe elementy są poprawne składniowo czyli są zgodne z regułami tworzenia dokumentów XML. <Drivers_LicenseNumber>98 NY 32</Drivers_License_Nmber> <month-day-year>7/23/2001</month-day-year> <first_name>alan</first_name> <_4-lane>I-610</_4-lane> <téléphone>011 33 91 55 27 55 27</téléphone>

Nazwy XML Przykład 9 Poniższe elementy nie są poprawne składniowo czyli nie są zgodne z regułami tworzenia dokumentów XML. <month/day/year>7/23/2001</month/day/year> <first name>alan</first name> <Driver's_License_Number>98 NY 32</Driver's_License_Number> <4-lane>I-610</4-lane>

Encje Może się zdarzyć, że w dokumencie XML będzie będziemy chcieli użyć np. <. Bezpośrednie użycie < spowoduje, że znak ten będzie interpretowany jako początek znacznika. Jeżeli chcemy użyć znaku < w innym znaczeniu używamy encji <. Przykład 10 <SCRIPT LANGUAGE="JavaScript"> if (location.host.tolowercase().indexof("cafeconleche")<0) { location.href="http://www.cafeconleche.org/"; } </SCRIPT>

Encje Znak & jest zawsze rozpoznawany jako początek encji. Jeżeli chcemy wstawić w dokumencie ten znak to możemy użyć encji & Przykład 11 <publisher>a & B</publisher> W języku XML zdefiniowane są następujące encje: 1) < znak < 2) & znak & 3) > znak > 4) " znak '' 5) &apos; znak '

Encje Aplikacja parsująca dokument XML w przypadku napotkania encji automatycznie wstawia w to miejsce odpowiedni symbol do którego odnosi się dana encja. Oprócz powyższych 5 encji zdefiniowanych w specyfikacji XML istnieją encje które możemy sami definiować. Zajmiemy się nimi po omówieniu Definicji Typu Dokumentu (DTD).

Sekcje CDATA Jeżeli chcemy umieścić w dokumencie XML tekst, który nie będzie parsowany (np. komentarz) możemy to uczynić wykorzystując sekcje CDATA. Tekst taki umieszczamy między znacznikami: Przykład 12 <![CDATA[ ]]> i <p>you can use a default <code>xmlns</code> attribute to avoid having to add the svg prefix to all your elements:</p> <![CDATA[ <svg xmlns=http://www.w3.org/2000/svg width="12cm height="10cm"> <ellipse rx="110" ry="130" /> <rect x="4cm" y="1cm" width="3cm" height="6cm" /> </svg> ]]>

Sekcje CDATA W sekcji CDATA nie może pojawić się symbol ]]>. Sekcje CDATA są przeznaczone dla ludzi, a nie maszyn. Komentarze W dokumencie XML komentarze wstawiamy podobnie jak w dokumentach HTML. <! - komentarz --> W treści komentarza nie może pojawić się ciąg znaków -- > ponieważ będzie on traktowany jako zakończenie komentarza. Komentarz może pojawić się praktycznie w dowolnym miejscu w dokumencie XML.

Komentarze Komentarz może się pojawić m.in. przed lub za elementem będącym korzeniem. Komentarz nie może się pojawić wewnątrz znacznika i wewnątrz innego komentarza. Przykład 13 <person> <!-- Alan Turing --> <name> <first_name>alan</first_name> <last_name>turing</last_name> </name> <profession>computer scientist</profession> <profession<! prof2-->>mathematician</profession> <profession>cryptographer</profession> </person>

Komentarze Komentarze są przeznaczone dla ludzi i nie należy umieszczać w nich żadnych instrukcji przeznaczonych dla aplikacji. Instrukcje przetwarzania (Processing Instructions) Instrukcje przetwarzania są przeznaczone dla aplikacji, które mogą czytać dokument XML. <?cel instrukcja przetwarzania?> Bezpośrednio po znaczniku <? występuje tzw. cel (target). Cel identyfikuje aplikację mającą dokonać przetwarzania. Przykład 14 <?php mysql_connect("database.unc.edu", "clerk", "password");?>

Instrukcje przetwarzania (Processing Instructions) Przykład 15 HTML <meta name="robots" content="noindex,nofollow"> XML <?robots index="yes" follow="no"?> Przykład 16 <?xml-stylesheet type="application/xml" href="people.xsl"?> Podobnie jak komentarze instrukcje przetwarzania mogą pojawić się przed lub za elementem będącym korzeniem. Instrukcje przetwarzania nie mogą pojawić się wewnątrz znacznika.

Deklaracja dokumentu XML Dokument XML powinien (ale nie musi) zaczynać się od deklaracji XML. Deklaracja XML jest instrukcją przetwarzania (gdzie cel=xml) posiadającą następujące atrybuty: version standardowo ma wartość "1.0" Atrybut ten jest obowiązkowym elementem deklaracji. encoding określa sposób kodowania tekstu w dok. XML. Standardowo dokumenty XML używają kodowania UTF-8. Atrybut ten nie jest obowiązkowy. Jeżeli jest pominięty przyjmowane jest domyślnie kodowanie UTF-8.

Deklaracja dokumentu XML standalone atrybut określa czy dla dokumentu XML określona jest Definicja Typu Dokumentu (DTD). Atrybut ten nie jest obowiązkowym elementem deklaracji. Jeżeli jest pominięty przyjmowana jest domyślnie wartość no. Przykład 17 <?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> <person> Erwin Schrödinger </person> UWAGA: Deklaracja XML nie jest obowiązkowa w dokumencie XML, ale jeżeli jest musi być pierwszym elementem dokumentu.

Dokument poprawny składniowo (well formed) Każdy dokument XML musi być poprawny składniowo tzn. musi spełniać pewne warunki. Najważniejsze z nich to: 1) Każdy znacznik początkowy musi posiadać znacznik końcowy. 2) Elementy mogą być zagnieżdżone, ale nie mogą nachodzić na siebie. Przykład 18 <person> <name> <first_name>alan<last_name> Turing</first_name></last_name> </name> </person>

Dokument poprawny składniowo (well formed) 3) Dokument musi posiadać dokładnie jeden korzeń. Przykład 19 <person> <name> <first_name>alan<first_name> Brak korzenia!!! <last_name>turing</last_name> </name> </person> <profession>computer scientist</profession> 4) Wartości atrybutów muszą znajdować się między symbolami " lub. Przykład 20 <person born="1912-06-23" died="1954-06-07"/>

Dokument poprawny składniowo (well formed) 5) Element nie może posiadać dwóch atrybutów o tej samej nazwie. 6) Komentarze i instrukcje przetwarzania nie mogą znajdować się wewnątrz znaczników. Przykład 21 <person<?php?>>tom</person> 7) Znaki < i & nie mogą pojawić się w żadnym elemencie i atrybucie.