[om] the USE of <OMOBJ>

Reinaldo Barreiro, E. e.reinaldo at TUE.nl
Thu Nov 6 15:08:49 CET 2003


Dear all,

I would like to bring the following issue to the mailing list.

Why is the <OMOBJ> tag needed in the XML encoding of OpenMath objects?

I would like <OMOBJ> be declare as optional. Why?

1-There is always a unique child of <OMOBJ>. So, all the information
  <OMOBJ> holds can be also attributed to its unique child. For instance,
<OMOBJ id="bla">
   <OMA>
        ...
   </OMA>
</OMOBJ>
could be as well written as 
<OMA id="bla">
    ...
</OMA>.
No information is lost (as far as I can see).

2-For the creation of interactive documents <OMOBJ> brings all
  kind of problems. Consider the following hypothetical JSP 
  code fragment

--------------------------------------------------------------
<c:set name="a">
    <OMOBJ>
        <OMV name="A"/>
    </OMOBJ>
</c:set>

<c:set name="b">
    <OMOBJ>
        <OMV name="B"/>
    </OMOBJ>
</c:set>

Let <inlineequation><c:out name="a"/></inlineequation> and 
    <inlineequation><c:out name="b"/></inlineequation> be 

...

We compute 
<equation>
    <OMOBJ>
        <OMA>
            <OMS cd="arith1" name="plus"/>
            <c:out name="a"/>
            <c:out name="b"/>
        </OMA>
    </OMOBJ>
</equation>
......
-----------------------------------------------------------------

Here a and b are string variables containing the XML encoded openmath objects.
Clearly, in <inlineequation><c:out name="a"/></inlineequation> we get
a "valid" OpenMath object, but in the last expression, involving <c:out name="a"/> 
and <c:out name="b"/> we will have to find a way to get rid of the 
<OMOBJ> in order to get a valid openmath object. This "problem" disappear 
either if we get rid of the <OMOBJ> or if we allow it to appear in more 
than one place in an OpenMath object.  Previous example is very simplistic 
and is easy to get things working but in more realistic example is not 
always easy to get things to work properly.

So, what I'm asking is either to remove <OMBOJ> 
<OMA>
  <OMS cd="arith1" name="plus"/>
  <OMV name="A"/>
  <OMV name="B"/>
</OMA>
or to allow XML enoced objects like the following:
<OMOBJ>
	<OMA>
            <OMS cd="arith1" name="plus"/>
            <OMOBJ>
		<OMV name="A"/>
	    </OMOBJ>
            <OMOBJ>
		<OMV name="B"/>
	    </OMOBJ>
	</OMA>
</OMOBJ>
I would favor the first "solution". 

Best regards,

Ernesto Reinaldo Barreiro.
--
om at openmath.org  -  general discussion on OpenMath
Post public announcements to om-announce at openmath.org
Automatic list maintenance software at majordomo at openmath.org
Mail om-owner at openmath.org for assistance with any problems



More information about the Om mailing list