现在氧气告诉我要终止复杂类型,尽管它已经被终止了。为什么会这样?我尝试删除 simpleType。我尝试取出复杂类型,它仍然不接受它。这是代码。
<?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>