existuje mnoho běžně používaných formátů dat založených na XML
XHTML, DocBook, SVG, MathML, TEI, SMIL, …
v mnoha případech je můžeme použít rovnou beze změn
v mnoha případech nám však něco chybí
můžeme si vytvořit vlastní zcela nové schéma – problém je však s výměnou dat a použitím již existujících aplikací
můžeme existují schéma upravit – na rozdíl od DTD/XML Schéma je úprava schématu v RELAX NG velmi jednoduchá
Příklad 26. Schéma rozšiřující DocBook o dva nové elementy pro označení registru a instrukce
# slušností je umístit si svoje elementy do jmenného prostoru
namespace a = "urn:cz-kosek:ns:assembler"
# pojmenovaný vzor a.inlines definuje vzor pro dva nové elementy
a.inlines = element a:registr { text }
| element a:instruction { text }
# naimportujeme původní schéma pro DocBook a mezi obecné
# inline elementy přidáme ty naše
include "docbook.rnc"
{
db.general.inlines |= a.inlines
}