XML/XML Schema/prohibited

Материал из Web эксперт
Перейти к: навигация, поиск

Use prohibited

File: Data.xml
<?xml version="1.0"?>
<data xmlns="http://www.wbex.ru"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation=
                              "http://www.wbex.ru
                               Schema.xsd">
    <glob length="5" height="3" width="1" radius="2" diameter="4"/>
    <computer-monitor length="24" height="20" width="19"/>
</data>
File: Schema.xml
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            targetNamespace="http://www.wbex.ru"
            xmlns="http://www.wbex.ru"
            elementFormDefault="qualified">
    <xsd:complexType name="shape">
        <xsd:attribute name="length" type="xsd:nonNegativeInteger"/>
        <xsd:attribute name="height" type="xsd:nonNegativeInteger"/>
        <xsd:attribute name="width" type="xsd:nonNegativeInteger"/>
        <xsd:attribute name="radius" type="xsd:nonNegativeInteger"/>
        <xsd:attribute name="diameter" type="xsd:nonNegativeInteger"/>
    </xsd:complexType>
    <xsd:complexType name="box">
        <xsd:complexContent>
            <xsd:restriction base="shape">
                <xsd:attribute name="length" type="xsd:nonNegativeInteger"/>
                <xsd:attribute name="height" type="xsd:nonNegativeInteger"/>
                <xsd:attribute name="width" type="xsd:nonNegativeInteger"/>
                <xsd:attribute name="radius" type="xsd:nonNegativeInteger" use="prohibited"/>
                <xsd:attribute name="diameter" type="xsd:nonNegativeInteger" use="prohibited"/>
            </xsd:restriction>
        </xsd:complexContent>
    </xsd:complexType>
    <xsd:element name="glob" type="shape"/>
    <xsd:element name="computer-monitor" type="box"/>
    <xsd:element name="data">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="glob"/>
                <xsd:element ref="computer-monitor"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>

</xsd:schema>