Re: DOM5 and MathML4

Math Working Group,




MathML4, as envisioned, is a highly-extensible semantics-based markup.  Presentational markup can be obtained from the semantics content, utilizing transcribe() or transcribeXML().





<math xmlns:arith="http://www.w3.org/math/arithmetic/">
  <arith:multiply arith:presentationalattr="...">
    <... />
    <... />
  </arith:multiply>
</math>



<math xmlns:arith="http://www.w3.org/math/arithmetic/">

  <presentation type="application/xhtml+xml">

    <!-- automatically generated from MathElement’s transcribeXML, e.g. XHTML+CSS -->

  </presentation>
  <arith:multiply arith:presentationalattr="...">
    <... />
    <... />
  </arith:multiply>
</math>





The extensibility adds complexity to schema processing; for example <arith:multiply> might be valid if and only if it has two operands that are elements of certain sets.  We could put isValid() onto the MathElement interface.





interface MathElement : Element
{

  bool isValid();


  float? /* [0, 1] */ canTranscribe(DOMString format, Container? container = null);


  DOMString? transcribe(DOMString format, Container? container = null);
  Element? transcribeXML(DOMString format, Container? xmlns = null, Document? document = null);




  void semantics(Graph graph, Container? ontology = null);
  ...
};




We can also specify sets with the MathML4, resembling abstract expression trees.




interface MathSet

{

  …

};







interface MathElement : Element
{

  bool isValid();




  MathSet getSet();


  float? /* [0, 1] */ canTranscribe(DOMString format, Container? container = null);


  DOMString? transcribe(DOMString format, Container? container = null);
  Element? transcribeXML(DOMString format, Container? xmlns = null, Document? document = null);




  void semantics(Graph graph, Container? ontology = null);
  ...
};










Kind regards,




Adam Sobieski

http://www.phoster.com







From: Adam Sobieski
Sent: ‎Monday‎, ‎September‎ ‎21‎, ‎2015 ‎1‎:‎10‎ ‎PM
To: www-math@w3.org





Math Working Group,




I’d like to share a link: http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3848348-enhance-directx-directwrite-with-the-layout-and-re.  DirectWrite and DirectX Graphics mathematical layout and rendering would entail mathematical notations for apps, including document authoring software, the Edge browser as well as 3D graphics rendered with DirectX 12.




Also, exciting news; recent ideas about DOM5 (https://www.w3.org/community/argumentation/2015/09/21/document-object-model-5/) present new opportunities for MathML4.




Here is a tentative sketch of a MathElement interface:




interface MathElement : Element
{
  float? /* [0, 1] */ canTranscribe(DOMString format, Container? container = null);




  DOMString? transcribe(DOMString format, Container? container = null);
  Element? transcribeXML(DOMString format, Container? xmlns = null, Document? document = null);




  void semantics(Graph graph, Container? ontology = null);
  ...
};










Kind regards,




Adam Sobieski
http://www.phoster.com

Received on Monday, 21 September 2015 19:22:48 UTC