Defining Elements That Contain Subelements in XML Schemas

An element that contains subelements is a complexType. Consequently, you can define an element that contains subelements in either of the following ways:

  • Define a top-level complexType. That is, it is a child of the xsd:schema node. In the complexType definition, define the subelements. Elsewhere in the schema, define an element that uses the complexType you defined.
  • Define an element that is a child of the xsd:schema node or a Model Group node. In the element definition, define a complexType that contains your subelements.

To define a complexType that contains elements, see Defining complexTypes That Contain Elements and Attributes - Diagram View or Defining complexTypes That Contain Elements and Attributes - Tree View.

Diagram View

To define an element and define subelements in the element definition:
1. Right-click the schema node .
2. In the shortcut menu, select Add > Element.

Alternatives: This operation is also available from the XMLSchema > Diagram > Add > Element menu and from the Add button .

The new element is added to the XML Schema. It is displayed in the diagram and in the text pane (if you have it open). The properties for the new element are displayed in the Properties window.

3. Right-click the new element and click QuickEdit. Select one of the following from the QuickEdit menu:
    • Add Elements Sequence
    • Add Elements Choice
    • Add Elements All
    • Add Elements Any

Stylus Studio updates the element definition to include a complexType with the sequence, choice, all, or any element you selected in the previous step.

4. Add subelements to the element you created in step 3.

Tree View

In the Tree view, to define an element and define subelements in the element definition:
1. Click the Schema node or a Model Group ( all, any, choice, sequence) node.
2. In the left tool bar, click New Element Definition .
3. Enter the name for your new element. Stylus Studio displays a pop-up menu that lists the built-in simpleTypes and any simple or complexTypes already defined in your schema.
4. Press Enter again. Rather that using a type that is already defined, you want to define a new complexType in the definition of your element. You do not want to assign a type to your new element.
5. In the left tool bar, click New complexType .
6. Enter a name for the new type.

At this point, the procedure for defining a complexType in the definition of an element is the same as defining a complexType as a child of the Schema node. See Defining complexTypes That Contain Elements and Attributes - Tree View.

Introduction to the XQuery Mapper

This free online video demonstration covers Stylus Studio's synchronized XQuery editing and mapping tool which allows you to create any XQuery expression, either manually using Stylus Studio's XQuery editor.

EII - Enterprise Information Integration

Learn how to build EII applications with Stylus Studio's powerful Enterprise Information Integration Tools.

HTML Tidy

HTML Tidy is a program for turning HTML into something that can be parsed as XML, unlocking their data for use in XSLT and XQuery programs. Learn how to use HTML Tidy in Stylus Studio now.

Berkeley DB XML and Stylus Studio

Develop XML applications for Berkeley DBXML with Stylus Studio integrated tools support for SleepyCat Software's DBXML. Open, Query and Save XML to and from Berkeley DB XML directly from within the Stylus Studio XML IDE.

Stylus Most Wanted

 
Free Stylus Studio XML Training:
W3C Member