<?xml version="1.0" encoding="UTF-8"?><?oxygen RNGSchema="adresse1.rnc" type="compact"?>
<addressBook>
<card>
<name>John Smith</name>
<email>js@example.com</email>
</card>
<card>
<name>Fred Bloggs</name>
<email>fb@example.net</email>
</card>
</addressBook>
<!ELEMENT addressBook (card*)>
<!ELEMENT card (name, email)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT email (#PCDATA)>
<?xml version="1.0" encoding="UTF-8"?>
<element name="addressBook" xmlns="http://relaxng.org/ns/structure/1.0">
<oneOrMore>
<element name="card">
<element name="name"><text/></element>
<element name="email"><text/></element>
</element>
</oneOrMore>
</element>
element addressBook {
element card {
element name { text },
element email { text }
}+
}
<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
<start>
<element name="addressBook">
<zeroOrMore>
<element name="card"><ref name="cardContent"/></element>
</zeroOrMore>
</element>
</start>
<define name="cardContent">
<element name="name"><text/></element>
<element name="email"><text/></element>
</define>
</grammar>
namespace rng = "http://relaxng.org/ns/structure/1.0"
start = AddressBook
AddressBook = element addressBook { Card* }
Card = element card { Name, Email }
Name = element name { text }
Email = element email { text }
<?xml version="1.0" encoding="UTF-8"?>
<grammar
xmlns="http://relaxng.org/ns/structure/1.0"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<start>
<element name="addressBook">
<zeroOrMore>
<element name="card"><ref name="cardContent"/></element>
</zeroOrMore>
</element>
</start>
<define name="cardContent">
<element name="name"><data type="string"/></element>
<element name="email"><data type="anyURI"/></element>
</define>
</grammar>