5543eb9de8
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1824563 13f79535-47bb-0310-9956-ffa450edef68
177 lines
6.0 KiB
XML
177 lines
6.0 KiB
XML
<xsd:schema
|
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
|
xmlns="http://xbean/scomp/derivation/Block"
|
|
targetNamespace="http://xbean/scomp/derivation/Block"
|
|
>
|
|
<xsd:simpleType name="ageT">
|
|
<xsd:restriction base="xsd:positiveInteger">
|
|
<xsd:minInclusive value="15"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="genderT">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="M|F|m|f"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="restAgeT">
|
|
<xsd:restriction base="ageT">
|
|
<xsd:minInclusive value="15"/>
|
|
<xsd:maxInclusive value="30"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:complexType name="blockAllT" block="#all">
|
|
<xsd:sequence>
|
|
<xsd:element name="name" type="xsd:string"/>
|
|
<xsd:element name="age" type="ageT"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="blockExtT" block="extension">
|
|
<xsd:sequence>
|
|
<xsd:element name="name" type="xsd:string"/>
|
|
<xsd:element name="age" type="ageT"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="blockRestT" block="restriction">
|
|
<xsd:sequence>
|
|
<xsd:element name="name" type="xsd:string"/>
|
|
<xsd:element name="age" type="ageT"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="blockERT" block="extension restriction">
|
|
<xsd:sequence>
|
|
<xsd:element name="name" type="xsd:string"/>
|
|
<xsd:element name="age" type="ageT"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="blockRET" block="restriction extension">
|
|
<xsd:sequence>
|
|
<xsd:element name="name" type="xsd:string"/>
|
|
<xsd:element name="age" type="ageT"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
<!--======================Extended/Derived types =======================-->
|
|
<xsd:complexType name="extAllT">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="blockAllT">
|
|
<xsd:sequence>
|
|
<xsd:element name="gender" type="genderT"/>
|
|
</xsd:sequence>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="restAllT">
|
|
<xsd:complexContent>
|
|
<xsd:restriction base="blockAllT">
|
|
<xsd:sequence>
|
|
<xsd:element name="name" type="xsd:string"/>
|
|
<xsd:element name="age" type="restAgeT"/>
|
|
</xsd:sequence>
|
|
</xsd:restriction>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
<!--subst. fails-->
|
|
<xsd:complexType name="extET">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="blockExtT">
|
|
<xsd:sequence>
|
|
<xsd:element name="gender" type="genderT"/>
|
|
</xsd:sequence>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
<!--subst. OK-->
|
|
<xsd:complexType name="restET">
|
|
<xsd:complexContent>
|
|
<xsd:restriction base="blockExtT">
|
|
<xsd:sequence>
|
|
<xsd:element name="name" type="xsd:string"/>
|
|
<xsd:element name="age" type="restAgeT"/>
|
|
</xsd:sequence>
|
|
</xsd:restriction>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
|
|
<!--subst. OK-->
|
|
<xsd:complexType name="extRT">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="blockRestT">
|
|
<xsd:sequence>
|
|
<xsd:element name="gender" type="genderT"/>
|
|
</xsd:sequence>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
|
|
<!--subst. fails-->
|
|
<xsd:complexType name="restRT">
|
|
<xsd:complexContent>
|
|
<xsd:restriction base="blockRestT">
|
|
<xsd:sequence>
|
|
<xsd:element name="name" type="xsd:string"/>
|
|
<xsd:element name="age" type="restAgeT"/>
|
|
</xsd:sequence>
|
|
</xsd:restriction>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
|
|
<!--subst. fails-->
|
|
<xsd:complexType name="restERT">
|
|
<xsd:complexContent>
|
|
<xsd:restriction base="blockERT">
|
|
<xsd:sequence>
|
|
<xsd:element name="name" type="xsd:string"/>
|
|
<xsd:element name="age" type="restAgeT"/>
|
|
</xsd:sequence>
|
|
</xsd:restriction>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="restRET">
|
|
<xsd:complexContent>
|
|
<xsd:restriction base="blockRET">
|
|
<xsd:sequence>
|
|
<xsd:element name="name" type="xsd:string"/>
|
|
<xsd:element name="age" type="restAgeT"/>
|
|
</xsd:sequence>
|
|
</xsd:restriction>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="extRET">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="blockRET">
|
|
<xsd:sequence>
|
|
<xsd:element name="gender" type="genderT"/>
|
|
</xsd:sequence>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="extERT">
|
|
<xsd:complexContent>
|
|
<xsd:extension base="blockERT">
|
|
<xsd:sequence>
|
|
<xsd:element name="gender" type="genderT"/>
|
|
</xsd:sequence>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
|
|
<xsd:element name="EltAllBase" type="blockAllT"/>
|
|
|
|
<xsd:element name="EltEBase" type="blockExtT"/>
|
|
|
|
<xsd:element name="EltRBase" type="blockRestT"/>
|
|
|
|
<xsd:element name="EltERBase" type="blockERT"/>
|
|
<xsd:element name="EltREBase" type="blockRET"/>
|
|
</xsd:schema> |