Complex Attributes
A complex attribute may be composed of one or more sub-attributes listed below. To add a complex attribute record to a location, you must include the <ComplexAttribute> tag, the Name or ID of the complex attribute, as well as the <SubAttribute> tag with the Name or ID and the matching value type tag for each sub-attribute. To add multiple records of the same complex attribute, include a separate <ComplexAttribute> tag for each record. You may import an unlimited number of records for the same complex attribute.
The different types of sub attributes are as follows:
Text - limited to 255 characters
Memo - for large blocks of text - no limit
Numeric - integer values ranging from -2,147,483,648 to 2147483647
Yes/No - a boolean value represented by true or false
Drop Down - a single selection droplist
Radio Group - a group of values represented by radio buttons allowing one selection
Checkbox Group - a group of values represented by checkboxes allowing multiple selections
Link - a URL and associated display text
Photo - accepts an image URL with file extensions BMP, GIF, JPEG, or PNG
Category - accepts category ID and category name
Location - accepts a Bullseye location
Text Lookup - a single selection droplist
PDF - a URL and associated display text
Video - accepts a title description, url and an optional thumbnail image
The section of the XML Schema for complex attributes is:
<xs:sequence>
<xs:element name="ComplexAttribute" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Name" type="xs:string" minOccurs="0" />
<xs:element name="ID" type="xs:int" minOccurs="0" />
<xs:sequence>
<xs:element name="SubAttribute" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Name" type="xs:string" minOccurs="0" />
<xs:element name="ID" type="xs:int" minOccurs="0" />
<xs:element name="ValueBoolean" type="xs:boolean" minOccurs="0" />
<xs:element name="ValueString" type="xs:string" minOccurs="0" />
<xs:element name="ValueInteger" type="xs:int" minOccurs="0" />
<xs:element name="ValueOptionID" type="xs:int" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="ValueOptionText" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="ValueLinkURL" type="xs:string" minOccurs="0" />
<xs:element name="ValueLinkDisplayText" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>The following tags map to the different types of sub-attributes:
ValueBoolean - Yes/No
ValueString - Photo, Text & Memo
ValueInteger - Numeric & Location
ValueOptionID OR ValueOptionText - Drop Down, Radio Group, Checkbox Group, Text Lookup & Category
ValueLinkURL AND ValueLinkDisplayText - Link, PDF & Video
You should only use the tag(s) which apply to the sub-attribute type for each entry.
Updated 4 months ago