An
xsd:list
type is used to model a space-separated list of
values of a given type. This type is mapped to a linked-list type if
its length is unbounded, or an array type if its length is bounded. The
built-in
OSRTDList
type (run-time doubly linked list) is the type
used for repeating sequences such as this. This list type can be used
with the
rtxDListrun-time functions for
building and manipulating lists. See the
Doubly-Linked List Utility
Functionssection for more details.
In the case of C++, the built-in OSRTDListClassor OSRTObjListClasstype is used. These classes extend the C OSRTDList structure and add constructors and methods for adding, finding, and removing items from the list. The generated C++ code contains overloaded versions of these methods that correspond to the specific type of the element within the list.
The general C and C++ mapping for an XSD list type is as follows: