UnitsML is a project underway at the (US) National Institute of Standards and Technology (NIST) to develop a schema for encoding scientific units of measure in XML. UnitsML allows encoding of scientific units of measure and quantities into XML and will validate XML documents that use UnitsML. Initial development of this schema was done at NIST, but completion of the development process should include input from the international scientific and engineering community.

Towards this end, NIST is initiating an OASIS Technical Committee to address any needed changes in the schema and publish a final recommendation. (See: http://unitsml.nist.gov/)

As OntoML does not cover units and quantities to the extent that is required within ECLASS XML 1.0, an additional format named unitsML is included.

XML Schema is here:


Figure 1: UnitsML – XML Schema

Below an example record of two units, quantity and dimension (which can be converted):


<?xml version="1.0" encoding="UTF-8" ?> 
-<UnitsML:UnitsML xmlns:UnitsML="'''urn:oasis:names:tc:unitsml:schema:xsd:UnitsMLSchema-1.0'''" 
xmlns:xsi="[http://www.w3.org/2001/XMLSchema-instance]" xsi:schemaLocation="urn:oasis:names:tc:unitsml:schema:xsd:
UnitsMLSchema-1.0 UnitsML-v1.0-csd02.xsd">

 - <UnitsML:UnitSet>/
 - <UnitsML:Unit dimensionURL="/'''0173-1#Z2-AAA034#001'''" xml:id="'''id0173-1x05-AAA480x002'''">
 <UnitsML:UnitName>mm</UnitsML:UnitName> />
 <UnitsML:UnitSymbol type="</'''mm'''" /> 
 <UnitsML:CodeListValue codeListName="/'''IRDI'''" unitCodeValue="'''0173-1#05-AAA480#002'''" /> 
 <UnitsML:CodeListValue codeListName="/'''SI code'''" unitCodeValue="'''mm'''" /> 
 <UnitsML:CodeListValue codeListName="/'''DIN code'''" unitCodeValue="'''mm'''" /> 
 <UnitsML:CodeListValue codeListName="/'''ECE code'''" unitCodeValue="'''MMT'''" /> 
 - <UnitsML:Conversions>
 - <!--


Element for providing factors for a conversion equation from another unit; y = d + ((b / c) (x + a)). 
Note: The related "conversion to" equation is a simple inversion of the above equation; i.e., x = ((c / b) (y - d)) - a 

multiplicand - Number by which to multiply sum of initial addend and initial value [factor 'b' in equation].
divisor - Divisor to be applied to the value at the same time as the multiplicand [factor 'c' in equation].
finalAddend - Number to be added at the end of the conversion [factor 'd' in equation].
initialAddend - Number to be added at the start of the conversion (prior to multiplication or division) [factor 'a' in equation].


<UnitsML:Float64ConversionFrom initialUnit="</nowiki>'''m'''" divisor="'''1.0'''" multiplicand="'''0.0010'''" xml:
id="'''AAA480-to-AAA551'''" /> 
<UnitsML:QuantityReference xml:lang="</'''en-US'''" name="'''distance'''" url="'''0173-1#Z4-BAJ199#001'''" /> 
<UnitsML:UnitDefinition xml:lang="</'''de-DE'''">0,001-faches der SI-Basiseinheit Meter</UnitsML:UnitDefinition> 
<UnitsML:UnitDefinition xml:lang="</'''en-US'''">0,001 fold of the SI base unit metre</UnitsML:UnitDefinition>


 -<UnitsML:Unit dimensionURL="</'''0173-1#Z2-AAA034#001'''" xml:id="'''id0173-1x05-AAA551x002'''">
<UnitsML:UnitSymbol type="</'''m'''" /> 
<UnitsML:CodeListValue codeListName="</'''IRDI'''" unitCodeValue="'''0173-1#05-AAA551#002'''" /> 
<UnitsML:CodeListValue codeListName="</'''SI code'''" unitCodeValue="'''m'''" /> 
<UnitsML:CodeListValue codeListName="</'''DIN code'''" unitCodeValue="'''m'''" /> 
<UnitsML:CodeListValue codeListName="</'''ECE code'''" unitCodeValue="'''MTR'''" />


<UnitsML:Float64ConversionFrom initialUnit="</'''m'''" divisor="'''1.0'''" multiplicand="'''1.0'''" xml:
id="'''AAA551-to-AAA551'''" /> 
<UnitsML:QuantityReference xml:lang="</'''en-US'''" name="'''distance'''" url="'''0173-1#Z4-BAJ199#001'''" /> 
<UnitsML:UnitDefinition xml:lang="</'''de-DE'''">Länge der Strecke, die Licht im Vakuum während der Dauer von (1/299 792 458)
Sekunden durchläuft</UnitsML:UnitDefinition>
<UnitsML:UnitDefinition xml:lang="</'''en-US'''">length of the path travelled by light in vacuum during a time interval of 
1/299 792 458 of a second</UnitsML:UnitDefinition>


 -<UnitsML:Quantity dimensionURL="</'''0173-1#Z2-AAA034#001'''" xml:id="'''id0173-1xZ4-BAJ199x001'''">
<UnitsML:QuantityName xml:lang="</'''de-DE'''">Abstand</UnitsML:QuantityName> 
<UnitsML:QuantityName xml:lang="</'''en-US'''">distance</UnitsML:QuantityName> 
<UnitsML:QuantitySymbol type="</'''IRDI'''">0173-1#Z4-BAJ199#001</UnitsML:QuantitySymbol> 
<UnitsML:UnitReference xml:lang="</'''en-US'''" name="'''metre'''" url="'''0173-1#05-AAA551#002'''" /> 
<UnitsML:UnitReference xml:lang="</'''en-US'''" name="'''millimetre'''" url="'''0173-1#05-AAA480#002'''" /> 
<UnitsML:QuantityDefinition xml:lang="</'''de-DE'''">räumliche Entfernung zwischen zwei Punkten, wobei die Entfernung 
zwischen diesen beiden Punkten durch eine meist implizit im Namen enthaltene Messvorschrift vorgegeben 
<UnitsML:QuantityDefinition xml:lang="'''en-US''' space between two points, where the space between the two points is 
defined by a measuring requirement usually included implicitly in the name</UnitsML:QuantityDefinition>


-<UnitsML:Dimension xml:id="'''id0173-1xZ2-AAA034x001'''">
<UnitsML:Length powerNumerator="'''1'''" />