default namespace = "http://www.iana.org/assignments" registryMeta = attribute id { xsd:ID } & element title { text }? & element created { genericDate }? & element updated { xsd:date }? & element registration_rule { text_with_references }? & element description { text_with_references }? & element note { text_with_references }? & references people = element people { element person { attribute id { xsd:ID }, element name { text }, element org { text }?, element uri { xsd:anyURI }, element updated { genericDate }? }* } xref = element xref { attribute lastupdated { genericDate }?, ((attribute type { "uri" }, attribute data { xsd:anyURI }) | (attribute type { "rfc" }, attribute data { xsd:string { pattern = "(rfc|bcp|std)\d+" } }) | (attribute type { "draft" }, attribute data { xsd:string { pattern = "(draft|RFC)(-[a-zA-Z0-9]+)+" } }) | (attribute type { "registry" }, attribute data { xsd:NCName }) | (attribute type { "person" }, attribute data { xsd:NCName }) | attribute type { "text" } | (attribute type { "note" }, attribute data { xsd:positiveInteger })), text } references = xref* text_with_references = (text, xref?)* genericRange = xsd:string { pattern = "(\d+|0x[\da-fA-F]+)(-(\d+|0x[\da-fA-F]+))?" } genericDate = xsd:date | xsd:gYearMonth footnotes = element footnote { attribute anchor { xsd:positiveInteger }, ((text, xref?)*) }*