Change iCalendar.xsd from
<xs:complexType name="BaseComponentType" abstract="true" >
<xs:sequence>
<xs:element name="properties" type="xcal:ArrayOfProperties"/>
<xs:element name="components" type="xcal:ArrayOfComponents"/>
</xs:sequence>
</xs:complexType>
<xs:element name="baseComponent" type="xcal:BaseComponentType" />
<xs:complexType name="ArrayOfComponents">
<xs:sequence>
<xs:element ref="xcal:baseComponent" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
to
<xs:complexType name="BaseComponentType" abstract="true" >
<xs:sequence>
<xs:element ref="xcal:properties" minOccurs="0" />
<xs:element ref="xcal:components" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:element name="baseComponent" type="xcal:BaseComponentType" />
<xs:complexType name="ArrayOfComponents">
<xs:sequence>
<xs:element ref="xcal:baseComponent" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:element name="properties" type="xcal:ArrayOfProperties"/>
<xs:element name="components" type="xcal:ArrayOfComponents"/>
Similarly change icalndar-props.xsd from
<xs:complexType name="BasePropertyType" abstract="true" >
<xs:sequence>
<xs:element name="parameters" type="xcal:ArrayOfParameters"/>
</xs:sequence>
</xs:complexType>
to
<xs:complexType name="BasePropertyType" abstract="true" >
<xs:sequence>
<xs:element ref="xcal:parameters" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:element name="parameters" type="xcal:ArrayOfParameters"/>