FlexDoc/XML - XSDDoc - Parameter Tree

About XSDDoc parameters

«Details | Component Documentation | Content Element Detail» parameter group

Parameter Name / Type / Description
Content Element Detail doc.comp.contentElements : boolean

Specify whether to generate the «Content Element Detail» section.

Applies To:

  • Elements
  • Complex Types
  • Element Groups
Nested Parameters:
Control which kinds of content elements should be documented, for which components, how they should be sorted, how to document a particular content element.

Generate For

doc.comp.contentElements.for

The parameters in this group allow you to specify exactly for which components the «Content Element Detail» section must be generated.

Elements
Complex Types
Element Groups

doc.comp.contentElements.for.element : boolean
doc.comp.contentElements.for.complexType : boolean
doc.comp.contentElements.for.group : boolean

Specify whether to generate the «Content Element Detail» section respectively for element, complex type and element group components.

Include

doc.comp.contentElements.include

This parameter group controls which kinds of content element declarations will be documented.

Local

doc.comp.contentElements.include.local : boolean

Specify whether to document declarations of local elements

References

doc.comp.contentElements.include.references : boolean

Specify whether to document references to global elements

Wildcards

doc.comp.contentElements.include.wildcards : boolean

Specify whether to document the declarations of element wildcards.

Inherited

doc.comp.contentElements.include.inherited : boolean

Specify whether to document in this section the declarations of content elements inherited from other (ancestor) components.

When this parameter is selected (true), both the elements declared directly within this component itself and those inherited from other (ancestor) components will be documented together. That will result in repeating of the details of the same content element declarations across the documentation of all components that inherit those content elements.

If this parameter is unselected (false), only content elements specified directly within the declaration of this component will be documented. Any content elements inherited from other components will be documented only once along with their parent components (where they are declared). Only hyperlinks to the corresponding content element details will lead from this component documentation (e.g. from the XML Representation Summary). That setting will produce a more compact documentation.

Sorting

doc.comp.contentElements.sorting : boolean

This parameter specifies how the content elements should be sorted.

When selected (true) the elements will be sorted in alphabetic order of their qualified names (with letter case ignored).

When unselected (false) the elements will follow according to some natural order determined by how and where those elements are declared:

  • In the simplest case, when all content elements are declared within the same component, that will be exactly the order of their declarations.
  • When the given component (whose content elements are documented) is based on other components, some of its content elements may be inherited from the ancestor components. In that case, the result element ordering will appear from the subsequent interpretation of all involved components.

Profile

doc.comp.contentElements.profile : boolean

Specifies whether to generate the «Element Profile» section, which contains summary information about the element (such as its type, default or fixed value, definition location).

Nested Parameters:

Control what exactly is included in the Element Profile section.

Form

doc.comp.contentElements.profile.form : enum {"any", "non_default", "none"}

Specify whether to document the form of the element name (i.e. if it should be namespace-qualified or not).

All globally declared elements have namespace-qualified names.

For locally declared elements, their namespace qualification is specified by the 'form' attribute of the element component. When that attribute is absent, its default value is defined by the 'elementFormDefault' attribute of the parent <xs:schema>.

Possible Choices:

"any"
Document the namespace-qualified form for all element components (both global and local ones).
"non-default only"
Document the namespace-qualified form only for locally defined element components with the explicitly specified 'form' attribute. (No default value of that attribute will be documented.)
"none"
Do not document the namespace-qualified form of the element.

Type

doc.comp.contentElements.profile.type : boolean

Specify whether to show the element type information.

Abstract

doc.comp.contentElements.profile.abstract : boolean

Specify whether to document 'abstract' attribute of the element.

Applies To:

References to global elements

Block

doc.comp.contentElements.profile.block : enum {"any", "non_default", "none"}

Specify whether to document 'block' attribute of the element declaration.

Note: For global elements, when 'block' attribute is not specified, its default value is defined by the 'blockDefault' attribute of the parent <xs:schema>.

Possible Choices:

"any"
Document block attribute in any case both for the original and default value.
"non-default only"
Document block attribute only in the case when it is specified on this element. (No default value will be documented.)
"none"
Do not document block attribute.
Applies To:
  • References to Global Elements
  • Local Elements
Nested Parameters:
Specify how to document the 'block' attribute value.

Value

doc.comp.contentElements.profile.block.value : boolean

Specify whether to show the actual value of the 'block' attribute.

Notes:

  • For global elements, when 'block' attribute is not specified on the component, its value will be taken from the 'blockDefault' attribute of the parent <xs:schema>.
  • Empty or blank value will be ignored (treated as no-value)

Meaning

doc.comp.contentElements.profile.block.meaning : boolean

Specify whether to include the text explaining the meaning of the actual 'block' attribute value.

Final

doc.comp.contentElements.profile.final : enum {"any", "non_default", "none"}

Specify whether to document 'final' attribute of the element declaration.

Note: When final attribute is not specified, its default value is defined by the 'finalDefault' attribute of the parent <xs:schema>.

Possible Choices:

"any"
Document final attribute in any case both for the original and default value.
"non-default only"
Document final attribute only in the case when it is specified on this element. (No default value will be documented.)
"none"
Do not document final attribute.
Applies To:
References to global elements
Nested Parameters:
Specify how to document the final attribute value.

Value

doc.comp.contentElements.profile.final.value : boolean

Specify whether to show the actual value of the 'final' attribute.

Notes:

  • When 'final' attribute is not specified on the component, its value will be taken from the 'finalDefault' attribute of the parent <xs:schema>.
  • Empty or blank value will be ignored (treated as no-value)

Meaning

doc.comp.contentElements.profile.final.meaning : boolean

Specify whether to include the text explaining the meaning of the actual 'final' attribute value.

Subst.Gr

doc.comp.contentElements.profile.subst : boolean

Specify whether to show the information about the substitution groups, in which this element is involved (i.e. affiliated, head or member of). This may include:

  • The list (or number) of elements which this element may substitute for.
  • The list (or number) of elements that may substitute for this element.
Applies To:
References to global elements
Nested Parameters:
Controls what exactly is included in the substitution group info.

List of group heads

doc.comp.contentElements.profile.subst.heads : boolean

Specify whether to show the list of the substitution group heads, which this element is member of. (In other words, these are the elements that this element may substitute for.)

When false (unselected), only the number of the substitutable elements will be printed along with the link to the «May substitute for elements» section in the «Element Documentation» (which, when specified, shows the same list).

See Also Parameter:

Details | Component Documentation | Lists Of Related Components | Substitutable Elements

List of group members

doc.comp.contentElements.profile.subst.members : boolean

Specify whether to show the list of the members of the substitution group, which this element is head of. (In other words, these are the elements that may substitute for this element.)

When false (unselected), only the number of the substituting elements will be printed along with the link to the «May be substituted with elements» section in the «Element Documentation» (which, when specified, shows the same list).

See Also Parameter:

Details | Component Documentation | Lists Of Related Components | Substituting Elements

Default Value

doc.comp.contentElements.profile.default : boolean

Specify whether to show the default value of the element simple content.

By default, this parameter is switched off when “Simple Content | Default Value” parameter is selected.

Fixed Value

doc.comp.contentElements.profile.fixed : boolean

Specify whether to show the fixed value of the element simple content.

By default, this parameter is switched off when “Simple Content | Fixed Value” parameter is selected.

Nillable

doc.comp.contentElements.profile.nillable : boolean

Specify whether to document 'nillable' attribute of the element component.

Applies To:

References to global elements

Definition Location

doc.comp.contentElements.profile.defined : boolean

Specify whether to show in which component this content element is defined.

The definition location may be different from the current component (being documented by this «Component Documentation») only when the “Content Element Detail | Include | Inherited” parameter is selected. So, some of the content elements may be those inherited from the component's ancestors.

Note:

By default, this parameter is selected only when the “Content Element Detail | Include | Inherited” parameter is selected too.

Annotation

doc.comp.contentElements.annotation : boolean

Specify whether to include the element annotation (full annotation text).

The annotation text is obtained from the <xs:documentation> elements found by the following path:

xs:element/xs:annotation/xs:documentation
Multiple <xs:documentation> elements will produce separate sections of the annotation text.

See Also:

Processing | Annotations” parameter group, parameter group, where you can specify how annotations are processed and displayed.

XML Representation Summary

doc.comp.contentElements.xmlRep : boolean

Specifies whether to generate the XML Representation Summary of the given content element.

Note:

This section is the same as the one controlled by the parameter “Details | Component Documentation | XML Representation Summary”. However, it is printed in a smaller font.

Generate For

doc.comp.contentElements.xmlRep.for

The parameters in this group allows you to specify exactly for which elements the XML Representation Summary section must be generated.

Each parameter imposes a specific condition on the element and its type. The section is generated when the conditions by all parameters in this group are satisfied.

Elements

doc.comp.contentElements.xmlRep.for.element : enum {"local", "any"}

Specify the possible scope of content elements for which the XML Representation Summary may be generated.

Possible Choices:

"local only"
Generate this section only for locally declared elements (i.e. not those specified by reference to a global element component).

You may choose this setting when you prefer to document some (or all) local elements only locally so that the details about them appear only in the «Content Element Detail» section of the «Component Documentation» generated for their parent components (where those local elements are declared or used).

For more information, see also:

"any"
Generate this section regardless of the element scope.

With Types

doc.comp.contentElements.xmlRep.for.type : enum {"complexType", "simpleType", "any"}

Specify the possible types of elements for which the XML Representation Summary section may be generated.

Possible Choices:

"complex type"
The section may be generated only for elements with complex types.
"simple type"
The section may be generated only for elements with simple types.
"any"
Generate this section regardless of the element type.

Sorting

doc.comp.contentElements.xmlRep.sorting : boolean

This parameter specifies the ordering of attributes shown in the XML Representation Summary.

When selected (true) the attributes will be sorted in alphabetic order of their qualified names (with letter case ignored).

When unselected (false) the attributes will follow according to some natural order determined by how and where those attributes are declared:

  • In the simplest case, when all attributes are declared within the same component, that will be exactly the order of their declarations.
  • When the given component (whose attributes are represented) is based on other components, some of the attributes may be inherited from them. Moreover, the ancestor components may block certain attributes declared in their own ancestors. In that case, the result attribute ordering will appear from the subsequent interpretation of all involved components.

Show Heading

doc.comp.contentElements.xmlRep.heading : boolean

Specify whether to show the heading string: "XML Representation Summary".

Simple Content

doc.comp.contentElements.simpleContent : boolean

Specify whether to generate the details of the element simple content. This may include:

  1. The datatype model. It shows how the element content datatype is related to the XSD basic simple types.
  2. The content restrictions (that is all actual facets).
  3. The default value of the element content.
  4. The fixed value of the element content.
Applies To:
Content elements with simple content model (i.e. whose type is either a simple type or a complex type with simple content).

Datatype Model

doc.comp.contentElements.simpleContent.model : boolean

Specify whether to generate the datatype model, which shows how the element content datatype is related to the XSD basic simple types.

Note:

Since the datatype model of possible element content is actually a part of the element XML Representation Summary, it will not be generated separately (regardless of the setting of this parameter) when the “XML Representation Summary” parameter is selected.

Restrictions

doc.comp.contentElements.simpleContent.restrictions : boolean

Specify whether to show all actual facets that restrict a possible value allowed for for the element simple content.

The list of actual facets is produced as the following.

First, the initial facets are collected by all types starting from the type assigned to the element throughout the chain of all its ancestor types (both global and anonymous) until the top ancestor passed or a derivation by list or union reached.

Further, the produced sequence of facets is filtered so as the facets collected earliest (that is defined in lower descendant types) remain and those overridden by them are removed. In particular:

  1. All xs:pattern facets will remain, because a value allowed for the given simple content must match all of them.
  2. The xs:enumeration facets will remain those that are defined in the same type, which is either the element type itself or the one nearest to it.
  3. All other facets will override the same facets defined in the ancestor types.
Nested Parameter:
Specifies whether to show the annotation of each facet.
See Also Parameter:
Type Detail | Simple Content Derivation | Facets

Annotations

doc.comp.contentElements.simpleContent.restrictions.annotation : boolean

Specify whether to include the facet annotations.

Default Value

doc.comp.contentElements.simpleContent.default : boolean

Specify whether to show the default value of the element content.

The default value is provided by the 'default' attribute of the XSD element that declares the element component. For example:

<xs:element name="Language" type="LanguageType" default="English"/>
When the element (with simple content) is declared by reference, its default value may be specified both in the local reference component (which is being documented here) and in the global (referenced) element component. In that case, the actual default value will be looked for, first, in the reference component and, then, in the global one.

Fixed Value

doc.comp.contentElements.simpleContent.fixed : boolean

Specify whether to show the fixed value of the element content.

The default value is provided by the 'fixed' attribute of the XSD element that declares the element component.

When the element is declared by reference, its fixed value can be specified either in the local reference component (which is being documented here) or in the global (referenced) element component. In that case, the fixed attribute is looked for in the both components.

Type Detail

doc.comp.contentElements.type : boolean

Specify whether to generate the details about the definition of the content element type.

This section may include:

  1. The «Type Derivation Tree» summary, which graphically depicts how the type was derived from the most basic types.
  2. The type annotation.
  3. The type derivation details, which include all facets and annotations to them. With the nested “Simple Content Derivation” parameter, you can specify whether to document the entire datatype derivation tree produced from all known XML schema components involved.
Nested Parameters:
In the nested “Generate For” parameter group, you can specify exactly for which content elements this section should be generated.

Other parameters control the section content.

Generate For

doc.comp.contentElements.type.for

The parameters in this group allows you to specify exactly for which content elements the Type Detail section must be generated.

Each parameter imposes a specific condition on the element and its type. The Type Detail section is generated when the conditions by all parameters in this group are satisfied.

Elements

doc.comp.contentElements.type.for.element : enum {"local", "any"}

Specify the possible scope of content elements for which the «Type Detail» section may be generated.

Possible Choices:

"local only"
The type details may be generated only for locally defined elements (i.e. not those specified by reference to a global element component).

You may choose this setting when you prefer to document some (or all) local elements only locally so that the details about them appear only in the «Content Element Detail» section of the «Component Documentation» generated for their parent components (where those local elements are declared or used).

For more information, see also:

"any"
Generate type details regardless of the element scope.

Types

doc.comp.contentElements.type.for.type : enum {"simpleType", "any"}

Specify for which element types the «Type Detail» section may be generated.

Possible Choices:

"simple type"
The type details may be generated only for simple types.
"any"
The type details may be generated for any types (both simple and complex).

Type Declarations

doc.comp.contentElements.type.for.typeDecl : enum {"anonymous", "any"}

Specify the possible scope of the type declaration for which the «Type Detail» section may be generated.

Possible Choices:

"anonymous"
The type details may be generated only in the case of an anonymous type. (The anonymous type is the one that is defined directly within the definition of the element component.)

This is the default setting because the (non-anonymous) global types are supposed to be documented separately.

"any"
The type details should be generated for any element type (regardless of its declaration scope).

Annotation

doc.comp.contentElements.type.annotation : boolean

Specify whether to include the element type annotation.

Type Derivation Tree

doc.comp.contentElements.type.deriv.tree : boolean

Specify whether to generate the «Type Derivation Tree» summary, which graphically depicts how the element type was derived from the most basic types.

Simple Content Derivation

doc.comp.contentElements.type.deriv.simpleContent : boolean

Specify whether to generate the details about the derivation of the element's simple content datatype, including all facets and (possibly) annotations.

Possible Choices:

"local definition only"
Document the datatype derivation specified only within the definition of this element (i.e. within the XSD <xs:element> element defining this element component).
"full"
Document the entire datatype derivation tree produced by all known XML schema components involved.
"none"
Do not document the datatype derivation.
Applies To:
Content elements with simple content model (i.e. whose type is either a simple type or a complex type with simple content).
Nested Parameters:
Specify if certain features should be included in the type derivation details (e.g. full facet details, additional annotations)

Facets

doc.comp.contentElements.type.deriv.simpleContent.facets : boolean

Specify whether to show facets specified in each derivation step.

You may want to disable documenting every facet specified during the type derivation because all actual facets that restrict the element value/content may be already shown in the Simple Content section (some facets specified later may override those specified earlier).

See Also Parameter:

Simple Content | Restrictions

Annotations

doc.comp.contentElements.type.deriv.simpleContent.annotations : boolean

Specifies whether the datatype derivation details should include all annotations (e.g. facet annotations)

XML Source

doc.comp.contentElements.xml : boolean

Specifies whether to reproduce the XML source of the content element declaration.

Nested Parameters:

Control how the reproduced XML source will look and what it should include.

Enclose in Box

doc.comp.contentElements.xml.box : boolean

Specifies if the reproduced XML should be enclosed in a box.

Remove Annotations

doc.comp.contentElements.xml.remove.anns : boolean

Specifies whether to remove all <xs:annotation> elements from the reproduced XML source fragment.

You may want to exclude the <xs:annotation> elements from the reproduced XML source because such elements may occupy a lot of space (especially, when you use XHTML to format your annotations), so they could overwhelm anything else making it difficult to read other important things. Moreover, the actual content of the <xs:annotation> elements may be already shown (as a formatted text) in the corresponding «Annotation» sections of the documentation.

See Also Parameters: