Complex type with complex content : complexType « XML Schema « XML






Complex type with complex content


File: Data.xml

<?xml version="1.0"?>
<Books xmlns="http://www.java2s.com"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.java2s.com Schema.xsd">
        <Book>
                <Title>title 1</Title>
                <Author>author 1</Author>
                <Date>2008</Date>
                <ISBN>1-11111-111-1</ISBN>
                <Publisher>Publisher 1</Publisher>
        </Book>
        <Book>
                <Title>title 2</Title>
                <Author>author 2</Author>
                <Date>2007</Date>
                <ISBN>0-111-11111-1</ISBN>
                <Publisher>Publisher 2</Publisher>
        </Book>
</Books>


File: Schema.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:complexType name="Publication">
        <xsd:sequence>
            <xsd:element name="Title" type="xsd:string" maxOccurs="unbounded"/>
            <xsd:element name="Author" type="xsd:string" maxOccurs="unbounded"/>
            <xsd:element name="Date" type="xsd:gYear"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="BookPublication">
        <xsd:complexContent>
            <xsd:extension base="Publication">
                <xsd:sequence>
                    <xsd:element name="ISBN" type="xsd:string"/>
                    <xsd:element name="Publisher" type="xsd:string"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    <xsd:element name="Books">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="Book" type="BookPublication" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
</xsd:schema>

 








Related examples in the same category

1.Define a complexType
2.Definition of a student element uses primitive types for the child elements
3.complex type with sequence
4.complexType outside the element
5.Anonymous complex type and sequence
6.Complex type with group reference
7.Build Complex type with simple Type
8.complexType with extension
9.complexType with restriction
10.complexType mixed="true"
11.Nested complexType