union with memberTypes
File: Data.xml <?xml version="1.0"?> <schema xmlns="http://www.java2s.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.java2s.com maxOccurs.xsd"> <element maxOccurs="unbounded"/> </schema> File: maxOccurs.xsd <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.java2s.com" xmlns="http://www.java2s.com" elementFormDefault="qualified"> <xsd:simpleType name="unbounded_type"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="unbounded"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="maxOccurs_type"> <xsd:union memberTypes="unbounded_type xsd:nonNegativeInteger"/> </xsd:simpleType> <xsd:element name="schema"> <xsd:complexType> <xsd:sequence> <xsd:element name="element"> <xsd:complexType> <xsd:attribute name="maxOccurs" type="maxOccurs_type" default="1"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema>