300 likes | 375 Views
Przegląd zastosowań XML-a. 15 stycznia 2004. Języki i standardy oparte na XML-u. 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,
E N D
Przegląd zastosowań XML-a 15 stycznia 2004
Języki i standardy oparte na XML-u • 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-a • Kodowanie tekstu: • ISO 12083. • XML DocBook. • Text-Encoding Initiative (TEI). • MIL-STD-38784 (CALS). • HTML / XHTML.
Zastosowania XML-a • Kodowanie metainformacji: • RDF – Resource Description Framework. • CDF – Channel Description Format. • Topic Maps. • RSS – RDF 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-a • 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-a • 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-a • Telekomunikacja: • WML – Wireless Markup Language. • DRP – HTTP Distribution and Replication Protocol. • Technologie informatyczne: • 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, • ...
Język WML • Uwzględnia specyfikę telefonów komórkowych: • mał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=”Szczegóły”> <p>empolis Polska sp. z o.o.<br/> ul. Płocka 5a<br/>01-231 Warszawa</p> </card></wml>
Perspektywy • Okres ślepej fascynacji: • producentów telefonów i narzędzi, • operatorów telefonii komórkowych, • operatorów serwisów WAP • mamy już za sobą. • Potencjalne zastosowania: • informacje o kursach walut, • rozkłady jazdy, rezerwacje biletów, • pogoda, • giełda, • ...
Mathematical Markup Language • Pozwala zapisywać formułyprzy pomocy: • składni prezentacyjnej, • składni semantycznej. • Status języka: • rekomendacja W3C, • nie jest powszechnie akceptowany przez przeglądarki internetowe, • 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: • <mrow> • <apply> <eq/> <apply> <plus/> <apply> <power/> <ci>x</ci> <cn>2</cn> </apply> <apply> <times/> <cn>4</cn> <ci>x</ci> </apply> <cn>4</cn> </apply> <cn>0</cn> </apply></mrow>
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>
Gdzie szukać dalej • DocBook: • DocBook: The Definitive Guide: • www.docbook.org • DocBook Technical Committee of OASIS: • www.oasis-open.org/docbook • WAP: • Open Mobile Alliance: • www.wapforum.org • WAP/WML Tutorial: • www.w3schools.com/wap/ • Polska witryna WAP: • mobile.net.pl/portal
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 • SVG: • W3C Scalable Vector Graphics: • www.w3.org/Graphics/SVG/ • Adobe SVG Zone: • www.adobe.com/svg
Zakończenie: Dokąd zmierzamy?
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 jest istotnym czynnikiem przy wyborze oprogramowania. • Trendy: • wszyscy się znają na XML-u, • XML trafia pod strzechy. • Wątpliwości, pytania: • czy XML wyprze SGML? HTML? • czy XML Schema wyprze DTD? • czy XML-EDI wyprze EDIFACT? • ...?