Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky...

44
XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen [email protected] Last modified: October 4, 2020

Transcript of Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky...

Page 1: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

XML Applications

Péter JeszenszkyFaculty of Informatics, University of Debrecen

[email protected]

Last modified: October 4, 2020

Page 2: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

2

A Few Notable XML Applications

● X3D● RSS, Atom● XMPP● DocBook● OpenDocument

● EPUB● KML● OSM XML● Apache Maven● FXML

Page 3: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

3

X3D (1)

● X3D is an open standard file format to represent 3D computer graphics. https://www.web3d.org/x3d/what-x3d

● Developed by the Web3D Consortium. http://www.web3d.org/● The successor of the Virtual Reality Modeling Language (VRML) format.● Possible applications include: CAD, architecture, 3D printing and

scanning, medical visualization, training and simulation, multimedia, entertainment, education, …

● The current version is 3.3. http://www.web3d.org/standards/version/V3.3● Also standardized by ISO. http://www.web3d.org/standards● See also: X3D Adoption http://www.web3d.org/x3d-adoption

Page 4: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

4

X3D (2)

● XML schema: http://www.web3d.org/specifications/x3d-3.3.xsd

● File extensions and media type:Endoding File Extension Media Type

XML .x3d model/x3d+xml

Compressed binary

.x3db model/x3d+fastinfoset

Classic VRML .x3dv model/x3d-vrml

Page 5: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

5

X3D (3)

● Examples:– https://www.web3d.org/example– Extensible 3D (X3D) Graphics: Basic Examples Archive

https://www.web3d.org/x3d-resources/content/examples/Basic/

– X3DOM Examples https://www.x3dom.org/examples/– X_ITE – X3D Examples

https://github.com/create3000/x_ite/wiki#user-content-x3d-examples

– X3D: Extensible 3D Graphics for Web Authors http://x3dgraphics.com/examples/index.php

Page 6: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

6

X3D (4)

● Free and open source software:– Blender (platform: Linux, macOS, Windows;

license: GNU GPL v2+) https://www.blender.org/– Titania (platform: Linux (Ubuntu); license: GNU GPL

v3) https://github.com/create3000/titania/● X3D editor.

Page 7: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

7

X3D (5)

● Free and open source software (continued):– X3DOM (platform: browser; license: GNU GPL v3/ MIT

License) https://www.x3dom.org/ https://github.com/x3dom/x3dom

● X3DOM is a JavaScript framework for embedding X3D content in HTML5 documents without requiring additional plugins.

● Requires a WebGL-enabled browser.

– X_ITE (platform: browser; license: GPLv3) https://github.com/create3000/x_ite

● WebGL-based X3D viewer written in JavaScript.

Page 8: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

8

X3D (6)

● WebGL:– A low-level JavaScript API for rendering 3D graphics

supported natively by modern web browsers.– Website: https://www.khronos.org/webgl/

https://github.com/KhronosGroup/WebGL– Detecting browser support for WebGL:

https://get.webgl.org/– Browser support: https://caniuse.com/#search=webgl

Page 9: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

9

Web Feeds (1)

● Web feeds are documents for publishing frequently updated content.

● Consist of items, each of which can contain a complete article, a brief summary of the content, links, and metadata.

● Machine-processable.● Used on frequently updated websites, such as news sites

and blogs.● Related concept: syndication

– See: https://www.merriam-webster.com/dictionary/syndication

Page 10: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

10

Web Feeds (2)

● XML formats: RSS, Atom.● Modern web browser support the RSS and

Atom formats natively or via extensions.● Client applications for managing web feeds are

called aggregators or news readers.

Page 11: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

11

RSS (1)

● RSS stands for Really Simple Syndication.● Developed by the RSS Advisory Board.

https://www.rssboard.org/● The current specification:

– RSS 2.0 Specification (version 2.0.11) (March 30, 2009) https://www.rssboard.org/rss-specification

● File extension: .rss

● Media type: application/rss+xml

Page 12: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

12

RSS (2)

● Example RSS feeds:– RSS news feeds for arXiv updates https://arxiv.org/help/rss– News feeds from the BBC

https://www.bbc.com/news/10628494– CNN RSS http://edition.cnn.com/services/rss/– NASA RSS Feeds

https://www.nasa.gov/content/nasa-rss-feeds– OpenStreetMap https://wiki.openstreetmap.org/wiki/Feeds– Reddit https://www.reddit.com/wiki/rss

Page 13: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

13

Atom (1)

● An alternative to RSS.– Comparison of Atom and RSS:

http://www.intertwingly.net/wiki/pie/Rss20AndAtom10Compared● Current specifications:

– Mark Nottingham (ed.), Robert Sayre (ed.), The Atom Syndication Format, RFC 4287, December 2005. https://tools.ietf.org/html/rfc4287

– Joe Gregorio (ed.), Bill de hOra (ed.), The Atom Publishing Protocol, RFC 5023, October 2007. https://tools.ietf.org/html/rfc5023

● File extension: .atom

● Media type: application/atom+xml

Page 14: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

14

Atom (2)

● Example Atom feeds:– Stack Overflow https://stackoverflow.com/

● Examples:– Recent Questions https://stackoverflow.com/feeds– Newest questions tagged atom-feed

https://stackoverflow.com/feeds/tag?tagnames=atom-feed&sort=newest– How do I delete a Git branch both locally and remotely?

https://stackoverflow.com/feeds/question/2003505

– The Linux Kernel Archives https://www.kernel.org/● https://www.kernel.org/feeds/all.atom.xml● https://www.kernel.org/feeds/kdist.xml

– YouTube https://www.youtube.com/● Example: Simon's Cat

https://www.youtube.com/feeds/videos.xml?channel_id=UCH6vXjt-BA7QHl0KnfL-7RQ

Page 15: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

15

Web Feeds (3)

● Example web feeds in RSS and Atom:– Google News https://news.google.com/

● RSS: https://news.google.com/news/feeds?output=rss● Atom: https://news.google.com/news/feeds?output=atom

– Not A Blog (George R. R. Martin) https://georgerrmartin.com/notablog/

● RSS: http://georgerrmartin.com/notablog/feed/● Atom: http://georgerrmartin.com/notablog/feed/atom

Page 16: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

16

Web Feeds (4)

● Browser support:– Firefox:

● Live Bookmarks – Subscribe to a web page for news and updates https://support.mozilla.org/hu/kb/live-bookmarks

● Firefox's built-in support for web feeds and Live Bookmarks was removed with the release of Firefox version 64 in December 2018.

– See: Feed reader replacements for Firefox https://support.mozilla.org/en-US/kb/feed-reader-replacements-firefox

Page 17: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

17

Web Feeds (5)

● Browser support (continued):– Feedbro (license: ?) https://nodetics.com/feedbro/

● RSS and Atom feed reader Browser extension for Google Chrome, Vivaldi and Firefox.

Page 18: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

18

XMPP (1)

● Open standard XML-based technology for real-time communication. https://xmpp.org/

● Developed by the XMPP Standards Foundation (XSF). https://xmpp.org/about/xmpp-standards-foundation.html

Page 19: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

19

XMPP (2)

● Possible applications include:– Instant messaging– Internet of things (IoT)– Online gaming– Social networking– Real-time communication

● See: Uses of XMPP https://xmpp.org/uses/

Page 20: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

20

XMPP (3)

● Industrial applications:– WhatsApp https://www.whatsapp.com/

● See: FunXMPP Protocol https://github.com/mgp25/Chat-API/wiki/FunXMPP-Protocol

– League of Legends https://leagueoflegends.com/● See: Chat Service Architecture: Protocol (July 24, 2015 )

https://engineering.riotgames.com/news/chat-service-architecture-protocol

– EVE Online https://www.eveonline.com/● See: New Chat Backend Coming With The March Release (February 21,

2018) https://www.eveonline.com/article/p4i0qx/new-chat-backend-coming-with-the-march-release

– …

Page 21: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

21

XMPP (4)

● XML schemas: https://xmpp.org/schemas/● Core specifications:

– Peter Saint-Andre, Extensible Messaging and Presence Protocol (XMPP), RFC 6120, March 2011. https://tools.ietf.org/html/rfc6120

– Peter Saint-Andre, Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence, RFC 6121, March 2011. https://tools.ietf.org/html/rfc6121

– Peter Saint-Andre, Extensible Messaging and Presence Protocol (XMPP): Address Format, RFC 7622, September 2015. https://tools.ietf.org/html/rfc7622

Page 22: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

22

XMPP (5)

● XMPP Extension Protocol (XEP):– Extensions to XMPP developed by the XSF.– The list of published XEPs:

https://xmpp.org/extensions/– See also: Standards Process

https://xmpp.org/about/standards-process

Page 23: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

23

XMPP (6)

● Free and open source software:– Servers:

● ejabberd Community Edition (platform: Linux, macOS; license: GNU GPL v2) https://www.ejabberd.im/ https://github.com/processone/ejabberd

● OpenFire (platform: Linux, macOS, Windows; license: Apache License 2.0) https://github.com/igniterealtime/Openfire

– Clients:● converse.js (platform: browser; license: Mozilla Public License 2.0) https://conversejs.org/

https://github.com/conversejs/converse.js– XMPP client written in JavaScript.

● Mozilla Thunderbird (platform: Linux, macOS, Windows; license: Mozilla Public License 2.0) https://www.thunderbird.net/

● Pidgin (platform: Linux, maxOS, Windows; license: GNU GPL v2) http://www.pidgin.im/

– Libraries:● Smack API (platform: Android, Java; license: Apache License 2.0) https://github.com/igniterealtime/Smack● Stroke (platform: Java; license: GNU GPL v3) https://swift.im/swiften.html https://github.com/swift/stroke

● See: XMPP software https://xmpp.org/software/

Page 24: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

24

DocBook (1)

● Open standard XML format for writing technical documentation.– Originally, it was developed for writing hardware and

software documentation, but is also suitable for other uses.

– Widely used in the industry.● Stylesheets and other tools are used to transform

DocBook XML documents to other formats (e.g., EPUB, HTML, man pages, PDF, …).

Page 25: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

25

DocBook (2)

● Developed by the OASIS DocBook Technical Committee.

● The current version is 5.1.– DocBook Version 5.1 (OASIS Standard) (November 22,

2016) http://docs.oasis-open.org/docbook/docbook/v5.1/os/docbook-v5.1-os.html

– The format is defined in terms of a RELAX NG schema.● Schema: https://docbook.org/xml/5.1/rng/

● Version 5.2 is currently under development.

Page 26: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

26

DocBook (3)

● Industrial applications (documentation):– Fedora Documentation Project https://fedoraproject.org/wiki/Docs_Project– FreeBSD https://www.freebsd.org/– GNOME https://www.gnome.org/

https://wiki.gnome.org/DocumentationProject/– KDE https://www.kde.org/ https://l10n.kde.org/docs/– PHP https://php.net/– PostgreSQL https://www.postgresql.org/– The Linux Documentation Project https://tldp.org/– …

● See also: https://github.com/docbook/wiki/wiki/WhoUsesDocBook

Page 27: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

27

DocBook (4)

● Documentation:– DocBook 5.1: The Definitive Guide https://tdg.docbook.org/tdg/5.1/

● Free and open source software:– dblatex (platform: Linux, Windows; license: GNU GPL v2+)

http://dblatex.sourceforge.net/– DAPS – DocBook Authoring and Publishing Suite (platform: Linux; license: GNU

GPL v2+) https://opensuse.github.io/daps/ https://github.com/openSUSE/daps– Pandoc (platform: Linux, macOS, Windows; license: GNU GPL v2+)

https://pandoc.org/ https://github.com/jgm/pandoc● Further information:

– https://docbook.org/– http://docbook.sourceforge.net/

Page 28: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

28

OpenDocument (1)

● Open standard XML format for office applications.– Supports several types of documents, including text documents,

spreadsheets, and presentations.● Developed by the OASIS OpenDocument Technical Committee.

https://www.oasis-open.org/committees/office/● The current version is 1.3:

– Open Document Format for Office Applications (OpenDocument) Version 1.3 (25 December 2019) https://www.oasis-open.org/standards#ODF-v1.3-CS01

● Version 1.2 is also published as an ISO standard: ISO/IEC 26300-1:2015, ISO/IEC 26300-2:2015, ISO/IEC 26300-3:2015.

● See also: http://opendocumentformat.org/

Page 29: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

29

OpenDocument (2)

● File extensions:– .odt (text document)

– .odp (presentation)

– .ods (spreadsheet)

– .odg (drawing)

– … ● Media type: application/vnd.oasis.opendocument.*

Page 30: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

30

OpenDocument (3)

● A mandatory standard for NATO members:– See: NATO Interoperability Standards and Profiles (NISP)

https://nhqc3s.hq.nato.int/Apps/Architecture/NISP/volume2/

● See also: OpenDocument adoption https://en.wikipedia.org/wiki/OpenDocument_adoption

● The rival standard by Microsoft: Office Open XML– ECMA-376: Office Open XML File Formats

http://www.ecma-international.org/publications/standards/Ecma-376.htm

– ISO/IEC 29500 https://www.iso.org/standard/71691.html

Page 31: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

31

OpenDocument (4)

● Free and open source software:– Apache OpenOffice (license: Apache License v2)

https://www.openoffice.org– LibreOffice (license: Mozilla Public License 2.0) https://www.libreoffice.org/– ONLYOFFICE Desktop Editors (platform: Linux, macOS, Windows; license:

GNU AGPL v3) https://www.onlyoffice.com/en/desktop.aspx https://github.com/ONLYOFFICE/DesktopEditors

● Non-free software:– Microsoft Office https://www.office.com/

● Services:– Google Docs https://docs.google.com/– Office 365 https://www.office.com/

Page 32: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

32

EPUB (1)

● Open standard format for distributing digital publications and documents.● Widely used for e-books.● Originally, it was developed by the International Digital Publishing Forum (IDPF).

http://idpf.org/● In 2017, IDP has been merged with W3C.

– See: W3C Welcomes IDPF as Organizations Officially Combine to Develop Roadmap for Future of Publishing. 1 February 2017. https://www.w3.org/blog/news/archives/6102

● Within the W3C, the EPUB 3 Community Group develops EPUB. https://www.w3.org/community/epub3/

● The current version is 3.2 (8 May 2019). https://www.w3.org/publishing/epub32/ https://www.w3.org/publishing/epub3/epub-spec.html

● File extension: .epub

● Media type: application/epub+zip

Page 33: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

33

EPUB (2)

● Based on the use of existing web standards (HTML5, CSS, SVG).

● Related resources that comprise an EPUB document are packaged into a single ZIP file.

● Package document: an XML document that contains metadata, the list of resources comprising the document, and the default reading order.– File extension: .opf

● Schemas: http://www.idpf.org/epub/31/schema/

Page 34: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

34

EPUB (3)

● Free and open source software:– calibre (platform: Linux, macOS, Windows; license: GNU GPL v3)

https://calibre-ebook.com/ https://github.com/kovidgoyal/calibre ● Conversion and collection management tool.

– EPUB.js (platform: browser; license: Simplified BSD License) http://futurepress.org/ https://github.com/futurepress/epub.js

– FBReader (platform: Android, Linux, macOS, Windows; license: GNU GPL v2) https://fbreader.org/

– Okular (platform: Linux, macOS, Windows; license: GNU GPL v2) https://okular.kde.org/

– Sigil (platform: Linux, macOS, Windows; license: GNU GPL v3) https://sigil-ebook.com/ https://github.com/Sigil-Ebook/Sigil

● EPUB editor.

Page 35: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

35

KML (1)

● Open standard XML format for representing geographical data for visualization purposes.

● Originally, it was developed for Google Earth.● Developed by the Open Geospatial Consortium (OGC).

https://www.ogc.org/● The current version is 2.3 (August 4, 2015).

http://www.opengeospatial.org/standards/kml/ ● XML schemas: http://schemas.opengis.net/kml/● File extension: .kml, .kmz

● Media type: application/vnd.google-earth.kml+xml, application/vnd.google-earth.kmz

Page 36: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

36

KML (2)

● Examples:– Active Fire Data – Earth Observing System Data and Information

System (EOSDIS) https://earthdata.nasa.gov/earth-observation-data/near-real-time/firms/active-fire-data

– National Weather Service – NWS KML and KMZ Files https://www.weather.gov/gis/NWS_KMLFiles

● Example: https://forecast.weather.gov/MapClick.php?lat=38.8904&lon=-77.032&unit=0&lg=english&FcstType=kml

– USGS Earthquake Hazards Program – Real-time Notifications, Feeds, and Web Services – Google Earth KML https://earthquake.usgs.gov/earthquakes/feed/v1.0/kml.php

Page 37: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

37

KML (3)

● Software and services:– Bing Maps https://www.bing.com/maps– Google Earth https://www.google.hu/intl/hu/earth/– Google Maps https://www.google.com/maps– NASA World Wind (platform: Android, Java; license: NASA Open

Source Agreement v1.3) https://worldwind.arc.nasa.gov/ https://github.com/NASAWorldWind/

● Further information:– KML – Google Developers https://developers.google.com/kml/– KML Tutorial https://developers.google.com/kml/documentation/kml_tut– KML FAQ https://developers.google.com/kml/faq

Page 38: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

38

OSM XML (1)

● OpenStreetMap (OSM) is a collaborative community project to create a freely editable map of the world that is freely available for use. https://www.openstreetmap.org/– Further information: OpenStreetMap Wiki

https://wiki.openstreetmap.org/wiki/Main_Page ● OSM uses an XML format for exporting map

data.– See: https://wiki.openstreetmap.org/wiki/OSM_XML

Page 39: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

39

OSM XML (2)

● All OSM data in one file: https://planet.openstreetmap.org/

● Map data is available in smaller chunks, e.g., by country.– OpenStreetMap Wiki – Downloading data

https://wiki.openstreetmap.org/wiki/Downloading_data– Planet OSM https://planet.osm.org/– Geofabrik – OpenStreetMap Data Extracts

https://download.geofabrik.de/– BBBike https://download.bbbike.org/osm/bbbike/

https://extract.bbbike.org/

Page 40: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

40

Apache Maven (1)

● Software project management and build tool widely used in the industry. https://maven.apache.org/

● Written in Java.● Free and open source software distributed under the Apache License v2.● Used mainly for Java projects, but can be also used for other programming

languages, such as Kotlin and Scala.● Project Object Model (POM):

– An XML document (pom.xml) that contains a declarative description of the project.● Contains metadata and configuration settings.

– Further information: Apache Maven – POM Reference https://maven.apache.org/pom.html

– XML schema: http://maven.apache.org/xsd/maven-4.0.0.xsd

Page 41: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

41

Apache Maven (2)

● IDE support:– Eclipse IDE https://www.eclipse.org/m2e/– IntelliJ IDEA

https://www.jetbrains.com/help/idea/migrating-from-eclipse-to-intellij-idea.html#BuildTools

– NetBeans IDE https://platform.netbeans.org/tutorials/nbm-maven-quickstart.html

Page 42: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

42

FXML (1)

● JavaFX:– Platform for developing rich client applications that operate consistently on

diverse systems based on Java SE.– Was introduced in Java SE 7 Update 6 as part of the JDK/JRE.– Starting with JDK 11, JavaFX will be removed from the JDK, OpenJFX is

intended to replace it.● See: The Future of JavaFX and Other Java Client Roadmap Updates (March 7,

2018) https://blogs.oracle.com/java-platform-group/the-future-of-javafx-and-other-java-client-roadmap-updates

● FXML: XML format for defining the structure of user interfaces of JavaFX applications.– Provides means to separate the user interface from the business logic.

● The program do not have to be recompiled when the user interface changes.

Page 43: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

43

FXML (2)

● Free and open source software:– OpenJFX (platform: Java; license: GNU GPL v2 +

Classpath Exception) https://openjfx.io/ http://openjdk.java.net/projects/openjfx/https://wiki.openjdk.java.net/display/OpenJFX/Main

– Gluon Scene Builder (platform: Java; license: New BSD License) https://gluonhq.com/products/scene-builder/https://github.com/gluonhq/scenebuilder

● Supported IDEs: NetBeans IDE, Eclipse IDE, IntelliJ IDEA

Page 44: Péter Jeszenszky Faculty of Informatics, University of ... · XML Applications Péter Jeszenszky Faculty of Informatics, University of Debrecen jeszenszky.peter@inf.unideb.hu Last

44

Further XML-based formats

● See:– List of XML markup languages

https://en.wikipedia.org/wiki/List_of_XML_markup_languages