<?xml version="1.0" encoding="utf-8"?>
<xsd:schema
   targetNamespace="http://example.org/ns/books/"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:bk="http://example.org/ns/books/" 
   elementFormDefault="qualified"
   attributeFormDefault="unqualified">

  <xsd:element name="book">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="title" type="xsd:string"/>
        <xsd:element name="author" type="xsd:string"/>
        <xsd:element name="character" minOccurs="0" maxOccurs="unbounded">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="name" type="xsd:string"/>
              <xsd:element name="friend-of" type="xsd:string" minOccurs="0" maxOccurs="1"/>
              <xsd:element name="since" type="xsd:date"/>
              <xsd:element name="qualification" type="xsd:string"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="isbn" type="xsd:string"/>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>
