Strings can be of arbitrary length and must not contain embedded nulls. To facilitate the inclusion of control characters in strings, the element can contain elements. For example, represents the form feed character. For the purposes of successful data encoding and translation the elements and must be used to encode newline and carriage return characters when they should be preserved in the deserialized string. Note that Section 2.11 of the XML 1.0 specification requires XML processors to translate all occurences of carriage returns and the carriage return, newline combination to a single newline character.
Arrays are integer-indexed collections of objects of arbitrary type.
The starting index value is usually 0 with the notable exception of CFML whose arrays have an initial index value of 1. Because of these differences working with array indices can lead to non-portable data. Structures are string-indexed collections of object of arbitrary type. In many languages they are known as associative arrays. Structures contain one or more variables.