RELAX NG can enforce order and appearance of elements in mixed content.
<?xml version="1.0"?>
<SONG>
<TITLE>Hot Cop</TITLE>
<COMPOSER>
<NAME><GIVEN>Jacques</GIVEN><FAMILY>Morali</FAMILY></NAME>
</COMPOSER>
<COMPOSER>
<NAME><GIVEN>Henri</GIVEN><FAMILY>Belolo</FAMILY></NAME>
</COMPOSER>
<COMPOSER>
<NAME><GIVEN>Victor</GIVEN><FAMILY>Willis</FAMILY></NAME>
</COMPOSER>
<PRODUCER>
<NAME><GIVEN>Jacques</GIVEN><FAMILY>Morali</FAMILY></NAME>
</PRODUCER>
<PUBLISHER>PolyGram Records</PUBLISHER>
<YEAR>1978</YEAR>
<ARTIST>Village People</ARTIST>
<DESCRIPTION>
<PERSON>Victor Willis</PERSON>'s theme song is
one of the lesser known of the
<ARTIST>Village People</ARTIST>'s <IRONIC>hits</IRONIC>,
and <OPINION>deservedly so</OPINION>. It never
charted, <!-- need to verify this? -->
but the group didn't have enough genuine
hits to fill a Best Of album, <OPINION>so some
lesser numbers had to be <METAPHOR>pulled out of the
recycle bin</METAPHOR></OPINION>.
</DESCRIPTION>
</SONG>