MaXML Architecture

From IMSMA Wiki
Revision as of 13:39, 12 June 2017 by Alnaucler (talk | contribs) (Created page with "As the elements in the maXML schema share many components, best practices have indicated that implementing a modular design approach benefits the designers by maximizing re-us...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

As the elements in the maXML schema share many components, best practices have indicated that implementing a modular design approach benefits the designers by maximizing re-use of frequently declared groups of elements. The maXML architecture strives to take advantage of the efficiencies of re-use and has implemented a Venetian Blind schema design. The Venetian Blind design is characterized by the following:

  • uses type definitions as the main form of component re-use
  • nests element declarations within type definitions
  • maximizes potential to hide namespace complexities

The Venetian Blind approach steers away from rigid hierarchical models where-in designers create new subclasses to accommodate further requirements, and link these to ever-increasingly complex tree types. The Venetian Blind approach favours elements and types that are loosely connected to a common root. The components are stand-alone and can be understood, developed, and modified independently.

MaXML uses eight artifacts that are built from complex and simple types in accordance with the Venetian Blind Design as defined above.

MaXML consists of one schema file containing the whole specification for the language. maXML builds on definitions of a number of types in order to ensure re-usability. The types are then used to build Artifacts. The Artifacts are structured to contain different parts of the information contained in IMSMANG. The MineActionFieldReport Artifact contains information from different types of Data Entry Forms in IMSMANG while the other Artifacts contain different types of Auxiliary data. This architecture ensures maximum re-usability of commonly used data structures.