2013-10-09 27 views
0

现在氧气告诉我终止复杂类型,尽管它已经被终止。为什么会发生?我试着删除simpleType。我试图拿出复杂的类型,但它仍然不会接受它。这是代码。氧气告诉我终止complexType,尽管被终止

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.engr.iupui.edu/~efernand/account" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:account="http://www.engr.iupui.edu/~efernand/account"> 
    <xs:element name="account"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element ref="account:owner"/> 
     <xs:choice maxOccurs="unbounded"> 
      <xs:element ref="account:deposit"/> 
      <xs:element ref="account:payment"/> 
     </xs:choice> 
     </xs:sequence> 
     <xs:attribute name="number" use="required" type="xs:NCName"/> 
     <xs:attribute name="type" use="required" /> 
     <xs:simpleType> 
      <xs:restriction base="xs:NCName"> 
      <xs:enumeration value="direct"/> 
      <xs:enumeration value="check"/> 
      <xs:enumeration value="cash"/> 
      <xs:enumeration value="transfer"/> 
      <xs:enumeration value="atm" /> 
      </xs:restriction> 
     </xs:simpleType> 
     </xs:attribute> <!--ERROR HERE--> 
    </xs:complexType> 
    </xs:element> 
    <xs:element name="owner"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element ref="account:name"/> 
     <xs:element ref="account:address"/> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 
    <xs:element name="name"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element ref="account:first"/> 
     <xs:element ref="account:last"/> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 
    <xs:element name="first" type="xs:NCName"/> 
    <xs:element name="last" type="xs:NCName"/> 
    <xs:element name="address"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element ref="account:street"/> 
     <xs:element ref="account:city"/> 
     <xs:element ref="account:state"/> 
     <xs:element ref="account:zip"/> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 
    <xs:element name="street" type="xs:string"/> 
    <xs:element name="city" type="xs:NCName"/> 
    <xs:element name="state"> 
    <xs:simpleType> 
     <xs:restriction base="xs:NCName"> 
     <xs:pattern value="[a-zA-Z]{2}"/>  
     </xs:restriction> 
    </xs:simpleType> 
    </xs:element> 
    <xs:element name="zip" type="xs:integer"/> 
    <xs:element name="deposit"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element ref="account:from"/> 
     <xs:element ref="account:amount"/> 
     <xs:element ref="account:date"/> 
     <xs:element minOccurs="0" ref="account:description"/> 
     </xs:sequence> 
     <xs:attribute name="type" use="required" type="xs:NCName"/> 
    </xs:complexType> 
    </xs:element> 
    <xs:element name="from"> 
    <xs:complexType mixed="true"> 
     <xs:attribute name="category" use="required" type="xs:NCName"/> 
    </xs:complexType> 
    </xs:element> 
    <xs:element name="payment"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element ref="account:to"/> 
     <xs:element ref="account:amount"/> 
     <xs:element ref="account:date"/> 
     <xs:element minOccurs="0" ref="account:description"/> 
     </xs:sequence> 
     <xs:attribute name="checknum"> 
     <xs:simpleType> 
      <xs:restriction base="xs:NCName"> 
      <xs:pattern value="C[0-9]{4}"/> 
      </xs:restriction> 
     </xs:simpleType> 
     </xs:attribute> 

     <xs:attribute name="type" use="required" type="xs:NCName"/> 
    </xs:complexType> 
    </xs:element> 
    <xs:element name="to"> 
    <xs:complexType mixed="true"> 
     <xs:attribute name="category" use="required"> 
     <xs:simpleType> 
      <xs:restriction base="xs:NCName"> 
      <xs:enumeration value="income" /> 
      <xs:enumeration value="other"/> 
      <xs:enumeration value="cash"/> 
      <xs:enumeration value="food"/> 
      <xs:enumeration value="utilites"/> 
      <xs:enumeration value="clothing"/> 
      <xs:enumeration value="savings"/> 
      <xs:enumeration value="entertainment"/> 
      </xs:restriction> 
     </xs:simpleType> 
     </xs:attribute> 
    </xs:complexType> 
    </xs:element> 
    <xs:element name="amount" type="xs:decimal"/> 
    <xs:simpleType name="amount"> 
     <xs:restriction base="xs:decimal"> 
     <xs:minExclusive value="0"/> 
     <xs:fractionDigits value="2"/> 
     </xs:restriction> 
    </xs:simpleType> 
    <xs:element name="date" type="xs:date"/> 
    <xs:simpleType name="date"> 
     <xs:restriction base="xs:date"> 
     <!--No month number begins with 2--> 
     <xs:pattern value="[0-9]{4}-[0-1][0-9]-[0-9]{2}"/> 
     </xs:restriction> 
    </xs:simpleType> 
    <xs:element name="description" type="xs:string"/> 
</xs:schema> 

回答

2
<xs:attribute name="type" use="required" /> 

我不认为你需要的/那里。

+0

对不起,这个简单的错误。我觉得自己像个白痴。 – DrinkJavaCodeJava