staffingNeeds = element staffingNeeds { attlist.staffingNeeds, needed* } attlist.staffingNeeds &= empty needed = element needed { attlist.needed, summary, contact, description } attlist.needed &= empty summary = element summary { attlist.summary, text } # If unset, treated as '0'. attlist.summary &= attribute priority { text }? # Should be in RFC-2822. attlist.summary &= attribute dateRequested { text } contact = element contact { attlist.contact, text } # Makes a link called "Joe Bloggs", for example rather than jbloggs@... attlist.contact &= attribute name { text }? # If set to not "" then the string is formatted to "the ... herd" attlist.contact &= attribute herd { text }? # If set to not "" then the string is formatted to "the ... team" attlist.contact &= attribute team { text }? description = element description { attlist.description, (text | uri)* } attlist.description &= empty uri = element uri { attlist.uri, text } attlist.uri &= attribute link { text }? start = staffingNeeds