Currently this library only supports loading YAML from strings, but this is sufficient for most users’ purposes. We would not recommend an un-streamed processing engine for massive data anyway.
To load some YAML you simply need to:
let node = marked_yaml::parse_yaml(0, r#" toplevel: must be a mapping but: - it - may - contain lists and: mappings: are permitted as: sub-mappings "#); assert!(node.is_ok());
Parsing a valid YAML file may fail because
marked_yaml adds some
- The top level of the YAML MUST be a mapping.
- Mapping keys MUST be scalars (strings).
- Aliases and anchors MAY NOT be used (though this limit may be lifted in the future).
In addition, you can convert between
though doing so will not give you any useful markers.
pub use loader::parse_yaml;
pub use loader::LoadError;
pub use types::Marker;
pub use types::Node;
pub use types::Span;