Choosing namespaces syntax for MathML

This is generic for any XML, but i think that question of readability of
namespaces is vital in languages with a higher ratio markup/content as
MathML is.

MathML with prefix namespaces

<mml:math>
  <mml:apply>
    <mml:times/>
    <mml:ci>a</mml:ci>
    <mml:apply>
      <mml:plus/>
      <mml:ci>b</mml:ci>
      <mml:ci>c</mml:ci>
    </mml:apply>
  </mml:apply>
</mml:math>

the same with postfix

<math:mml>
  <apply:mml>
    <times:mml/>
    <ci:mml>a</ci:mml>
    <apply:mml>
      <plus:mml/>
      <ci:mml>b</ci:mml>
      <ci:mml>c</ci:mml>
    </apply:mml>
  </apply:mml>
</math:mml>

whereas XML cannot be changed in this way, I am open to offer both a
prefix or a postfix notation in a CanonML module used as input syntax for
MathML.

[MML:MATH
  [MML:APPLY
    [MML:TIMES]
    [MML:CI a]
    [MML:APPLY
      [MML:PLUS]
      [MML:CI b]
      [MML:CI c]
    ]
  ]
]

versus

[MATH:MML
  [APPLY:MML
    [TIMES:MML]
    [CI:MML a]
    [APPLY:MML
      [PLUS:MML]
      [CI:MML b]
      [CI:MML c]
    ]
  ]
]

IMO the problem of readability of the XML default prefix form is that the
beggining of tags looks equal and you need to read first 2-4 tokens before
noticing differences between tags somewhat as

<verylargetaga>
<verylargetagb>
<verylargetagb>
<verylargetaga>
<verylargetaga>
<verylargetagc>
<verylargetagb>

is more difficult than

<averylargetag>
<bverylargetag>
<bverylargetag>
<averylargetag>
<averylargetag>
<cverylargetag>
<bverylargetag>

What is your opinion prefix or postfix?

Received on Wednesday, 13 December 2006 10:13:47 UTC