The XML industry standard

Figure 651. What is XML? Slide presentation Create comment in forum
  • Acronym Extensible Markup Language.

  • W3C standard.

  • Superset / Generalization of (X)HTML.


Figure 652. Application domains Slide presentation Create comment in forum
  • Representing documents. Examples: Docbook, DITA

  • Representing application data:

    • Software configurations.

    • Application data exchange / Web services


Figure 653. Benefits Slide presentation Create comment in forum
  • Tons of well-defined standards.

  • Tons of sound framework implementations.


Figure 654. Relevance (2018/02) Slide presentation Create comment in forum
locate \.xml
...
/etc/ImageMagick-6/type.xml
/etc/alternatives/desktop-background.xml
/etc/bonobo-activation/bonobo-activation-config.xml
/etc/cupshelpers/preferreddrivers.xml
/etc/gconf/gconf.xml.defaults
...
locate \.xml|wc
  28898   29536 2687893

Figure 655. JSON catches up! Slide presentation Create comment in forum
locate \.json
/opt/google/chrome/default_apps/external_extensions.json
/usr/lib/libreoffice/share/emojiconfig/emoji.json
/usr/lib/python3/dist-packages/idna-2.5.egg-info/pbr.json
/usr/share/calibre/editor-functions.json
/usr/share/calibre/template-functions.json
/usr/share/calibre/user-agent-data.json
...
locate \.json|wc
   829    834  84404

Figure 656. Rendering (X)HTML markup Slide presentation Create comment in forum
Rendering (X)HTML markup

XHTML illustrating XML documents' tree like / hierarchical structure:

Figure 657. HTML tree structure Slide presentation Create comment in forum
HTML tree structure

We may extend this example by representing a mathematical formula via a standard called Mathml:

Figure 658. MathML formula Slide presentation Create comment in forum
MathML formula

In contrast to a RDBMS XML allows for hierarchically organized data:

Figure 659. MathML tree graph representation Slide presentation Create comment in forum
MathML tree graph representation

Figure 660. HTML / MathML document similarities Slide presentation Create comment in forum
  • Defining tags:

    <html>, <head>, <body>, ...
    <math:math>, <math:mrow>, <math:msqrt>,...
  • Nesting rules e.g. The <body> element may contain <p>, <ul>, <table> etc. elements.

  • Associating tags and formatting expectations (semantics) e.g. A <p> element represents a block of text to be separated from neighbouring blocks by newlines.

  • Visualization software (renderer).


Figure 661. XML files: Representing data Slide presentation Create comment in forum
  • Low level data store (single user, no transactions).

  • Representing hierarchically nested data.

  • Access by standard frameworks.


Example: A CAD application representing graphical primitives:

Figure 662. Representing CAD data Slide presentation Create comment in forum
Representing CAD data