WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1
SGML (Standard Generalized Markup Language) Standardowy uogólniony język znaczników służący do ujednolicania struktury i formatu różnego typu informacji (danych). Twórcy SGML opierają się na założeniu, że struktura elementów dokumentów może być opisana bez odwołania do ich sposobu prezentacji. Pozwala zapisać dane w formie dokumentu tekstowego i dzięki temu łatwo przenosić, wyświetlać i drukować w różnych systemach elektronicznego przekazu danych.
SGML SGML w odróżnieniu od HTML nie jest zbiorem określonych znaczników i reguł ich użytkowania, lecz ogólnym, nadrzędnym językiem służącym do definiowania tychże znaczników i zasad. To metajęzyk, służący do tworzenia definicji innych języków opartych o znaczniki.
ZALETY DOKUMENTÓW OPARTYCH O SGML Tworzone w oparciu o strukturę danych, a nie wygląd; Łatwo je interpretować w oparciu o dokument z definicjami znaczników; Łatwe do sprawdzenia poprawności; Niezależne od medium i systemu; Zrozumiałe dla człowieka; Format tekstowy; Łatwe do rozszerzania;
ZASTOSOWANIA SGML Języka SGML używa się praktycznie do dwóch celów: precyzyjnego definiowania zbiorów znaczników przeznaczonych do konkretnych zastosowań np. HTML; ujednolicania zasad pisania i przekazywania dokumentów tekstowych w obrębie dużych firm lub instytucji np. XML.
STRUKTURA DOKUMENTU SGML Dokument w języku SGML składa się z trzech części: deklaracji dokumentu, która definiuje ogólne reguły stosowane w zapisie dokumentu, np. maksymalna długość nazwy elementu, znak używany jako początek znacznika, domyślnie < ; DTD definicji typu dokumentu, czyli definicji wszystkich znaczników i reguł ich stosowania; właściwego dokumentu tekst wraz ze znacznikami.
BUDOWA SGML SGML jest językiem znaczników. Wszystkie dokumenty SGML zawierają tekst zamknięty między znacznikami ograniczającymi. SGML pozwala na różne oznaczanie znaczników, ale najpopularniejszy sposób to nawiasy ostre <i>. Oto przykład: <Article id= foo123 > <Title> Oprogramowanie Foo </ title> <P> Foo jest bardzo szybkim językiem do projektowania foogramów. </ P>
PRZYKŁADY JĘZYKÓW OPARTYCH O SGML HTML (Hypertext Markup Language); XML (Extensible Markup Language).
JĘZYK XML CZĘŚĆ 2
XML (ang. Extensible Markup Language Rozszerzalny język znaczników) Oparty o SGML prosty, elastyczny format tekstowy opisujący klasę obiektów nazywanych dokumentami XML. Dokumenty te zawierają dane i znaczniki, które służą do reprezentacji struktury i znaczenia danych, nie są jednak z nimi związane domyślne reguły prezentacji i formatowania danych.
XML prosty, elastyczny format językowy, stanowi podzbiór języka Standard Generalized Markup Language (SGML), składa się z danych i znaczników, nie posiada predefiniowanego zestawu znaczników o określonym znaczeniu.
ZAŁOŻENIA odpowiedni do wykorzystania w Internecie, łatwy w przetwarzaniu maszynowym, czytelny dla człowieka, zapewnia łatwość tworzenia dokumentów, prosty sposób parsowania.
ZASTOSOWANIE XML Źródłowy format do publikowania informacji, Format wymiany danych, Format przechowywania danych w bazach danych, Format plików konfiguracyjnych. Wiele aplikacji i systemów zawiera dane, które nie są kompatybilne z innymi systemami. Wymiana danych pomiędzy nimi jest utrudniona. XML rozwiązuje ten problem poprzez zapewnienie jasnego, tekstowego formatu danych wraz z ich opisem.
DOKUMENT XML Każdy dokument XML posiada ciało w postaci odpowiednio zagnieżdżonych elementów. Elementy definiowane są za pomocą znaczników (otwierających i zamykających). Elementy mogą posiadać zawartość i atrybuty. Całe ciało dokumentu musi być zawarte w jednym elemencie najwyższego poziomu.
PRZYKŁAD 1 <?xml version="1.0" encoding="utf-8"?> <note> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note>
XML VS HTML XML i HTML zostały stworzone w zupełnie innych celach: XML został stworzony by być nośnikiem informacji definiuje więc informacje HTML został stworzony, żeby wyświetlać informację skupia się więc na prezentacji informacji W XML nie ma predefiniowanych znaczników. To autor dokumentu definiuje strukturę i znaczniki.
WIDOK DOKUMENTU XML W PRZEGLĄDARCE
DOKUMENT XML powinien zawierać deklarację XML, która musi być umieszczona na samym początku pliku oraz musi posiadać atrybut version (1.0 lub 1.1) oraz opcjonalnie atrybuty: o encoding zestaw znaków używanych w dokumencie XML (domyślnie UTF-8); o standalone (yes lub no) określa czy wraz z dokumentem powinny być przetworzone inne pliki, np. arkusz styli czy dokument DTD; musi zawierać dokładnie jeden element główny (root element);
DOKUMENT XML każdy element musi zaczynać się znacznikiem początku elementu, oraz kończyć identycznym znacznikiem końca, wyjątek stanowią elementy puste; elementy można zagnieżdżać w sobie; wartości atrybutów podaje się w cudzysłowach albo apostrofach (pojedynczych cudzysłowach). część danych tekstowych zapisuje się w sekcji znakowej, nie interpretowanej w analizatorze składni XML. <![CDATA[, a znacznik końca: ]]> instrukcje przetwarzania wstawia się miedzy znakami <??>, np.: <?xml-stylesheet type="text/xsl" href="newsy.xsl"?>
ELEMENT XML Podobnie jak w HTML elementy XML mogą składać się z: Tekstu, Atrybutów, Innych elementów. <name first= true >Alan</name>
NAZWY ELEMENTÓW Są wrażliwe na wielkość liter, Muszą zaczynać się od litery albo podkreślenia, Nie mogą rozpoczynać się od liter xml, Mogą zawierać litery, cyfry, myślniki, podkreślenia i kropki, Nie mogą zawierać spacji
PRZYKŁAD 2 <?xml version="1.0" encoding="utf-8"?> <info> <note> <title>hello!</title> <body>don't forget me this weekend!</body> </note> <note> <title>hi!</title> <body>i won t forget!</body> </note> </info>
ATRYBUTY Stosując atrybuty warto wziąć pod uwagę, że: Nie mogą zawierać wielu wartości, Nie mogą zawierać struktury zagnieżdżonej, Ciężko je rozbudowywać.
JAK STOSOWAĆ ATRYBUTY? <messages> <note id="501" date="2016-02-16"> <to>tove</to> <from>jani</from> <body>don't forget me this weekend!</body> </note> <note id="502" date="2016-02-17"> <to>jani</to> <from>tove</from> <body>i will not</body> </note> </messages>
JAK STOSOWAĆ ATRYBUTY? <messages> <note id="501"> <date>2016-02-16</date> <to>tove</to> <from>jani</from> <body>don't forget me this weekend!</body> </note> <note id="502"> <date>2016-02-17</date> <to>jani</to> <from>tove</from> <body>i will not</body> </note> </messages>
NIE STOSOWAĆ! <messages> <note id="501" day="16" month="02" year="2016" to="tove" from="jani" body="don't forget me this weekend!"> </note> <note id="502" day="17" month="02" year="2016" to="tove" from="jani" body="don't forget me this weekend!"> </note> </messages>
PRZESTRZENIE NAZW Przestrzenie nazw mają na celu zapewnienie, że pomiędzy dokumentami XML nie nastąpią konflikty. HTML <table> <tr> <td>apples</td> <td>bananas</td> </tr> </table> XML <table> <name>african Table</name> <width>80</width> <length>120</length> </table>
PRZESTRZENIE NAZW ZAPOBIEGAJĄ KONFLIKTOM <h:table> <h:tr> <h:td>apples</h:td> <h:td>bananas</h:td> </h:tr> </h:table> <f:table> <f:name>african Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table>
DEFINICJA PRZESTRZENI NAZW <root> <h:table xmlns:h="http://www.w3.org/tr/html4/"> <h:tr> <h:td>apples</h:td> <h:td>bananas</h:td> </h:tr> </h:table> <f:table xmlns:f="http://www.w3schools.com/furniture"> <f:name>african Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root>
DEFINICJA PRZESTRZENI NAZW 2 <root xmlns:f=http://www.w3schools.com/furniture xmlns:h="http://www.w3.org/tr/html4/" > <h:table > <h:tr> <h:td>apples</h:td> <h:td>bananas</h:td> </h:tr> </h:table> <f:table > <f:name>african Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root>
DEFINICJA PRZESTRZENI NAZW 3 <root> <table xmlns="http://www.w3.org/tr/html4/"> <tr> <td>apples</td> <td>bananas</td> </tr> </table> <table xmlns="http://www.w3schools.com/furniture"> <name>african Table</name> <width>80</width> <length>120</length> </table> </root>
Dziękuję za uwagę MATERIAŁY POMOCNICZE http://www.w3schools.com/xml/default.asp