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 and go to .
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 tooptional
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.
- At least one of the restrictions is a
- Preferred number of repetitions
- Allows you to set the preferred number of repeating elements related to
minOccurs
andmaxOccurs
facets defined in the XML Schema.- If the value set here is between
minOccurs
andmaxOccurs
, then that value is used. - If the value set here is less than
minOccurs
, then theminOccurs
value is used. - If the value set here is greater than
maxOccurs
, thenmaxOccurs
is used.
- If the value set here is between
- 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.
- First - The first branch of
- 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.