w3c xml schema has a rich "simple type" system built-in (xs:number, xs:date, etc., plus derivation of custom types), while relax ng has an extremely simplistic one because it is meant to use type libraries developed independently of relax ng, rather than grow its own. this is seen by some as a disadvantage. in practice it is common for a relax ng schema to use the predefined "simple types" and "restrictions" (pattern, maxlength, etc.) of w3c xml schema.