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.
- As per normal, the root document can be validated against either the MIMOSA CCOM XML Schema or BOD XML Schema.
- As the
XML
ValueContent
uses the lax attribute ofXMLAny
, each Attribute that uses theXML
ValueContent
needs to be validated against the appropriate XML Schema.