Nexted reference : Reference « XML Schema « XML






Nexted reference



File: Data.xml

<?xml version="1.0"?>
<images xmlns="http://www.java2s.com"
                   xmlns:i="http://www.java2s.com"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http://www.java2s.com Schema.xsd">

    <image/>                            
    <image i:src="http://www.java2s.com"/>

</images>

File: Schema.xml

<?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:element name="image">
        <xsd:complexType>
            <xsd:attribute ref="src"/>
        </xsd:complexType>
    </xsd:element>

    <xsd:attribute name="src">
        <xsd:simpleType>
            <xsd:restriction base="xsd:anyURI">
                <xsd:enumeration value="http://www.java2s.com"/>
                <xsd:enumeration value="http://www.java2s.com/style/logo.png"/>
                <xsd:enumeration value="http://www.java2s.com/isbn.html"/>
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:attribute>

    <xsd:element name="images">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="image" maxOccurs="2"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>

</xsd:schema>

 








Related examples in the same category

1.reference element
2.Reference defined data type with target namespace
3.Set minOccurs, maxOccurs for referenced types
4.Reference your type with namespace
5.Refernece anonymous complexType
6.reference with maxOccurs
7.Use ref to remove the nested definition