Mohu
Mohu

Reputation: 17

can we use Empty XSD ComplexType(Base) in Extension under Complex content in Child ComplexType?

In Below XSD Format, is it the best way to use ObjectType in the Extension?? Do We really required in any aspect..any one help on this. shall i remove this objectType extension inside message..??

***<complexType name="ObjectType"/>***
<complexType name="Message">
        <complexContent>
            ***<extension base="ObjectType">***
                <sequence>
                <element name="element1" type="string" minOccurs="1" maxOccurs="1">
                </element>
                </sequence>
                </extension>
        </complexContent>
</complexType>

Upvotes: 2

Views: 668

Answers (1)

Xstian
Xstian

Reputation: 8272

This XSD is correct (semantically and syntactically). I validate also by XMLSpear

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified" targetNamespace="http://yourNamespace"
    xmlns="http://yourNamespace" xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xs:complexType name="ObjectType"/>

    <xs:complexType name="Message">
        <xs:complexContent>
            <xs:extension base="ObjectType">
                <xs:sequence>
                    <xs:element name="element1" type="xs:string" minOccurs="1" maxOccurs="1">
                </xs:element>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
</xs:schema>

Here there are examples of extensions. http://www.w3schools.com/


Solution without extension

<?xml version="1.0" encoding="UTF-8"?>
    <xs:schema elementFormDefault="qualified" targetNamespace="http://yourNamespace"
        xmlns="http://yourNamespace" xmlns:xs="http://www.w3.org/2001/XMLSchema">


        <xs:complexType name="Message">
            <xs:sequence>
                <xs:element name="element1" type="xs:string" minOccurs="1" maxOccurs="1"/>
            </xs:sequence>
        </xs:complexType>
    </xs:schema>

Upvotes: 1

Related Questions