RELAX NG (RELAX Next Generation) é uma linguagem de marcação XML deliberadamente simples e direta para dados de metadocumentos, também conhecidos como esquemas, desenvolvidos em resposta ao padrão W3C XML Schema. Enquanto o XML Schema tem a reputação de ser convoluto e verboso, o RELAX NG é fácil de aprender, usar e dominar. Além disso, o RELAX NG oferece tanto uma sintaxe XML quanto uma sintaxe compacta não XML, suporta namespace s XML e não altera o conjunto de informações para qualquer documento XML que ele processe. Assim como o XML Schema, o RELAX NG trabalha com XML Schema Datatypes e pode aproveitar o poder expressivo dessa marcação para criar tipos de dados complexos que podem então ser instanciados nos documentos que governam.
RELAX NG é um projeto de desenvolvimento da OASIS e o assunto da norma ISO/IEC 19757-2. O padrão é baseado em uma versão anterior do RELAX e outra linguagem de esquema chamada TREX, ambas desenvolvidas pelo contribuidor SGML e XML James Clark.
Clark's recent work, which centers around RELAX NG, includes:
- Jing, an Open Source validator for RELAX NG
- DTDinst, a toolkit for converting XML DTDs into RELAX NG
- TRANG, a Java program that translates RELAX NG documents into numerous other formats
- An XML mode for GNU Emacs that offers incremental XML parsing and RELAX NG validation capabilities.