Skip to content

Parses OData metadata.xml documents into Rust types

Notifications You must be signed in to change notification settings

Datavirke/odata-parser-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

odata-parser-rs Release Latest Version Docs

Deserializes OData 3.0 metadata.xml documents.


This is an absolute bare-minimum rough implementation of the EDMX 1.0 format for parsing using serde/quick-xml into a Rust structure.

Since the purpose of this library is only to parse the metadata.xml document provided by the Danish Parliament's OpenData endpoint it does not currently support anything not explicitly used in this document, although adding such functionality is of course welcomed.

Example

Parse an example metadata.xml file, and print all the EntitySets within the default schema.

let edmx = Edmx::from_str(include_str!("my-metadata.xml")).unwrap();
let schema = edmx.default_schema().unwrap();

for entity_set in schema.entity_sets().unwrap() {
  println!("{:#?}", entity_set);
}

Using the test file from the Danish Parliament, you should see output similar to this:

EntitySet {
    name: "Afstemning",
    entity_type: "FT.Domain.Models.Afstemning",
}
EntitySet {
    name: "Afstemningstype",
    entity_type: "FT.Domain.Models.Afstemningstype",
}

(... and so on)

About

Parses OData metadata.xml documents into Rust types

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages