Liquid Studio 2020
XSD Editor / Graphical Notation Overview / XsdEditorNotation Override
In This Topic
    XsdEditorNotation Override
    In This Topic
     Graphical Representation
     Summary

    The <xs:override> element is functionally the same as the <xs:refine> element which causes the definitions from an external schema to be included and modified.

    The <xs:override> construct allows attributeGroups, complexTypes, group & simpleTypes to be modified.

    Added in XSD 1.1 (replaces redefine).

     Creating
    Can only be added using the source view.
     Properties

    Id  A user defined ID to uniquely identify the entity within the schema
    Schema Location The location of the schema to include, can be a URL or relative path from this schema file
     Sample

    The following XSD code

    BaseDef.xsd
    Copy Code
    <?xml version="1.0" encoding="utf-8" ?>
    <!--Created with Liquid XML Studio (https://www.liquid-technologies.com)-->
    <xs:schema elementFormDefault="qualified"
               xmlns:xs="http://www.w3.org/2001/XMLSchema">
        <xs:complexType name="personName">
            <xs:sequence>
                <xs:element name="title"
                            minOccurs="0" />
                <xs:element name="forename"
                            minOccurs="0"
                            maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
        <xs:element name="addressee"
                    type="personName" />
        <xs:simpleType name="genderType">
            <xs:restriction base="xs:string" />
        </xs:simpleType>
        <xs:group name="elementGroup">
            <xs:sequence>
                <xs:element name="a"
                            minOccurs="0"
                            maxOccurs="unbounded" />
            </xs:sequence>
        </xs:group>
        <xs:attributeGroup name="attributeGroup">
            <xs:attribute name="a"
                          type="xs:string" />
        </xs:attributeGroup>
    </xs:schema>
    

    RedefineExample.xsd
    Copy Code
    <?xml version="1.0" encoding="utf-8" ?>
    <xs:schema elementFormDefault="qualified"
               xmlns:xs="http://www.w3.org/2001/XMLSchema">
        <xs:override schemaLocation="BaseDef.xsd">
            <xs:complexType name="personName">
                <xs:complexContent>
                    <xs:extension base="personName">
                        <xs:sequence>
                            <xs:element name="generation"
                                        minOccurs="0" />
                        </xs:sequence>
                    </xs:extension>
                </xs:complexContent>
            </xs:complexType>
            <xs:simpleType name="genderType">
                <xs:restriction base="genderType">
                    <xs:enumeration value="Male" />
                    <xs:enumeration value="Female" />
                </xs:restriction>
            </xs:simpleType>
            <xs:group name="elementGroup">
                <xs:sequence>
                    <xs:element name="a"
                                minOccurs="0" />
                </xs:sequence>
            </xs:group>
            <xs:attributeGroup name="attributeGroup">
                <xs:attribute name="a"
                              type="xs:token"
                              use="required" />
            </xs:attributeGroup>
        </xs:override>
        <xs:element name="author"
                    type="personName" />
        <xs:element name="Use">
            <xs:complexType>
                <xs:sequence>
                    <xs:group ref="elementGroup" />
                    <xs:element name="Gender"
                                type="genderType" />
                </xs:sequence>
                <xs:attributeGroup ref="attributeGroup" />
            </xs:complexType>
        </xs:element>
    </xs:schema>
    

    Will be represented like this

     Inline Properties

    Properties that apply to a type are shown inline at the bottom of the items container.

    Values that are inherited from the base types are shown in brackets, values specifically set against the item are shown without brackets.

    If a facet is not valid for a given type (typically because of its data type), then its value is shown in red.

    Inline properties can be disabled in the Options.