Soit les 3 fichiers RelaxNG suivants.
<!-- db0.rng --><grammar xmlns="http://relaxng.org/ns/structure/1.0">
<define name="Title">
<element name="title"><text/></element>
</define><define name="Text">
<oneOrMore><element name="para"><text/></element>
</oneOrMore></define></grammar><!-- db1.rng --><?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
<start><element name="book">
<oneOrMore><element name="part">
<ref name="Title"/>
<ref name="Text"></ref>
</element> </oneOrMore> </element></start><include href="db0.rng"></include>
</grammar><!-- db2.rng --><?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
<start><element name="book">
<optional><element name="info">
<element name="title"><text/></element>
</element> </optional> <zeroOrMore><element name="part">
<ref name="Title"/>
<ref name="Text"></ref>
<zeroOrMore><element name="chapter">
<ref name="Title"/>
<ref name="Text"></ref>
</element> </zeroOrMore> </element> </zeroOrMore></element></start><include href="db0.rng"></include>
</grammar>Proposer un fichier db.rng permettant de valider à la fois les fichiers valides par rapport à db1.rng et db2.rng.
db2.rng permet de valider les fichiers db1.rng, donc db.rng=db2.rng.