<xsd:complexType name="infomlType"><xsd:sequence><!-- data: contains content, agent, container, and location --><xsd:element name="data" type="contentAgentContainerLocationType" minOccurs="0"/><xsd:element name="selectors" minOccurs="0" type="selectorsType"/><xsd:element name="properties" type="propertiesType" minOccurs="0"/><!-- comment-on: this infocard "belongs to" all the infocards pointed to by this --><xsd:element name="commentOn" type="pointersType" minOccurs="0"/><!-- ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ --><!-- elements added by developer --><xsd:element name="dvprNotes" type="richTextWithOwnerType" minOccurs="0" maxOccurs="unbounded"/><xsd:element name="dvprPointers" type="extendedPointersWithOwnerType" minOccurs="0" maxOccurs="unbounded"/><xsd:element name="dvprXml" type="anyWithOwnerType" minOccurs="0" maxOccurs="unbounded"/><!-- ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ --><!-- elements added by user --><xsd:element name="userNotes" type="richTextWithOwnerType" minOccurs="0" maxOccurs="unbounded"/><xsd:element name="userPointers" type="extendedPointersWithOwnerType" minOccurs="0" maxOccurs="unbounded"/></xsd:sequence><!-- cardId: this is an ID attribute whose value is an infoRI string --><xsd:attribute name="cardId" type="idInfoRIType" use="required"/><!-- encoding: string identifying character set used --><xsd:attribute name="encoding" type="nonnullTokenType" use="required"/><xsd:attribute name="version" type="versionType" use="required"/><!-- based-on: points to infocard that current infocard is based on --><xsd:attribute name="basedOn" type="infoRIType" use="optional"/><!-- treatPointersAs: if value is "contents", treat as if contents of current icard
are equivalent to concatenation of contents of all cards pointed to, as influenced
by sameParaAsPrevious attribute; if value is "pointers", treat pointers normally .--><xsd:attribute name="treatPointersAs" type="treatPointersType" default="pointers"/><!-- --></xsd:complexType>