XML alkalmazások Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.hu Verzió: 201509.0 Utolsó módosítás: 2015. szeptember 9. X3D (1) Nyílt szabványként létező formátum valós idejű, interaktív 3D grafikához http://www.web3d.org/realtime-3d/ A Web3D Consortium fejlesztése http://www.web3d.org/ A VRML utódja Felhasználási lehetőségek: mérnöki tudományok, CAD, építészet, orvosi vizualizáció, szimuláció, szórakoztatás,... ISO szabvány (ISO/IEC IS 19775-1:2013, ) A jelenleg aktuális verzió a 3.3 számú Elérhetőség: http://www.web3d.org/standards 3 Néhány XML alkalmazás bemutatása X3D (2) XHTML DocBook Használatához 3D megjelenítő szükséges HTML5 OpenDocument Mintapéldák: MathML SVG X3D RSS, Atom XMPP VoiceXML EPUB XUL KML Apache Maven http://www.web3d.org/example Extensible 3D (X3D) Graphics: Basic Examples Archive http://www.web3d.org/x3d-resources/content/examples/ Basic/ X3DOM Examples http://www.x3dom.org/examples/ X3D: Extensible 3D Graphics for Web Authors http://x3dgraphics.com/examples/index.php 2 4
X3D (3) X3D (5) XML séma: http://www.web3d.org/specifications/x3d-3.3.xsd Lásd még: http://www.web3d.org/specifications/ Fájlkiterjesztés és média típus: X3D kódolás Fájlkiterjesztés IANA média típus Klasszikus VRML.x3dv model/x3d-vrml XML.x3d model/x3d+xml Bináris.x3db model/x3d+fastinfoset Szabad és nyílt forrású szoftverek: X3DOM http://www.x3dom.org/ (kiejtés: X-Freedom) Licenc: GNU GPL v3/mit License WebGL-képes böngészőt igényel Az utóbbi egy JavaScript API interaktív 3D és 2D grafika megjelenítéséhez, melyet a modern böngészőmotorok natív módon támogatnak Böngésző kompatibilitás ellenőrzése: http://www.x3dom.org/check/ 5 7 X3D (4) Hírcsatornák (1) Szabad és nyílt forrású szoftverek: Blender https://www.blender.org/ (platform: FreeBSD, Linux, OS X, Windows; licenc: GNU GPL v2) Titania http://titania.create3000.de/ (platform: Ubuntu, licenc: GNU GPL v3) X3D szerkesztő A hírcsatornák (web feeds) webhelyeken megjelenő frissítések közlésére szolgálnak Olyan bejegyzésekből állnak, melyek mindegyike tartalmazhat egy teljes cikket, a tartalomról egy rövid összefoglalást vagy kivonatot, linkeket valamint metaadatokat Előszeretettel használják olyan gyakran frissülő webhelyeken, mint például a híroldalak és a blogok XML formátumok: RSS, Atom 6 8
Hírcsatornák (2) RSS (2) A napjainkban elterjedten használt böngészők natív módon vagy bővítmények révén támogatják az RSS és Atom formátumokat A hírcsatornák kezelésére szolgáló kliens oldali alkalmazások szokásos elnevezése: aggregátor, olvasó Példák RSS hírcsatornák használatára: Apple RSS Information http://www.apple.com/rss/ NASA RSS Feeds http://www.nasa.gov/rss/ News feeds from the BBC http://www.bbc.com/news/10628494 Index 24óra http://index.hu/24ora/rss/ Debreceni Egyetem http://www.unideb.hu/portal/hirek.xml 9 11 RSS (1) Atom (1) A rövidítés feloldása: Really Simple Syndication Az RSS formátum alternatívája Korábban: RDF Site Summary, Rich Site Summary A szabvány felelőse az RSS Advisory Board http://www.rssboard.org/ A jelenleg aktuális szabvány: RSS 2.0 Specification (version 2.0.11) (2009. március 30.) http://www.rssboard.org/rss-specification Fájlkiterjesztés:.rss IANA média típus: application/rss+xml 10 Az RSS 2.0 és az Atom 1.0 összehasonlítása: http://www.intertwingly.net/wiki/pie/rss20andatom10 Compared Szabványok: RFC 4287: The Atom Syndication Format (2005 december) http://www.ietf.org/rfc/rfc4287.txt RFC 5023: The Atom Publishing Protocol (2007 október) http://www.ietf.org/rfc/rfc5023.txt Fájlkiterjesztés:.atom,.xml IANA média típus: application/atom+xml 12
Atom (2) Hírcsatornák (4) Példák Atom hírcsatornák használatára: O'Reilly Media, Inc. New Titles http://feeds.feedburner.com/oreilly/newbooks The Linux Kernel Archives https://www.kernel.org/feeds/all.atom.xml https://www.kernel.org/feeds/kdist.xml Szabad és nyílt forrású szoftverek (RSS és Atom támogatás): Liferea http://lzone.de/liferea/ (platform: Linux, licenc: GNU GPL v2) Sage: a feed reader for Firefox http://sagerss.com/ (platform: Firefox, licenc: MPL v1.1) YouTube Példa: https://www.youtube.com/feeds/videos.xml?channel_id=uc H6vXjt-BA7QHl0KnfL-7RQ További hasznos címek: Feedly http://feedly.com/ (platform: böngésző, ios, Android, Kindle) 13 W3C Feed Validation Service, for Atom and RSS http://validator.w3.org/feed/ 15 Hírcsatornák (3) XMPP (1) Példák hírcsatornák használatára (RSS és Atom): Google News https://news.google.com/ Technológia XML alapokon történő közel valós idejű kommunikáció megvalósításához https://news.google.com/news/feeds?output=rss https://news.google.com/news/feeds?output=atom Not A Blog (George R. R. Martin) http://grrm.livejournal.com/data/rss http://grrm.livejournal.com/data/atom Felhasználási lehetőségek: Azonnali üzenetküldés (IM instant messaging) Csoportos csevegés Rendszervezérlés WordPress http://en.support.wordpress.com/feeds/ Játékok http://en.blog.wordpress.com/feed/ http://en.blog.wordpress.com/feed/atom/ 14 16
XMPP (2) XMPP (4) Alapszabványok: Peter Saint-Andre, Extensible Messaging and Presence Protocol (XMPP), RFC 6120, March 2011. http://tools.ietf.org/html/rfc6120 Peter Saint-Andre, Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence, RFC 6121, March 2011. http://tools.ietf.org/html/rfc6121 Peter Saint-Andre, Extensible Messaging and Presence Protocol (XMPP): Address Format, RFC 6122, March 2011. http://tools.ietf.org/html/rfc6122 XML sémák: http://xmpp.org/resources/schemas/ XMPP-alapú szolgáltatások: Google Talk https://developers.google.com/talk/ LJ Talk http://www.livejournal.com/chat/ Hasznos címek: The XMPP Standards Foundation http://xmpp.org/ XMPP Software http://xmpp.org/xmpp-software/ Nyilvános XMPP szerverek: https://list.jabber.at/, https://xmpp.net/directory.php 17 19 XMPP (3) XMPP (5) XMPP Extension Protocol (XEP): Szabad és nyílt forrású szoftverek Az XMPP Standards Foundation (XSF) által fejlesztett, az XMPP-hez kapcsolódó további szabványokat nevezik így, melyek az alapszabványok lehetőségeit bővítik Szerverek: ejabberd http://www.ejabberd.im/ (platform: Linux, OS X; licenc: GNU GPL v2) OpenFire http://www.igniterealtime.org/projects/openfire/ (platformfüggetlen, licenc: Apache License v2) Kliensek: 18 Instantbird http://instantbird.com/ (platform: platformfüggetlen, licenc: GNU GPL v2+) Mozilla Thunderbird http://www.mozilla.org/hu/thunderbird/ (platform: Linux, OS X, Windows; licenc: MPL v2) Pidgin http://www.pidgin.im/ (platform: Linux, OS X, Windows; 20 licenc: GNU GPL v2)
VoiceXML (1) VoiceXML (3) XML formátum ember és számítógép közötti interaktív, hanggal vezérelt párbeszédek leírására Célja a web-alapú fejlesztések és tartalomszolgáltatás előnyeinek bevitele az interaktív hangvezérelt alkalmazásokba Hogy az utóbbiak készítéséhez ne legyen szükséges speciális programozói szaktudás Hangos böngészők Használat telefonos környezetben Lehetőségek: Szintetikus beszéd Digitalizált hang Beszéd felismerése DTMF (Dual Tone Multi-Frequency) felismerés Beszéd rögzítése Telefonálás Vezérlési szerkezetek Kliens-szerver modell 21 23 VoiceXML (2) VoiceXML (4) A VoiceXML 1.0 specifikáció (2000. március 7.) a VoiceXML Forum munkájának eredménye (AT&T, IBM, Lucent, Motorola), amelyet a W3C elé terjesztettek, ez szolgált alapul egy új nemzetközi szabványhoz A jelenleg aktuális szabvány: Voice Extensible Markup Language (VoiceXML) 2.1 (W3C ajánlás, 2007. június 19.) http://www.w3.org/tr/voicexml21/ A 3.0 verzió jelenleg munkaterv fázisban van Az iparban elterjedten használt 22 Kapcsolódó szabványok: Speech Recognition Grammar Specification Version 1.0 (W3C ajánlás, 2004. március 16.) http://www.w3.org/tr/speech-grammar/ Speech Synthesis Markup Language (SSML) Version 1.1 (W3C ajánlás, 2010. szeptember 7.) http://www.w3.org/tr/speech-synthesis11/ Beszéd szintetizálásának vezérlése (kiejtés, hangerő, hangmagasság, sebesség, ) Semantic Interpretation for Speech Recognition (SISR) Version 1.0 (W3C ajánlás, 2007. április 5.) http://www.w3.org/tr/semantic-interpretation/ 24
VoiceXML (5) DocBook (1) Kapcsolódó szabványok (folytatás): XML formátum műszaki dokumentációhoz Voice Browser Call Control: CCXML Version 1.0 (W3C ajánlás, 2011. július 5.) http://www.w3.org/tr/ccxml/ Telefonhívások vezérlése párbeszédrendszerekben Eredetileg hardver és szoftver dokumentáció készítéséhez fejlesztették ki, de tetszőleges célra használható Pronunciation Lexicon Specification (PLS) Version 1.0 (W3C ajánlás, 2008. október 14.) http://www.w3.org/tr/pronunciation-lexicon/ State Chart XML (SCXML): State Machine Notation for Control Abstraction (W3C ajánlás, 2015. szeptember 1.) http://www.w3.org/tr/scxml/ Nyílt szabvány, amely az iparban széles körben elterjedt és használt, de-facto szabvány Stíluslapok és egyéb eszközök szolgálnak a DocBook XML dokumentumok különböző formátumokba alakítására (például HTML, PDF, TeX, RTF, ) 25 27 VoiceXML (6) DocBook (2) XML séma: http://www.w3.org/tr/voicexml21/vxml.xsd IANA média típus: application/voicexml+xml Szabad és nyílt forrású szoftverek: JVoiceXML http://jvoicexml.sourceforge.net/ (platform: Java, licenc: GNU LGPL v2) Rivr http://rivr.nuecho.com/ (platform: Java, licenc: Apache License v2) A szabvány felelőse az OASIS DocBook Technical Committee A szabvány jelenleg aktuális verziója az 5.0 The DocBook Schema Version 5.0 (2009. november 1.) http://docbook.org/specs/docbook-5.0-spec-os.html RELAX NG séma formájában adott a formátum Van W3C XML Schema és DTD változat, de a RELAX NG séma a normatív Az 5.1 verzió jelenleg fejlesztés alatt áll 26 28
DocBook (3) DocBook (5) Dokumentáció: Hasznos címek: DocBook 5.0: The Definitive Guide http://www.docbook.org/tdg5/ Sémák: http://docs.oasis-open.org/docbook/xml/5.0/rng/ The DocBook Project http://docbook.sourceforge.net/ Szabad és nyílt forrású eszközök: dblatex http://dblatex.sourceforge.net/ (platform: Linux, Windows; licenc: GNU GPL v2+) http://docs.oasis-open.org/docbook/xml/5.0/xsd/ http://docs.oasis-open.org/docbook/xml/5.0/dtd/ Publican https://fedorahosted.org/publican/ (platform: Linux, Windows; licenc: GNU GPL v2+) További információk: http://www.docbook.org/ 29 31 DocBook (4) OpenDocument (1) Használat (dokumentálás): Fedora Documentation Project http://docs.fedoraproject.org/ FreeBSD http://www.freebsd.org/ GNOME http://www.gnome.org/ https://wiki.gnome.org/documentationproject/ KDE http://www.kde.org/ http://l10n.kde.org/docs/ PHP http://php.net/ Nyílt szabványként létező XML formátum irodai programcsomagok dokumentumaihoz Alkalmas szöveges dokumentumok, táblázatok és prezentációk tárolására is A szabvány felelőse az OASIS OpenDocument Technical Committee Aktuális verziója az 1.2 számú: PostgreSQL http://www.postgresql.org/ The Linux Documentation Project http://www.tldp.org/ Lásd még: http://wiki.docbook.org/whousesdocbook 30 Open Document Format for Office Applications (OpenDocument) Version 1.2 (OASIS szabvány, 2011. szeptember 29.) http://www.oasis-open.org/committees/office/ ISO szabványként is létezik: ISO/IEC 26300-1:2015, ISO/IEC 26300-2:2015, ISO/IEC 26300-3:2015 32
OpenDocument (2) OpenDocument (4) NATO tagállamok számára kötelező a szabvány használata Lásd: NATO Interoperability Standards and Profiles (NISP) A szabvány elterjedéséről lásd: http://en.wikipedia.org/wiki/opendocument_adoption A MS konkurens szabványa: Office Open XML ECMA-376: Office Open XML File Formats http://www.ecma-international.org/publications/standards/ecma- 376.htm ISO szabványként is létezik (ISO/IEC 29500:2012) Fájlkiterjesztés:.odt (szöveges dokumentum).odp (bemutató).ods (munkafüzet).odg (rajz) IANA média típus: application/vnd.oasis.opendocument.* 33 35 OpenDocument (3) EPUB (1) Szabad és nyílt forrású szoftverek: Apache OpenOffice http://openoffice.org/ (Apache License v2) LibreOffice http://www.libreoffice.org/ (GNU LGPL v3) MS Office támogatás: Először ebben a kiadásban: MS Office 2007 Service Pack 2 Google Docs http://docs.google.com/ Nyílt szabványként létező formátum elektronikus kiadványok és dokumentumok terjesztéséhez, melyet elterjedten használnak elektronikus könyvekhez Az International Digital Publishing Forum (IDPF) fejlesztése http://idpf.org/ A szabvány jelenleg aktuális verziója a 3.0.1 számú (2014. június 26.) http://idpf.org/epub/301 Fájlkiterjesztés:.epub 34 IANA média típus: application/epub+zip 36
EPUB (2) XUL (1) Létező web szabványok használata (HTML5, CSS, SVG) XML User Interface Language (XUL) (kiejtés: [zu:l]) https://developer.mozilla.org/docs/mozilla/tech/xul A dokumentumot alkotó különféle erőforrások összecsomagolása egyetlen ZIP állományba Csomag dokumentum (package document): metaadatokat, a dokumentumot alkotó erőforrások felsorolását és az alapértelmezett olvasási sorrendet tartalmazó XML dokumentum A Mozilla projektben kifejlesztett XML-alapú felhasználói felület leíró nyelv Elsősorban a Mozilla projektben fejlesztett szoftverekben használják A Firefox kiterjesztések és a Firefox böngésző teljes felhasználói felülete ebben készülnek Fájlkiterjesztés:.opf Séma: http://www.idpf.org/epub/301/schema/ Számos további szabványt használ (például CSS, DOM, JavaScript, RDF) 37 Az egyedüli teljes implementáció jelenleg a Gecko böngészőmotor (SeaMonkey, Firefox, ) 39 EPUB (3) XUL (2) Szabad és nyílt forrású szoftverek: A XUL jövőjéről lásd: calibre http://calibre-ebook.com/ (platform: Linux, OS X, Windows; licenc: GNU GPL v3) Konverzió és gyűjtemények kezelése FBReader http://fbreader.org/ (platform: Android, Linux, OS X, Windows; licenc: GNU GPL v2+) Okular http://okular.kde.org/ (platform: Linux, OS X, Windows; licenc: GNU GPL v2) Sigil https://github.com/sigil-ebook/sigil (platform: Linux, OS X, Windows; licenc: GNU GPL v3) EPUB szerkesztő 38 Kev Needham: The Future of Developing Firefox Addons (2015. augusztus 21.) https://blog.mozilla.org/addons/2015/08/21/the-future-o f-developing-firefox-add-ons/ 40
KML (1) KML (3) XML formátum földrajzi adatok megjelenítéséhez, melyet eredetileg a Google Earth alkalmazáshoz fejlesztettek ki Aktuális verziója a 2.2.0 számú Az Open Geospatial Consortium (OGC) által jóváhagyott nyílt szabvány http://www.opengeospatial.org/standards/kml/ XML sémák: http://schemas.opengis.net/kml/ Felhasználók: NASA, National Geographic, UNESCO, Hasznos címek: KML Google Developers https://developers.google.com/kml/ KML Tutorial https://developers.google.com/kml/documentation/kml_t ut KML FAQ https://developers.google.com/kml/faq Alkalmazások: Google Earth, Google Maps, 41 43 KML (2) Apache Maven Fájlkiterjesztés:.kml,.kmz IANA média típus: application/vnd.googleearth.kml+xml, application/vnd.googleearth.kmz Az iparban elterjedten használt projektkezelő és fordításautomatizáló eszköz http://maven.apache.org/ Platform: Java, licenc: Apache License v2 Elsősorban Java projektekben használják Mintapéldák: Active Fire Data Earth Observing System Data and Information System (EOSDIS) http://earthdata.nasa.gov/data/nrt-data/firms/active-fire-data UNESCO World Heritage List http://whc.unesco.org/p_dynamic/sites/whc-en.kmz USGS Earthquake Hazards Program Feeds & Notifications Google Earth KML http://earthquake.usgs.gov/earthquakes/feed/v1.0/kml.php 42 Más programozási nyelvekhez is van támogatás (például PHP) Project Object Model (POM): a projekt deklaratív leírása (például: fejlesztők, levelezési lista címek, függőségek, előállítandó jelentések, ) Tárolás XML dokumentumként (pom.xml) http://maven.apache.org/pom.html XML séma: http://maven.apache.org/xsd/maven-4.0.0.xsd IDE integráció (NetBeans, Eclipse) 44