<?xml version="1.0" encoding="UTF-8"?>
 <!--
/*   Copyright 2004 The Apache Software Foundation
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *  limitations under the License.
 */
-->
<!DOCTYPE foo [
<!ELEMENT person (#PCDATA) >
<!ATTLIST person
        id ID #REQUIRED
>
]>
<xsd:schema targetNamespace="http://xbean/dom/id"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://xbean/dom/id"
elementFormDefault="qualified"
>

  <xsd:element name="foo">
         <xsd:complexType>
           <xsd:sequence>
             <xsd:element ref="tns:person" />
           </xsd:sequence>
         </xsd:complexType>
  </xsd:element>

  <xsd:element name="person">
      <xsd:complexType>
          <xsd:sequence>
              <xsd:element name="firstname" type="xsd:string" />
          </xsd:sequence>
          <xsd:attribute name="id" type="xsd:ID" use="required"/>
      </xsd:complexType>
  </xsd:element>
</xsd:schema>

