# ********************************************* # # Relax NG Schema for OpenMath CD # # ********************************************* default namespace = "http://www.openmath.org/OpenMathCD" include "openmath2.rnc" {start = CD} CDComment = element CDComment { text } CDName = element CDName { xsd:NCName } CDUses = element CDUses { CDName* } CDURL = element CDURL { xsd:anyURI } CDBase = element CDBase { xsd:anyURI } text-or-om = (text | OMOBJ)* CDReviewDate = element CDReviewDate { xsd:date } CDDate = element CDDate { xsd:date } CDVersion = element CDVersion { xsd:nonNegativeInteger } CDRevision = element CDRevision { xsd:nonNegativeInteger } CDStatus = element CDStatus { "official" | "experimental" | "private" | "obsolete"} Description = element Description { text } Name = element Name { xsd:NCName } Role = element Role { "binder" | "attribution" | "semantic-attribution" | "error" | "application" | "constant" } CMP = element CMP { text } FMP = element FMP { attribute kind {xsd:string}?, OMOBJ } # allow embedded OM Example = element Example { text-or-om } CDDefinition = element CDDefinition { CDComment*, (Name & Role? & Description), (CDComment | Example | FMP | CMP)* } CD = element CD { (CDComment* & Description? & CDName & CDURL? & CDBase? & CDReviewDate? & CDDate & CDStatus & CDUses? & CDVersion & CDRevision), ( CDDefinition,CDComment* )+ }