API types

The World of Warcraft API is constructed in lua, with an accompanying XML definition, in which everything is either a basic type, function or table. Tables are flexible objects that the API uses to define rather distinct WoW-specific "complex" types.

Lua
Lua variables are not formally assigned a type, but rather dynamically become a type when a value is assigned. World of Warcraft uses seven basic types from Lua.

XML
Although XML has 19 primitive data types, FrameXML only uses five corresponding to Lua types:

Complex World of Warcraft API Data Types
The API encodes several complex information using tables and strings. Although these objects are merely instances of the basic types, their utility comes from how the information is encoded. Wowpedia's API documentation treates these as complex types even though there is no such official term. These may be further categorized as below: