Redefining Nodes

Once you reference an XML Schema by redefining it, you are able to redefine that XML Schema's complexTypes, simpleTypes, groups, and attributeGroups. This section describes how to redefine nodes using the Diagram tab.

Extensions and Restrictions

There are two ways to redefine a node: by extension and restriction. An extension extends the base type - adding an element or an attribute definition, for example. A restriction constrains the base type - limiting a type to a certain range of values, for example.

Specifying Restriction Facets

If you define a restriction using a simpleType, the Properties window displays a section that allows you to define the facets that restrict that type, as shown in Figure 287.

Figure 287. Facets for Describing Restrictions

Restriction facets include length, minLength, maxLength, and totalDigits. For each facet you specify, you provide the facet name, a value, and, for some facets, whether or not the value is fixed. Note that not all facets apply to all types.

See About Facet Types for simpleTypes for more information on facets.

How to Redefine a Node

To redefine a node in the Diagram view:
1. Right-click the schema node .
2. Select Redefine from the shortcut menu.

The Redefine Schema Symbols dialog box appears.

Figure 288. Redefine Schema Symbols Dialog Box

3. Select the node from the redefined XML Schema you want to redefine and click OK.

The redefined node is added to the diagram, and the text for the redefined node appears in the text pane. For example, <xsd:complexType name="PublicationType"/>.

4. Right-click the redefined node.
5. From the shortcut menu, select Quick Edit > and then either Derive by extension or Derive by restriction.

The Type Derivation dialog box appears.

Figure 289. Type Derivation Dialog Box

6. Select the base type from which you want to derive the definition of the node you are redefining. and click OK.

The node you added in Figure 3 is modified in the diagram to display the restriction or extension you are using to redefine it, as shown in Figure 290.

Figure 290. Redefined Node as a Restricted simpleType

The code displayed in the text pane is also modified. For example:

<xsd:complexType name="PublicationType">
               
   <xsd:simpleContent>
               
     <xsd:restriction base="SKU"/>
               
   </xsd:simpleContent>
               
</xsd:complexType>
               

            

7. If you specified a restriction of a simpleType, specify the restriction facets in the Properties window. See Specifying Restriction Facets if you need help with this step.
 
Free Stylus Studio XML Training:
W3C Member