Routing API Developer's Guide

xs:sequence

A schema can define elements which can appear more than once. The following example defines an element named "Bar" which can be included n times.

<xs:element name="Bar" type="xs:string" maxOccurs="unbounded"/>

A valid instantiation of the "Bar" element would be

<Bar>ABC</Bar><Bar>DEF</Bar><Bar>GHI</Bar>

Element sequences are described in all API documentations with an "[]" as suffix like this:

Bar [] sequence of strings

In representation formats other than XML, listing the same element more than once is inconvenient, so a standard representation format for sequences is defined for each representation format below.

Query Parameter Representation

In query strings, items of list types are separated by one of the following characters:

"," (comma) is used at top level
<Bar[0]> + "," + <Bar[1]> + "," + <Bar[2]> + "," + …
  ";" (semicolon) is used at second level, or if comma is already used in the representation of the list items
<Bar[0]> + ";" + <Bar[1]> + ";" + <Bar[2]> + ";" + …
"!" (exclamation point) is used at third level, or if comma and semicolon are already used in the representation of the list items
<Bar[0]> + "!" + <Bar[1]> + "!" + <Bar[2]> + "!" + …

When applying this rule to the above example, the result would be: ABC,DEF,GHI

The following syntax is introduced as shortcut to represent element sequences:

<Bar[]>
Note: list types and element sequences are represented in the same manner. See also xs:list)

JSON Representation

Element sequences will be represented as arrays:

[<list[0]>, <list[1]>, <list[2]>,…]