MSE is the generic file format used for import-export in Moose. Similar to XML, MSE is generic and can describe any model. A specification is available at http://scg.unibe.ch/wiki/projects/fame/mse.
MSE is built as part of the Fame project.
The below grammar uses the following notation:
Root := Document ? Document := OPEN ElementNode * CLOSE ElementNode := OPEN ELEMENTNAME Serial ? AttributeNode * CLOSE Serial := OPEN ID INTEGER CLOSE AttributeNode := OPEN SIMPLENAME ValueNode * CLOSE ValueNode := Primitive | Reference | ElementNode Primitive := STRING | NUMBER | Boolean Boolean := TRUE | FALSE Reference := IntegerReference | NameReference IntegerReference := OPEN REF INTEGER CLOSE NameReference := OPEN REF ELEMENTNAME CLOSE
OPEN := "("
CLOSE := ")"
ID := "id:"
REF := "ref:"
TRUE := "true"
FALSE := "false"
ELEMENTNAME := letter ( letter | digit ) * ( "." letter ( letter | digit ) * )
SIMPLENAME := letter ( letter | digit ) *
INTEGER := digit +
NUMBER := "-" ? digit + ( "." digit + ) ? ( ( "e" | "E" ) ( "-" | "+" ) ? digit + ) ?
STRING := ( "'" [^'] * "'" ) +digit := [0-9] letter := [a-zA-Z_] comment := """ [^"] * """
Please note that all MSE files must use UTF-8 encoding.