The ATOM spec has the concept of a "construct" which is much like a complex type in XML Schema.
Here is the "Person Construct" translated into XML Schema:
<xs:complexType name="PersonConstruct"> <xs:all> <xs:element ref="atom:name"/> <xs:element ref="atom:uri" minOccurs="0"/> <xs:element ref="atom:email" minOccurs="0"/> <xs:any ref="minOccurs="0" maxOccurs="unbounded" namespace="##other"/> </xs:all> <xs:attributeGroup ref="atom:common"/> </xs:complexType>
An example:
<atom:author> <atom:email>alex@milowski.com</atom:email> <atom:name>Alex Milowski</atom:name> <my:dog>Hudson</my:dog> </atom:author>