RELAX NG (RELAX Next Generation) è un linguaggio di markup XML deliberatamente semplice e diretto per i dati dei metadocumenti, noti anche come schemi, sviluppato in risposta allo standard W3C XML Schema. Mentre XML Schema ha la reputazione di essere contorto e dettagliato, RELAX NG è facile da imparare, usare e padroneggiare. Inoltre, RELAX NG offre sia una sintassi XML che una sintassi non XML compatta, supporta gli spazi dei nomi XML e non altera il set di informazioni per qualsiasi documento XML che elabora. Come XML Schema, RELAX NG funziona con i tipi di dati XML Schema e può attingere alla potenza espressiva di tale markup per creare tipi di dati complessi che possono quindi essere istanziati nei documenti di governo.
RELAX NG è un progetto di sviluppo OASIS e oggetto dello standard ISO / IEC 19757-2. Lo standard si basa su una versione precedente di RELAX e su un altro linguaggio schema chiamato TREX, entrambi sviluppati da SGML e collaboratore XML James Clark.
Il recente lavoro di Clark, incentrato su RELAX NG, include:
- Jing, un validatore Open Source per RELAX NG
- DTDinst, un toolkit per convertire DTD XML in RELAX NG
- TRANG, un programma Java che traduce i documenti RELAX NG in numerosi altri formati
- Una modalità XML per GNU Emacs che offre analisi XML incrementali e capacità di convalida RELAX NG.