Defining complexTypes That Mix Data and Elements

Suppose you want to define a complexType that mixes elements and data. For example, you have an XML document with contents such as the following:

<letter>
               

              
<salutation>
                   
Dear Mr.
                   
<name>Robert Smith</name>
                   
,
                   
</salutation>
                   
Your order of 
                   
<quantity>1 </quantity> 
                   
<productName>Baby Monitor </productName> 
                   
shipped from our warehouse on
                   
<shipDate>2001-04-21</shipDate>
                   
. 
                   

                
</letter>

The letter element and salutation element have element and data children. You must define complexTypes for both the letter and the salutation elements. Their Mixed property value must be set to true. The Mixed property is the one that allows an element to contain both elements ( <shipDate>, for example) and raw data ( Dear Mr. for example) as children.

This section describes how to achieve this using both the Diagram and Tree views.

Diagram View

To define a complex type that mixes data and elements:
2. In the Properties window, click the Mixed field.
3. In the drop-down menu that appears, click true.

Tree View

In the Tree view, to define a complex type that mixes data and elements:
1. Click the Schema node.
2. In the left tool bar, click New complexType . In the Tree view, Stylus Studio displays a field for the new complexType.
3. Type a name for this new complexType and press Enter.
4. In the Properties window, double-click the Mixed field.
5. Double-click true.
6. In the left tool bar, click New Model Group . Stylus Studio displays a pop-up menu that lists the group modifiers.
7. Double-click the modifier you want. For a description of the modifiers, see Model Group Properties in XML Schemas. For the rest of this procedure, assume that you double-click the sequence modifier. By default, the elements that are children of this node each appear exactly once. If you want an element to be optional, or if you want an element to appear more than once, specify appropriate values for the properties for minimum occurrence and maximum occurrence.
8. For each element that you want this complexType to contain:
a. In the left tool bar, click New Element Definition . In the Tree view, Stylus Studio displays a field for the new element definition.
b. Type a name for the new element and press Enter. Stylus Studio displays a pop-up menu that lists the built-in simpleTypes and any types already defined in the schema.
c. Double-click the type for the new element.

XML File Explorer

The XML File Explorer provides a productive, consistent, and easy-to-use interface for working with any data sources (relational data, EDI, binary, XML, CSV, and more) used in enterprise data integration projects.

XQuery Documentation Generator

Stylus Studio provides integrated support for xqDoc so you can generate XQuery documentation directly from the XQuery editor.

XML Schema Quality Checker

Use IBM's alphaWorks XML Schema Quality Checker to check the quality and style of your XML schema documents. Fully integrated with the Stylus Studio XML Schema Editor and XML validator.

Validating X12 Documents with XML Schemas

Either before or after transforming X12 EDI content, generated XML Schemas will make sure that we have all of the necessary components, our codes are all according to the standard codelists, and every little delimiter is in the right place.

Stylus Most Wanted

 
Free Stylus Studio XML Training:
W3C Member