cim 0.3.6

CDS Implementation generation by a Metadata document
Documentation
mod metadata;
mod xml_tags;

use clap::Parser;
use std::error::Error;
use xml_tags::xml_rs::XmlTagParser;

#[derive(Parser)]
#[clap(author, version, about, long_about = None)]
pub struct Args {
  #[clap(help = "Metadata file path")]
  pub path: String,
}

pub fn run(args: Args) -> Result<String, Box<dyn Error>> {
  let path = args.path;
  let tag_parser = XmlTagParser::from_file(path)?;
  let mut parser = metadata::Parser::new(Box::new(tag_parser));
  let cds = parser.parse()?;
  Ok(cds)
}