Definition 1:
A primitive datatype are those which are not defined in terms of other datatypes (i.e. ab initio).
Definition 2:
A derived datatype are those defined in terms of other datatypes.
Primitive types: string, boolean, decimal, float, double, duration, dateTime, time, date, gYearMonth, gYear, gMonthDay, gDay, gMonth, hexBinary, base64Binary, anyURI, QName, NOTATION