///|
fn main {
  let source = "$ORIGIN example.\n$TTL 1h\n@ SOA ns hostmaster 1 1h 5m 1w 1h\n@ NS ns\nalias CNAME target\nalias A 192.0.2.1"
  match @zone.parse_zone(source) {
    Err(error) => println(error.code() + ": " + error.message())
    Ok(document) =>
      match @zone.validate_zone(document, @zone.ZonePolicy::standard()) {
        Err(error) => println(error.code() + ": " + error.message())
        Ok(validation) => println(@zone.render_validation_text(validation))
      }
  }
}