Personal tools
  • We're Hiring!

You are here: Home Documentation Previous versions OME Server Developer XML Schemas


The OME-XML Schemas in the OME Server

Note: The OME Server data model is based on the XML Schema Pre July 2007.
The documentation in this section is for working with the OME Server.

For OMERO or current OME-XML/OME-TIFF this is not correct. The concepts are the same but the details differ. See

OME makes extensive use of XML to represent the information it keeps track of. Not only does OME use XML as an external file format for representing this information, it also uses XML to define the kinds of information OME keeps track of, as well as how this information is generated, and where it comes from.

In July 2007 information about the ongoing development of the OME-XML data model was moved to and this site can now be used obtain the latest developer information. Users can add work tickets to the system detailing any changes they feel should be made. The site also contains details of the changes made for the June 2007 release.

The structure of OME-XML documents is defined using the XML Schema language. There are several schemas used by OME, and most of them can be used independently of each other:

Some of these documents contain diagrams in the SVG vector graphics format. If your Web browser doesn't contain native SVG support, Adobe publishes a free SVG plugin for the most common platforms.

  • OME-XML - The main schema which defines the OME ontology for microscopy. This schema makes use of all of the others. See Sample.ome for a simple example document.
  • CA - The schema that defines CustomAttributes. This schema can be used to represent the same information as OME-XML, but in a highly flattened form that uses references instead of a nesting structure. Unlike the OME schema, information contained in CA documents must first be defined as SemanticTypes. The CA schema is the one that the OME back-end deals with directly. OME-XML documents are read and generated by the back-end using XSLT transforms. There are XSLT style-sheets that convert from OME-XML to CA, and from CA to OME-XML.
  • STD - The Semantic Type definition schema. This schema governs how Semantic Types are defined in XML. See OME Core Types for example documents. Once a Semantic Type is defined, data for the defined type can be imported into OME using the <CustomAttributes> elements in the OME and CA schemas.
  • AML - The Analysis Module Library schema. This schema governs how analysis modules are defined in XML. Analysis modules are image analysis algorithms or, more generally, how information is generated in OME.
    The Analysis module schema makes use of two sub-schemas to define how modules are executed. These schemas are used in the <ExecutionInstructions> element of the AML schema.
    • CLI - The Command Line Interface schema is used to specify execution instructions for modules implemented as command-line programs.
    • MLI - The Matlab Interface schema is used to specify execution instructions for modules implemented in matlab.
    • Modules can also be Perl classes which are loaded by the back-end directly, and don't require execution instructions. See documentation for OME::Analysis::Handler. Examples of these kinds of modules can be found in the OME/src/perl2/Analysis/Modules/ directory of the source distribution.
  • Analysis Chains - The Analysis Chain schema. This schema governs how analysis chains are defined in XML. Analysis chains are how module outputs are connected to inputs of other modules. These chains can be linear or with arbitrarily complex branching. Technically, analysis chains are acyclic directed graphs (DAGs).
  • Data History - The Data History schema. Data history describes the data dependency in OME. Similarly to Analysis Chains, a data history can be a linear or arbitrarily branched data dependency, and is also technically an acyclic directed graph.

OME-XML documents can be validated using the W3C Schema validator

Document Actions