Creating Empty Elements

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 ...

Get Real World XML now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.