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.