Empty elements have no content, but they can have attributes. So how do you declare them in an XML schema? You do that by declaring a complex type and using the <xsd:complexContent> element. In effect, you are declaring an element that can contain only elements but that does not contain any elements, so it's an empty element.
Here's an example. In this case, I'm going to create a new empty element named <image> that can take three attributes—source, width, and height—like this: <image source="/images/cover.gif" height="255" width=512"/>. I start by declaring this element:
<xsd:element name="image"> . . . </xsd:element>
I haven't used the type attribute in this element's declaration because I'll use an anonymous type ...