Extension:XML Bridge/MWXHTML

From MediaWiki.org
Jump to: navigation, search

This page describes the structure of the XHTML export in regard to MediaWiki markup and its semantics.

Naming Conventions[edit]

We use class attributes to annotate the XHTML with semantic information if available.

To avoid conflicting names, all class names are prefixed with mwx. (e.g. class="mwx.section").

Page content and meta-data[edit]

  • <title> element reflects prefixed page name (e.g., Extension:XML);
  • <meta> elements provide the language, namespace, version, page name, and redirection target for redirect pages;
* Example?
* what about the indication of used microformats in the header?


The XML converter marks sections of pages using <div class="mwx.section" title="Header of the section">. In addition, sections include the usual XHTML header elements <h[123456]>. Sections end at the following header of same or smaller level or at the end of the containing element. Sections can be nested.


In general, we use XHTML <a...> elements to mark up all links in pages and use classes (staring with "mwx.link." to describe their type:

Category and Language links are contained in a div element.

<div class="mwx.categorylinks"> 
 <a href="Category:People" class="mwx.link.category">People</a>

<div class="mwx.languagelinks"> 
 <a href="http://de.wikipedia.org/wiki/Mensch" class="mwx.link.interwiki">Mensch</a>

Other Link types:

  • mwx.link.internal : Links to resources inside the Wiki (internal links)
  • mwx.link.external : Links to resources outsite the Wiki (external links)
  • mwx.link.fragment :Links to sections of the same page (intra-page links):
  • mwx.link.interwiki : Links to pages in other wikis or other languages (interwiki links)
  • mwx.link.self : Links to the current page (self-links)
  • mwx.link.note : Links to footnotes (created through <ref> markup in wiki-text)
  • mwx.link.noteref : Backlinks from a footnote to the reference


Probably using the Object-Tag


Images included in pages are marked up with XHMTL IMG- and A-elements:

  • A-element gets extra attributes: class="mwx.link.image" and links to the page describing the image resource
  • The src attribute of the IMG-element is set to the URL of the actual image
  • if the image is framed, thumbnailed or floating, it is embedded in a DIV-element (with class="mwx.image.float|frame|thumb") together with the optional image caption (class="mwx.imagecaption")
<div class="mwx.image.float">
 <a href="Image:Logo.png" class="mwx.link.image">
  <img src="/resources/images/logo.png"/>
  <span class="mwx.imagecaption">descriptive image caption</span>


The content of <math> markup is converted to MathML

Further the unmodified Latex is put in an OBJECT-TAG? or in a Data Uri

Details, Example?


Idea: don´t resolve image urls but rather set their url to a service that redirects to the resolved ressource. this will be significantly faster.

Timeline, Hiero and other Extensions[edit]

are put unmodified into Object-elements if possible

details? examples?

use Data Uris ? implement a timeline server?

Magic variables[edit]

e.g., Extension:XML Bridge/MWXHTML are expanded as in MediaWiki's XHTML output

can we mark them?