420 likes | 559 Views
Przegląd zastosowań. Języki i standardy oparte na XML. Metajęzyk XML: spójna składnia i metodologia definiowania języków, DTD, XML Schema – sposoby definiowania języków. Obszary zastosowań: kodowanie tekstu, kodowanie metainformacji, informacje naukowe, multimedia, programowanie,.
E N D
Języki i standardy oparte na XML • Metajęzyk XML: • spójna składnia i metodologia definiowania języków, • DTD, XML Schema – sposoby definiowania języków. • Obszary zastosowań: • kodowanie tekstu, • kodowanie metainformacji, • informacje naukowe, • multimedia, • programowanie, • ...
Zastosowania XML • Kodowanie tekstu: • ISO 12083. • XML DocBook. • Text-Encoding Initiative (TEI). • MIL-STD-38784 (CALS). • HTML / XHTML.
Zastosowania XML • Kodowanie metainformacji: • RDF – Resource Description Framework. • CDF – Channel Description Format. • Topic Maps. • RSS – RDF Rich Site Summary. • OCS – Open Content Syndication. • Web Collections using XML. • MCF – Meta Content Framework Using XML. • XMI – XML Metadata Interchange Format – Object Management Group (OMG).
Zastosowania XML • Kodowanie informacji naukowych: • MathML – Matematical Markup Language. • CML – Chemical Markup Language. • BSML – Bioinformatic Sequence Markup Language. • BIOML – BIOpolymer Markup Language. • AML – Astronomical Markup Language. • ThML – Theological Markup Language. • GedML – Genealogical Data in XML. • VHG – Virtual Hyperglossary. • OMF – Weather Observation Markup Format.
Zastosowania XML • Multimedia: • SVG – Scallable Vector Graphics. • PGML – Precision Graphics Markup Language. • VML – Vector Markup Language. • SMIL – Synchronized Multimedia Integration Language. • VoiceXML. • SABLE – Text-to-Speech Synthesis Markup.
Zastosowania XML • Telekomunikacja: • WML – Wireless Markup Language. • DRP – HTTP Distribution and Replication Protocol. • Programowanie: • WIDL – Web Interface Definition Language. • BML – Bean Markup Language. • Java Help API. • CDIF – CASE Data Interchange Format. • UXF – UML eXchange Format. • SWAP – Simple Workflow Access Protocol.
DocBook • Przeznaczony do kodowania dokumentacji oprogramowania: • struktura książki, • dodatkowe struktury specyficzne dla dokumentacji oprogramowania. • Status: • DocBook (SGML) – projekt rozpoczęty przez HaL Computer Systems i O'Reilly & Associates, • obecnie zarządzany przez DocBook Technical Committee of OASIS, • równolegle rozwijane wersje SGML i XML (od wersji 4.0).
Struktura DocBook • Book (element główny): • BookInfo • (Chapter | Article | Reference | Part) * • Sekcje: • Sect1, ..., Sect5, • Abstract, Sidebar, Warning. • Zawartość tekstowa: • SimPara, Para, FormalPara, • ItemizedList, OrderedList, VariableList, SegmentedList, SimpleList, GlossList. • Informacja techniczna: • ClassName, Command, Email, Filename, Function, Literal, ProductName, UserInput, SGMLTag, ...
DocBook – moduły, dostosowywanie. • Moduły: • EBNF Module (Extended Backus-Naur Form), • HTML Forms Module, • MathML Module, • SVG Module. • Dostosowywanie do własnych potrzeb: • DTD silnie sparametryzowana encjami parametrycznymi, • większość zmian można uzyskać bez modyfikowania standardowych modułów DTD.
DocBook – dodawanie własnego elementu • Fragment DTD: • <!ENTITY % local.tech.char.class ""><!ENTITY % tech.char.class "Action|Application|ClassName|Command|... %local.tech.char.class;"> • Dostosowanie: • <!ENTITY % local.tech.char.class "|MethodName"><!ENTITY % DocBookDTD PUBLIC "-//OASIS//DTD DocBook V3.1//EN">%DocBookDTD;<!ELEMENT MethodName - - ((%smallcptr.char.mix;)+) > <!ATTLIST MethodName %common.attrib; %classname.role.attrib; %local.classname.attrib; >
Wireless Application Protocol • WAP – Internet przez telefony komórkowe. • Rodzina standardów: • WML – Wireless Markup Language, • WMLScript, • WTLS – Wireless Transport Layer Security, • WSP – Wireless Session Protocol, • WTP – Wireless Transaction Protocol, • ...
Nagłówek WAP Nagłówek HTTP Bramka WAP Serwer WWW WML WML Schemat komunikacji Zapytanie HTTP Zapytanie WAP
Język WML • Uwzględnia specyfikę telefonów komórkowych: • małe czarno-białe wyświetlacze, • ograniczone możliwości nawigacji (mało klawiszy, brak myszki), • mała moc obliczeniowa i szybkość transmisji. • Dokument WML: • zbiór kart WML, • proste formatowanie tekstu i grafiki • mechanizmy nawigacji między kartami i dokumentami, • polecenia wywołania skryptów.
Przykład • <?xml version=”1.0”?><!DOCTYPE wml PUBLIC ”-//WAPFORUM//DTD WML 1.1//EN” ”http://www.wapforum.org/DTD/wml_1.1.xml”><wml> <card id=”start” title=”Witamy”> <do type=”accept” label=”Szczegoly”> <go href=”#dalej”/> </do> <p align=”center”>Witamy w<br/> <b>empolis Polska</b></p> </card> <card id=”dalej” title=”Szczegoly”> <p>empolis Polska sp. z o.o.<br/> ul. Plocka 5a<br/>01-231 Warszawa</p> </card></wml>
Narzędzia • Rodzaje dostępnych narzędzi: • emulatory przeglądarek WAP, • środowiska programistyczne. • Status narzędzi: • udostępniane bezpłatnie w Internecie, • bogato udokumentowane.
Narzędzia • Nokia WAP Toolkit: • www.forum.nokia.com • Ericsson WAP IDE: • www.ericsson.com/developerszone/ • Emulator przeglądarki WAP: • www.gelon.net
Perspektywy • (Słabnące) wsparcie ze wszystkich stron: • producentów telefonów i narzędzi, • operatorów telefonii komórkowych, • operatorów serwisów WAP. • Potencjalne zastosowania: • informacje o kursach walut, • rozkłady jazdy, rezerwacje biletów, • pogoda, • giełda, • ...
Channel Description Format • Inicjatywa Microsoftu. • Kanały: • Specjalne witryny www, opisane plikami CDF. • Pobieranie całych witryn do przeglądania off-line. • Możliwość automatycznego pobierania aktualizacji. • Zawartość kanału prosto na pulpit– Active Desktop.
Zawartość pliku CDF • Metainformacje: • adres strony głównej, • data ostatniej modyfikacji, • maksymalny poziom zagłębienia przy otwieraniu linków, • tytuł i opis zawartości, • plan pobierania uaktualnień, • logo. • Zawartość witryny: • odwołania do poszczególnych stron, • podkanały.
Przykład pliku CDF • <CHANNEL HREF="http://domain/folder/index.html" • BASE="http://domain/folder/" • LASTMOD="1999-12-17T09:12" • PRECACHE="YES" LEVEL="0"> • <TITLE>Ala ma kota</TITLE> • <ABSTRACT>Stan posiadania Ali</ABSTRACT> • <SCHEDULE><INTERVALTIME DAY="14"/></SCHEDULE> • <LOGO HREF="ZdjecieAli.gif" • STYLE="ICON"/> • <ITEM HREF="Ala.html" LEVEL="1"> • <TITLE>Ala</TITLE> • </ITEM> • <ITEM HREF="Kot.html" LEVEL="1"> • <TITLE>Kot</TITLE> • </ITEM> • </CHANNEL>
Mathematical Markup Language • Pozwala zapisywać formułyprzy pomocy: • składni prezentacyjnej, • składni semantycznej. • Status języka: • rekomendacja W3C, • nie jest akceptowany przezpopularne przeglądarki, • jest wspomagany przezoprogramowanie, np. Amaya,MathType.
MathML – przykład • Składnia prezentacyjna: • <mrow> • <mrow> • <msup> <mi>x</mi> <mn>2</mn> </msup> • <mo>+</mo> • <mrow> • <mn>4</mn> <mo>&invisibletimes;</mo> <mi>x</mi> • </mrow> • <mo>+</mo> <mn>4</mn> • </mrow> • <mo>=</mo> • <mn>0</mn> • </mrow>
MathML - przykład • Składnia semantyczna: • <apply> • <plus/> • <apply> • <power/> <ci>x</ci> <cn>2</cn> • </apply> • <apply> • <times/> <cn>4</cn> <ci>x</ci> • </apply> • <cn>4</cn> • </apply>
Chemical Markup Language • Pozwala zapisywać wzory chemiczne, kształty cząsteczek itp.: • spectra and other instrumental output, • crystallography, • organic and inorganic molecules, • physicochemical quantities (including units), • MO calculations, • macromolecules: sequence protein,ligand and sequence. • Rozwijany przez Open MoleculeFoundation.
CML – przykład • <CML:molecule id="test"> • <CML:atomArray builtin="elsym"> • c c O H H H H H H</CML:atomArray> • <CML:atomArray builtin="x2" type="float"> • 0 0 0 0 0 -2 -2 2 2</CML:atomArray> • <CML:atomArray builtin="y2" type="float"> • 0 2 4 -2 6 0 2 0 2</CML:atomArray> • <CML:bondArray builtin="atid1"> • 1 1 1 1 2 2 2 3</CML:bondArray> • <CML:bondArray builtin="atid2"> • 2 4 6 8 7 9 3 5</CML:bondArray> • <CML:bondArray builtin="order" type="integer"> • 1 1 1 1 1 1 1 1 • </CML:bondArray> • </CML:molecule>
SVG • Scalable Vector Graphics • Pozwala opisywać dwuwymiarową grafikę: • kształty wektorowe (złożone z linii prostych i krzywych), • obrazy rastrowe, • tekst, • grupowanie, transformacje, filtry, ... • Status: • SVG 1.0 – rekomendacja W3C, • SVG 1.1 – rekomendacja kandydująca.
SVG - przykład • <svg width="4in" height="3in"> • <desc>Niebieskie koło z czerwoną obwódką </desc> • <g> • <circle style="fill: blue; stroke: red" • cx="200" cy="200" r="100"/> • </g> • </svg>
Bean Markup Language • Pomysł: • XML jako język konfiguracji komponentów w Javie (JavaBeans). • Elementy reprezentowane przez język: • obiekty, • atrybuty obiektów, • referencje, • zawieranie obiektów, • powiązania obiektów przez zdarzenia. • Inicjatywa IBM AlphaWorks.
BML Player • Pozwala „wykonywać” pliki BML. DokumentBML ParserXML BMLPlayer XML DOM
BML Compiler • Na podstawie dokumentu BML generuje plik źródłowy w Javie, który jest następnie kompilowany. DokumentBML Żródław Javie ParserXML BMLCompiler XML DOM Java Java JavaClassFile JavaRuntime KompilatorJavy bytecode bytecode
Przykład • <bean class="java.awt.Frame"> • <property name="title" value="Color Fade Bar"/> • <property name="layout"> • <bean class="java.awt.BorderLayout"/> • </property> • <add> • <bean class="ColorFadeBean" id="FadeBar"> • <property name="width" value="300"/> • <property name="height" value="50"/> • ... • </bean> • </add> • </bean>
Gdzie szukać dalej • DocBook: • DocBook: The Definitive Guide: • www.docbook.org • DocBook Technical Committee of OASIS: • www.oasis-open.org/docbook • WAP: • WAP Forum: • www.wapforum.org • AnywhereYouGo: przewodnik po WML: • www.AnywhereYouGo.com • Polska witryna WAP: • mobile.net.pl
Gdzie szukać dalej • CDF: • Active Channel Technology: • msdn.microsoft.com/workshop/delivery/channel/ overview/overview.asp • Submission to W3C: • www.w3.org/TR/NOTE-CDFsubmit.html
Gdzie szukać dalej • MathML: • W3C’s Math Home Page • http://www.w3.org/Math • CML: • Strona główna Open Molecule Foundation: • www.xml-cml.org • Wprowadzenie do CML: • ala.vsms.nottingham.ac.uk/ vsms/java/cml
Gdzie szukać dalej • SVG: • W3C Scalable Vector Graphics • www.w3.org/Graphics/SVG/ • SVG Central • www.svgcentral.com • BML: • IBM AlphaWorks: • www.alphaWorks.ibm.com/ formula/BML
Rodzaje informacji wysoka wartość SGML EDI dostępność zarządzalność szybkość wierność XML treść jako produkt: publikacje referencyjne dokumentacja techniczna dokumenty biznesowe: faktury, zamówienia krótki czas życia długi czasżycia materiały marketingowe, e-commerce archiwa szybkość dostępność dostępność bezpieczeństwo ??? HTML niska wartość
Trendy wysoka wartość EDI XML SGML XML upowszechnienie zwiększenie szybkości elastyczność tworzenie wartości zarządzanie wartością publikowanie jeden-do-jednego krótki czas życia długi czasżycia dotarcie do rynku jakość informacji handel w Internecie budowaniebaz wiedzy HTML XML ??? + XML niska wartość
XML-owa (r)ewolucja • Młoda, dynamicznie się rozwijająca technologia: • zatwierdzanie nowych standardów, • rozwój narzędzi, • ale: istnieją już zastosowania przemysłowe, • wsparcie dla XML-a zaczyna być istotnym czynnikiem przy wyborze oprogramowania. • Wątpliwości, pytania: • czy XML wyprze SGML? HTML? • czy XML Schema wyprze DTD? • czy XML-EDI wyprze EDIFACT? • ...?