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

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 O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.