<xs:complexType name="ContactComplexType">
<xs:annotation>
<xs:documentation>Contains all of the information associated with a single user (person or institution). Reasonably, only a single <TimeAllocation> is allowed, since otherwise how will a server know what to charge?</xs:documentation>
</xs:annotation>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Username" type="UsernameComplexType"/>
<xs:choice>
<xs:element name="Name" type="xs:string"/>
<xs:choice minOccurs="2" maxOccurs="2">
<xs:element name="LastName" type="xs:string"/>
<xs:element name="FirstName" type="xs:string"/>
</xs:choice>
</xs:choice>
<xs:element name="Communication" type="CommunicationComplexType"/>
<xs:element name="Institution" type="InstitutionComplexType"/>
<xs:element name="TimeAllocation" type="TimeAllocationComplexType"/>
<xs:any namespace="##other" processContents="strict"/>
</xs:choice>
<xs:attribute name="principalInvestigator" type="xs:boolean" default="false"/>
<xs:attribute name="principalContact" type="xs:boolean" default="false"/>
<xs:attributeGroup ref="RTMLAttributes"/>
</xs:complexType> |