> I would suggest attribute tags since you are attempting to
> qualify the
> identifier or number:
>
> <ci units="meter"> x </ci> would be a variable with a meter
> unit that also
> indicates a spatial dimension
>
> <cn units="kg"> 5 </cn> would be a constant value of 5 kg
> indicating a mass.
>
> You could also reverse this scheme by using
>
> <cn dimension="mass"> 5 </cn> to indicate 5 mass units defined by the
> current system notation.
>
> One could also choose from a set of units and have the
> system re-rendered
> with newer units.
> Unit rendering would be an option in an engine and conversion.
>
> 3D orientation and Angle would be calculated qualifiers of
> multicomponent
> variables such as the angle of a vector is determined
> relative to another
> vector or a coordinate system.
>
> Walter T. Stephens, Ph.D.
> Ceramic Engineer
It seems that you are an advocate for the what I presented as
the first proposal(argument) second form, which I repeat here
with my response:
>> Proposal[1]: It has been proposed in the past that a
>> domain could be comprehended
>> simply by including the units along with a quantity.
>> e.g. <cn> 5 * days </cn>
>> or
>> <cn unit="day"> 5 </cn>
>> Response[1]: There is no association with a domain.
>> There is no indication of the dimension.
>> It may be argued that the dimension is
>> inferred by the unit but this is not so.
>> e.g. Kelvin may be either an absolute
>> temperature or a temperature range.
>> It may be tempting to include the
>> dimension as well as the unit.
>> e.g. <cn> 5 * pico-second(distance)</cn>
>> But, creating such a (hard to parse) beast when all the XML
tools are at hand
>> seems silly.
My big idea is related to the relationship between the
mathematical model and the conceptual model.
In other words I have come to believe that
units/dimension has no place in the mathematical construction.
The problem arises when the mathematical model is used to
*represent* something in another domain (geometry, physics, chemistry,...).
I believe that the incorporation of dimension/units is like "putting
legs on a snake" it seems like a good idea a first but...
The question then comes down to,
"How do I cleanly relate/merge two document types together?".
EXAMPLE:
I have a specific case that should be fairly simple to consider
from the domain of physics. Suppose I have two inertial bodies (A,B)
which will be combined together to form a third body (C).
The model for body C simply refers to bodies A & B each with an
appropriate translation vector (P) and rotation matrix (T).
Using as mutch MathML notation as I know how I have
the following three files:
(If someone could help me correct my notation
I would appreciate that as well.)
P.S. Even though it looks long I believe it is really
quite easy to read.
----A.xml--[B.xml is similar]--------
<?xml version="1.0" ?>
- <inertialBody version="0.2">
<name>NG21</name>
- <properties status="prime">
<mass unit="kg"><cn>245.40</cn></mass>
- <center unit="meter">
- <vector>
<cn>102.0</cn>
<cn>33.9</cn>
<cn>-90.4</cn>
</vector>
</center>
- <moment unit="kg-m^2">
- <vector>
<cn>5460.0</cn>
<cn>14770.0</cn>
<cn>13870.0</cn>
</vector>
- <matrix>
- <matrixrow>
<cn>0.9404</cn>
<cn>-0.0521</cn>
<cn>-0.3359</cn>
</matrixrow>
- <matrixrow>
<cn>-0.007</cn>
<cn>0.985</cn>
<cn>-0.1724</cn>
</matrixrow>
- <matrixrow>
<cn>0.3399</cn>
<cn>0.1645</cn>
<cn>0.926</cn>
</matrixrow>
</matrix>
</moment>
</properties>
</inertialBody>
----C.xml--------------
<?xml version="1.0" ?>
- <!-- The Schema for this document is roughly based on MathML -->
- <inertialBody version="0.2">
<name>NG1997</name>
- <!-- These fields are derived from the apply block -->
<properties status="derived" refURI="inertial-summation-servlet">
- <apply>
<plus />
- <cn>
<body refURI="A.xml" />
- <position unit="meter">
- <vector>
<cn>1920.0</cn>
<cn>12.0</cn>
<cn>517.0</cn>
</vector>
</position>
- <orientation>
- <matrix>
- <matrixrow>
<cn>-0.9989</cn>
<cn>0.0</cn>
<cn>-0.0474</cn>
</matrixrow>
- <matrixrow>
<cn>0.0</cn>
<cn>1.0</cn>
<cn>0.0</cn>
</matrixrow>
- <matrixrow>
<cn>0.0474</cn>
<cn>0.0</cn>
<cn>-0.9989</cn>
</matrixrow>
</matrix>
</orientation>
</cn>
<minus />
- <cn>
<body refURI="B.xml" />
- <position unit="meter">
- <vector>
<cn>0.0</cn>
<cn>0.0</cn>
<cn>0.0</cn>
</vector>
</position>
- <orientation>
- <matrix>
- <matrixrow>
<cn>1.0</cn>
<cn>0.0</cn>
<cn>0.0</cn>
</matrixrow>
- <matrixrow>
<cn>0.0</cn>
<cn>1.0</cn>
<cn>0.0</cn>
</matrixrow>
- <matrixrow>
<cn>0.0</cn>
<cn>0.0</cn>
<cn>1.0</cn>
</matrixrow>
</matrix>
</orientation>
</cn>
</apply>
</properties>
</inertialBody>
----End of example---------------
I have also left out the name-spaces although I believe
that the addition of the following namespaces would be helpful.
MathML [http://www.w3.org/TR/REC-xml-names]
Geometry [http://www.w3.org/TR/REC-MathML-geometry]?
This would include <position>,<orientation>
Physics [http://www.w3.org/TR/REC-MathML-physics]?
The rest of the tags.
I still have units on a geometry element, <position>,
but this should illustrate the point sufficiently.
I suppose that much of this has been addressed in the
IGES, and STEP initiatives already.
I will review what they have next.
Thanks.