Edit online

Sample XML Files Generator Preferences

The Generate Sample XML Files tool (available on the Tools menu) allows you to generate XML instance documents based on an XML Schema. There are various options that can be configured within the tool and these options are also available in the Sample XML Files Generator preferences page. This allows you to set default values for these options. To configure the options for generating the XML files, open the Preferences dialog box (Options > Preferences) and go to XML > Sample XML Files Generator.

The following options are available:
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.
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.