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.
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
String data types should be used to represent string literal values.
Integer data types should be used to represent numbers without a fractional part.
Float data types should be used to represent numbers with a fractional part.
Boolean data types should be used to represent values with two states: true or false.
URI data types should be used to represent Uniform Resource Identifier (URI) reference values.
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 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 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 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 modified 1yr ago