fmi-schema 0.6.0

XML schema support for FMI 2.0 and 3.0
Documentation

fmi-schema

XML schema support for FMI 2.0 and 3.0. This crate is part of rust-fmi.

The reference XSI can be found at https://fmi-standard.org/downloads.

Determining the FMI version

FMI 2.0 and 3.0 have different XML schemas.

The FMI version can initially be determined in a non-specific way by using [minimal::MinModelDescription].

Example

The [traits::FmiModelDescription] trait is implemented for both FMI2 and FMI3, and has serialize/deserialize methods.

#[cfg(feature = "fmi3")]
{
  // deserialize an XML string into a model:
  let xml = std::fs::read_to_string("tests/FMI3.xml").unwrap();
  let model: fmi_schema::fmi3::Fmi3ModelDescription = fmi_schema::deserialize(xml.as_str()).unwrap();
  // now serialize it back again:
  let xml = fmi_schema::serialize(&model, false).unwrap();
}

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.