though relax ng's ability to support user-defined data types is useful, it comes at the disadvantage of only having two data types that the user can rely upon. which, in theory, means that using a relax ng schema across multiple validators requires either providing those user-defined data types to that validator or using only the two basic types. in practice, however, most relax ng processors support the w3c xml schema set of data types.