[NTG-context] XML/MathML namespace handling bug

Hugo Landau hlandau at devever.net
Sat Mar 20 22:52:23 CET 2021


Thanks for ConTeXt, it is an amazing system.

The following test case demonstrates the bug.

  \usemodule[mathml]
  \starttext
  \xmlprocessdata{}{
  <?xml version="1.0" encoding="utf-8"?>
  <foo xmlns="http://www.example.com/ns/foo" xmlns:m="http://www.w3.org/1998/Math/MathML">
  <m:math version="2.0">
    <m:apply><m:union/><m:ci>a</m:ci><m:ci>b</m:ci></m:apply>
  </m:math>
  <m:math version="2.0">
    <m:apply><m:selector/><m:ci>a</m:ci><m:ci>b</m:ci></m:apply>
  </m:math>
  </foo>
  }{}
  \stoptext

No output is produced. This has been verified with live.contextgarden.net.

In order for output to be produced, <m:union/> must be changed to <union> and
<m:selector/> must be changed to <selector/>, but these are in the wrong
namespace in this context. In other words, this bug applies to the keyword
element in an apply element. 

Hugo Landau


More information about the ntg-context mailing list