I took a better look and you are right, you have also crossed rule 4.6. But if you try:
Test.rng:
<?xml version="1.0"?>
<grammar
xmlns="
http://relaxng.org/ns/structure/1.0"
ns="http://foo.org/bar">
<start>
<ref name="children"></ref>
</start>
<define name="children">
<zeroOrMore>
<element>
<anyName>
<except>
<nsName/>
</except>
</anyName>
<ref name="children"></ref>
</element>
</zeroOrMore>
<optional>
<ref name="interestingElements"></ref>
</optional>
</define>
<define name="interestingElements">
<choice>
<externalRef href=""anythingElseButTest.rng"/>
</choice>
</define>
</grammar>
You'll see there are more mistakes in the schema.