default namespace = "http://download.research.icann.org/rdns/1.1" # A document may either be a single zone (update) or a collection of zones (view) start = zone | zonelist | zonereflist # A list of zone names for view only. zonereflist = element zonereflist { attribute version { xsd:decimal { minInclusive="1.1" fractionDigits="1" } }, zoneref* } # A bulk list of zones for view only. zonelist = element zonelist { attribute version { xsd:decimal { minInclusive="1.1" fractionDigits="1" } }, zone* } # A zone reference (accepted by REST engine for query) zoneref = element zoneref { attribute name { text }, attribute href { xsd:anyURI } } # A single zone record zone = element zone { # The zone record's name, eg 10.in-addr.arpa attribute name { text }, # The customer optional, derived from known state. eg ARIN attribute cust { text }?, # The canonical URL for this zone record (optional) attribute href { xsd:anyURI }?, # The address space for the zone record (optional) attribute ipversion { "ipv4" | "ipv6" }?, # The state of the zone (optional) attribute state { "active" | "pending" | "error" }?, # The last modified timestamp in UTC (optional) attribute modified { xsd:dateTime }?, # The schema version (optional) attribute version { xsd:decimal { minInclusive="1.1" fractionDigits="1" } }?, # A zone NS RRset must have at least two NS records nserver, nserver+, # It may contain some DS records ds* } # DNS-SEC records ds = element ds { # rdata must contain | | | # as per RFC 4034 # element rdata { text } } # A single name server nserver = element nserver { # An nserver entry must contain a DNS FQDN name for a NS RR (RFC 1035) element fqdn { text } }