Edit online

Generating Sample XML Files

Oxygen XML Developer offers support to generate sample XML files both from XML schema 1.0 and XML schema 1.1, depending on the XML schema version set in XML Schema preferences page.

To generate sample XML files from an XML Schema, use the Generate Sample XML Files action from the Tools menu. This action is also available in the contextual menu of the schema Design mode. The action opens the Generate Sample XML Files dialog box that allows you to configure a variety of options for generating the files.

The Generate Sample XML Files dialog box contains three tabs with various configurable options. Default values for these options can be set in the Sample XML Files Generator preferences page. You can also run the tool from the command line using exported options.

Schema Tab

The first set of options for the Generate Sample XML Files tool are found in the Schema tab.

Figure 1. Generate Sample XML Files Dialog Box (Schema Tab)
This tab includes the following options:
URL
Specifies the URL of the Schema location. You can specify the path by using the text field, the history drop-down menu, or the browsing actions in the Browse drop-down list.
Namespace
Displays the namespace of the selected schema.
Root Element
After the schema is selected, this drop-down menu is populated with all root candidates gathered from the schema. Choose the root of the output XML documents.
Output folder
Path to the folder where the generated XML instances will be saved.
Filename prefix and Extension
You can specify the prefix and extension for the file name that will be generated. Generated file names have the following format: prefixN.extension, where N represents an incremental number from 0 up to the specified Number of instances.
Number of instances
The number of XML files to be generated.
Open first instance in editor
When selected, the first generated XML file is opened in the editor.
Namespaces section
You can specify the Default Namespace, as well as the prefixes for the namespaces.
Export settings
Use this button to save the current settings for future use.
Import settings
Use this button to load previously exported settings.

You can click OK at any point to generate the sample XML files.

Options Tab

The Options tab allows you to set specific options for namespaces and elements.

Figure 2. Generate Sample XML Files Dialog Box (Options Tab)
This tab includes the following options:
Namespace / Element table
Allows you to set a namespace for each element name that appears in an XML document instance. The following prefix-to-namespace associations are available:
  • All elements from all namespaces (<ANY> - <ANY>). This is the default setting.
  • All elements from a specific namespace.
  • A specific element from a specific namespace.
Settings subtab
Namespace
Displays the namespace specified in the table at the top of the dialog box.
Element
Displays the element specified in the table at the top of the dialog box.
Generate optional elements
When selected, all elements are generated, including the optional ones (having the minOccurs attribute set to 0 in the schema).
Generate optional attributes
When selected, all attributes are generated, including the optional ones (having the use attribute set to optional in the schema).
Values of elements and attributes
Controls the content of generated attribute and element values. The following choices are available:
  • None - No content is inserted.
  • Default - Inserts a default value depending on the data type descriptor of the particular element or attribute. The default value can be either the data type name or an incremental name of the attribute or element (according to the global option from the Sample XML Files Generator preferences page). Note that type restrictions are ignored when this option is selected. For example, if an element is of a type that restricts an xs:string with the xs:maxLength facet to allow strings with a maximum length of 3, the XML instance generator tool may generate string element values longer than 3 characters.
  • Random - Inserts a random value depending on the data type descriptor of the particular element or attribute.
    Important: If all of the following are true, the Generate Sample XML Files tool outputs invalid values:
    • At least one of the restrictions is a regexp.
    • The value generated after applying the regexp does not match the restrictions imposed by one of the facets.
Preferred number of repetitions
Allows you to set the preferred number of repeating elements related to minOccurs and maxOccurs facets defined in the XML Schema.
  • If the value set here is between minOccurs and maxOccurs, then that value is used.
  • If the value set here is less than minOccurs, then the minOccurs value is used.
  • If the value set here is greater than maxOccurs, then maxOccurs is used.
Maximum recursion level
If a recursion is found, this option controls the maximum allowed depth of the same element.
Type alternative strategy
Used for the <xs:alternative> element from XML Schema 1.1. The possible strategies are:
  • First - The first valid alternative type is always used.
  • Random - A random alternative type is used.
Choice strategy
Used for <xs:choice> or <substitutionGroup> elements. The possible strategies are:
  • First - The first branch of <xs:choice> or the head element of <substitutionGroup> is always used.
  • Random - A random branch of <xs:choice> or a substitute element or the head element of a <substitutionGroup> is used.
Generate the other options as comments
If selected, generates the other possible choices or substitutions (for <xs:choice> and <substitutionGroup>). These alternatives are generated inside comments groups so you can uncomment and use them later. Use this option with care (for example, on a restricted namespace and element) as it may generate large result files.
Element values subtab
Allows you to add values that are used to generate the content of elements. If there are multiple values, then the values are used in a random order.
Attribute values subtab
Allows you to add values that are used to generate the content of attributes. If there are multiple values, then the values are used in a random order.
Export settings
Use this button to save the current settings for future use.
Import settings
Use this button to load previously exported settings.

You can click OK at any point to generate the sample XML files.

Advanced Tab

The Advanced tab allows you to set some options regarding output values and performance.

Figure 3. Generate Sample XML Files Dialog Box (Advanced Tab)
This tab includes the following options:
Use incremental attribute / element names as default
If selected, the value of an element or attribute starts with the name of that element or attribute. For example, for an <a> element the generated values are: a1, a2, a3, and so on. If not selected, the value is the name of the type of that element / attribute (for example: string, decimal, etc.)
Maximum length
The maximum length of string values generated for elements and attributes.
Discard optional elements after nested level
The optional elements that exceed the specified nested level are discarded. This option is useful for limiting deeply nested element definitions that can quickly result in very large XML documents.
Export settings
Use this button to save the current settings for future use.
Import settings
Use this button to load previously exported settings.
Tip: This function can be executed from an automated command-line script, for more details, see Scripting Oxygen.