Common Elements

All of the common elements used within this specification are described in this Document. Common elements include the data types, and their properties used in this specificaiton.

Cardinality

All the variables in the specification will have a cardinality. The cardinality attribute defines the number of values allowed for the variable and whether the variables are ordered.

Supported types of cardinality are:

  • single: only one value is allowed for the variable

  • multiple: one or more values are allowed for the variable

  • ordered: ordered list of values are allowed for the variable

Data Types

string

String data types should be used to represent string literal values.

integer

Integer data types should be used to represent numbers without a fractional part.

float

Float data types should be used to represent numbers with a fractional part.

boolean

Boolean data types should be used to represent values with two states: true or false.

uri

URI data types should be used to represent Uniform Resource Identifier (URI) reference values.

map

Map data type should be used for variables whose values are key-value pairs. Map is a non-primitive data type with the following attributes.

Attribute

Schema

Description

key

dataType: string, required: true

a map cannot contain duplicate keys and each key can map at most one value

value

dataType: any, required: false, defaultValue: NULL

value can be of any other data type defined in QuML. value is optional and is by default set to NULL, if not provided

coordinate

Coordinate data type should be used to represent coordinates (x and y) of a single point in a canvas.

Attribute

Schema

Description

x

dataType: float, required: true

x-coordinate value of the point

y

dataType: float, required: true

y-coordinate value of the point

points

Points data type should be used for variables whose values represent an area on a canvas. Points are made up of a shape and the coordinates that define the boundary of the area.

Attribute

Schema

Description

shape

dataType: string, required: true, range: “point”, “circle”, “ellipse”, “poly”, “rect”

represents the shape of points. it must be equal one of the predefined values defined in the range

coordinates

dataType: list of coordinate objects, required: true

Coordinates should have at least one coordinate object. The number of coordinates depend on the shape.

media

Media data type should be used for representing a single media file. Media are re-usable to create assets which are used in questions and/or tests.

Attribute

Schema

Description

id

dataType: string, required: true

identifier of the media object

mimeType

dataType: string, required: true

technical mime type of the asset used by QuML players to understand the format of the asset. Supported types are image/png, audio/mp3, video/mp4, and video/webm

mediaType

dataType: string, required: true

type of the asset. this should be auto-derived from the mimeType value, current supported types are image, audio and video

src

dataType: string, required: true

path of the media file. QuML players will use this value to load all the media used in a question/test

baseUrl

dataType: string, required: false

baseUrl of the server where the media is stored. Base URL can be used by QuML players to load media in a browser without CORS issues. this is achieved by QuML server proxying path to the provided base url.

Last updated