Skip navigation.

CSS Warrior

Posts tagged with "browsers"

New Markup for Mathematical Articles

, , , ...

Work on new version of XML MAIDEN markup language that was started in august is finally done and XML MAIDEN 2.0 DTD was submitted to OASIS schema registry. Markup can be used to capture general structure of scientific articles (front matter, headers, sections, statements, paragraphs, references etc) and to outline basic structure of mathematical expressions in the way suitable for rendering with CSS.

Mathematical part of XML MAIDEN 2.0 DTD was carefully revised in order to remove existing nesting limitations and create markup that can handle arbitrary complex formulae obtained by combining common mathematical expressions such as indices (arbitrary complex subscripts, superscripts, prescripts, under and over scripts), fractions (including arbitrary deeply nesting ones), operators (with arbitrary complex, multiple under and over scripts), fences, radicals, matrices (including deeply nested ones, with markers), determinants, vectors and etc.

Scope and capabilities of mathematical DTD are roughly aligned with those of Electronic Manuscript Standard. DTD admits universal CSS2.1 style sheet that can imitate native support without imposing limitations on complexity of mathematical expressions. Certain restricted subset of XML MAIDEN DTD is interoperable and suitable for rendering in current browsers including Opera 7/8/9 , Mozilla 1.x, Safari 1.x and MSIE 5.5/6.0. Full DTD however requires stronger CSS2.1 support (flawless support for inline-blocks and inline-tables is crucial for proper functionality of default style sheet).



MSIE7 will not support application/xhtml+xml

, ,

Several years passed since application/xhtml+xml MIME type was registered but on real web you will hardly find XHTML documents served with proper MIME type. The reason is simple — browser side support.

MSIE6 does not recognize application/xhtml+xml documents at all and as Cris Wilson (MSIE developer) recently wrote upcoming MSIE7 will not support application/xhtml+xml MIME type either. Microsoft with its fifty thousands employees has no resources :wink: to update XML parser. Neither Mozilla foundation with its six billions potential developers managed to implement XHTML decently — Gecko based browsers can't render X(HT)ML documents incrementally and users have to wait before page fully loads. Opera too had problems with XHTML. Until version 7.5 it did not execute JavaScript when page was served as application/xhtml+xml, so Opera 8 is probably first version that handles application/xhtml+xml properly. It is unclear when MSIE and Mozilla will follow Opera and finally make XHTML usable. Until then HTML tagsoup will prosper.

Towards universal math style sheet

, ,

In spite of the fact that world wide web emerged in one of the center of European science — CERN, web standards failed to address needs of scientific community and most of current scientific articles (especially in technical areas like mathematics, physics and chemistry) are distributed in PDF format instead of more accessible and web friendly XML based solutions. One of the reasons for current situation is inability of browsers to render mathematical expressions. One way to address problem is to implement presentational MathML in all browsers.

Another one that was frequently discussed on Opera forums it to find CSS based solution.
The idea behind universal math style sheet was to write single CSS2.1 style sheets that would handle arbitrary complex math formulae obtained by combining and nesting subscripts, uperscripts, prescripts, under and over scripts, fractions, operators, matrices, vectors, determinants, cases, accents, fences, radical and other mathematical expressions. In this case any good CSS rendering engine would be able to render mathematical expressions without having native LaTeX/MathML/EMS support. The good news is that such a style sheet exists :idea: (that was not obvious from the first glance) and even works in one CSS rendering engine Prince 5 :smile: (CSS formatter developed by YesLogic). The bad news however that browsers does not have sufficient CSS2.1 support yet to process style sheet properly :cry:
Style sheet affords torture tests that are analog of MathML torture tests and contain some complex math expressions. Opera can't get them right, but
after fixing some CSS related bugs it should be able to render these and other much more complex formulae. Below are screen shots that show how Prince CSS formatter handles tests:

Formulae 1-7
Formulae 6-11
Formulae 12-19
Formulae 15-22
Formulae 23-28