One of the principles that guides the development of MIMOSA CCOM is to capitalize on the work that other standards bodies and industry groups produce. This is particularly significant as these other groups will have specialized domain expertise that MIMOSA does not want to reinvent.

As such, MIMOSA CCOM supports the ability attribute objects with XML constructs that use XML Schemas other than the MIMOSA CCOM XML Schema. Examples of these XML constructs include:

  • SVG for representing vector diagrams such as an asset component diagram
  • MathML for representing mathematical equations
  • HDF5 for representing multidimensional data such as pump curves

This is physically accomplished through the use of the XML ValueContent, which uses the XML Schema XMLAny type. For example, the XML example below demonstrates associating a MathML equation with an asset. An appropriate AttributeType must be identified whose Value is set to XML.

<CCOMData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://www.mimosa.org/ccom4">
  <Entity xsi:type="AttributeType">
    <UUID>5734d8d1-ccdf-4d30-b9df-8e63133037e6</UUID>
    <ShortName>Calculation, MathML</ShortName>
    <ValueClass>XML</ValueClass>
  </Entity>
  <Entity xsi:type="Asset">
    <UUID>9de26298-a726-459e-b916-75a8664869b3</UUID>
    <Attribute>
      <UUID>5ca3c689-a8ee-408a-b2c3-34de52087ee2</UUID>
      <Type>
        <UUID>5734d8d1-ccdf-4d30-b9df-8e63133037e6</UUID>
        <ShortName>Calculation, MathML</ShortName>
      </Type>
      <ValueContent>
        <XML format="MathML">
          <math xmlns="http://www.w3.org/1998/Math/MathML">
            <mrow>
              <msup>
                <mfenced>
                  <mrow>
                    <mi>a</mi>
                    <mo>+</mo>
                    <mi>b</mi>
                  </mrow>
                </mfenced>
                <mn>2</mn>
              </msup>
            </mrow>
          </math>
        </XML>
      </ValueContent>
    </Attribute>
    <ShortName>8797234</ShortName>
  </Entity>
</CCOMData>

When undertaking XML Schema validation with XML documents that use external schemas, this will need to be done in multiple steps.

  1. As per normal, the root document can be validated against either the MIMOSA CCOM XML Schema or BOD XML Schema.
  2. As the XML ValueContent uses the lax attribute of XMLAny, each Attribute that uses the XML ValueContent needs to be validated against the appropriate XML Schema.