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

    The <xs:redefine> element causes the definitions from an external schema to be included and modified.

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

    Deprecated in XSD 1.1.

     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" ?>
    <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: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:redefine 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:redefine>
        <xs:element name="author" type="personName" />
    </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.