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 }