Attribute based on simple type with restriction and enumeration : attribute « XML Schema « XML






Attribute based on simple type with restriction and enumeration


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/style/logo.png"/> 

</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" default="http://www.java2s.com">
        <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.Restriction on attribute
2.anyURI type attribute
3.Required attribute
4.attribute with default value
5.reference type as attribute type and default value
6.attribute type and default value
7.attribute with fixed value
8.Define fixed value for referenced attribute type
9.fixed value for attribute type
10.Anonymous complexType with attribute
11.Add namespace to attribute