This is a problem I encountered whilst working on a configuration XSD at work, I wanted to have a node that had content, with an enforced type along with attributes.  An example of the XML I wanted to allow is below.

	<Quote author="George W. Bush">Rarely is the questioned asked: Is our children learning?</Quote>

To specify a type for the node contents as well as some attributes, we need to use a type extension, specifying the type we want for the content as the base type.   This is shown below.

<xs:schema xmlns:xs="">
	<xs:element name="Quotes">
				<xs:element name="Quote">
							<xs:extension base="xs:string">
								<xs:attribute name="author" type="xs:string" />

The XSD above will permit the XML we want, and allow content and attributes on the same node.  I'll probably do some more stuff on XSDs in the near future.