HydraExpress defines a collection as an element that has a maxOccurs attribute greater than 1 or an element that has a minOccurs attribute greater than 1 and no maxOccurs attribute. HydraExpress represents a collection as a std::vector specialized on the type of the element. Note that the marshal function does not enforce minOccurs and maxOccurs constraints on a collection.