Expand description
OpenSCENARIO-rs: Rust library for parsing and manipulating OpenSCENARIO files
This library provides a type-safe, serde-based implementation for parsing, manipulating, and generating OpenSCENARIO files in Rust.
§Features
- Type-safe parsing - Full type system for OpenSCENARIO specification
- Parameter support - Handle
${parameter}references with resolution - Validation - Schema validation and semantic checks (with
validationfeature) - Builder pattern - Programmatic scenario construction (with
builderfeature)
§Quick Start
use openscenario_rs::{parse_file, Result, OpenScenarioDocumentType};
fn main() -> Result<()> {
let document = parse_file("scenario.xosc")?;
println!("Author: {}", document.file_header.author.as_literal().unwrap());
match document.document_type() {
OpenScenarioDocumentType::Scenario => {
if let Some(entities) = &document.entities {
println!("Entities: {}", entities.scenario_objects.len());
}
}
OpenScenarioDocumentType::ParameterVariation => {
println!("Parameter variation file");
}
OpenScenarioDocumentType::Catalog => {
println!("Catalog file");
}
OpenScenarioDocumentType::Unknown => {
println!("Unknown document type");
}
}
Ok(())
}Re-exports§
pub use error::Error;pub use error::Result;pub use types::scenario::storyboard::FileHeader;pub use types::scenario::storyboard::OpenScenario;pub use types::scenario::storyboard::OpenScenarioDocumentType;pub use types::scenario::storyboard::ScenarioDefinition;pub use parser::xml::parse_catalog_from_file;pub use parser::xml::parse_catalog_from_str;pub use parser::xml::parse_from_file;pub use parser::xml::parse_from_str;pub use parser::xml::serialize_catalog_to_file;pub use parser::xml::serialize_catalog_to_string;pub use parser::xml::serialize_to_file;pub use parser::xml::serialize_to_string;pub use parser::choice_groups::parse_choice_group;pub use parser::choice_groups::ChoiceGroupParser;pub use parser::choice_groups::ChoiceGroupRegistry;pub use parser::choice_groups::XsdChoiceGroup;pub use expression::evaluate_expression;pub use catalog::CatalogLoader;pub use catalog::CatalogManager;pub use catalog::CatalogResolver;pub use catalog::ParameterSubstitutionEngine;pub use catalog::ResolvedCatalog;
Modules§
- catalog
- Catalog system for OpenSCENARIO
- error
- Error types and error handling for the OpenSCENARIO library
- expression
- OpenSCENARIO expression parsing and evaluation engine
- parser
- XML parsing and deserialization for OpenSCENARIO documents
- types
- OpenSCENARIO type system
Functions§
- parse_
catalog_ file - Parse a catalog file from the filesystem
- parse_
catalog_ str - Parse a catalog document from a string
- parse_
file - Parse an OpenSCENARIO file from the filesystem
- parse_
str - Parse an OpenSCENARIO document from a string
- serialize_
str - Serialize an OpenSCENARIO document to XML string