namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" projects = element projects { attlist.projects, project* } attlist.projects &= empty # A project (identified by email address) project = element project { attlist.project, email, name, url, description, subproject*, member* } attlist.project &= empty # Contact e-mail address of a project or a project member email = element email { attlist.email, text } attlist.email &= empty # Name of a project or a project member name = element name { attlist.name, text } attlist.name &= empty # URL of the project homepage url = element url { attlist.url, text } attlist.url &= empty # Description of the project description = element description { attlist.description, text } attlist.description &= empty # Project member member = element member { attlist.member, email, name, role } # is-lead="1" indicates that the member is the project's lead attlist.member &= [ a:defaultValue = "0" ] attribute is-lead { "0" | "1" }? # Project member role role = element role { attlist.role, text } attlist.role &= empty # Subproject of a project subproject = element subproject { attlist.subproject, text } # inherit-members="1" indicates that the project inherits members # from the subproject # ref="" references the subproject by the contact e-mail address attlist.subproject &= [ a:defaultValue = "0" ] attribute inherit-members { "0" | "1" }?, attribute ref { text } start = projects