FlexDoc/XML - XSDDoc - Parameter Tree

About XSDDoc parameters

«Details | Component | Attribute Detail» parameter group

Parameter Name / Type / Description
Attribute Detail doc.comp.attributes : boolean

Specifies whether to generate the Attribute Detail section, which documents the attribute declarations specified for the given component.

In "Generate For" nested parameter group, you can select precisely for which components this section may be generated.

In "Include" nested parameter group, you can specify which kinds of attribute definitions need to be documented:

  • specified in this component only
  • inherited from ancestor components
  • local attributes
  • global attributes (specified by reference)
  • wildcards
  • prohibitions
Applies To:
  • Elements
  • Complex Types
  • Attribute Groups
Nested Parameter Group:
Controls which kinds of attributes should be documented, for which components, how the attribute should be sorted, how to document a particular attribute.
Related Template:
contentAttributes.tpl

Generate For

doc.comp.attributes.for

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

Elements
Complex Types
Attribute Groups

doc.comp.attributes.for.element : boolean
doc.comp.attributes.for.complexType : boolean
doc.comp.attributes.for.attributeGroup : boolean

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

Include

doc.comp.attributes.include

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

Local

doc.comp.attributes.include.local : enum {"all", "anonymous_type", "none"}

Specify whether to document declarations of local attributes.

Possible Choices:

"all"

Include all local attributes.
"with anonymous type only"
Include only local attributes with anonymous type.
You may need this setting when you rely on documenting local attributes mostly through the Content Model Table Representation, see the parameter group:
Details | Component | Content Model | Table Representation | Attributes
If the attribute type is defined anonymously within the attribute declaration itself, it cannot be fully documented in such a table.
"none"
Do not document local attribute declarations.

References

doc.comp.attributes.include.references : boolean

Specify whether to document references to global attributes

Wildcard

doc.comp.attributes.include.wildcard : boolean

Specify whether to document the declaration of an attribute wildcard.

Only one wildcard declaration per a component may be effective – the one either specified within the declaration of this component itself or inherited from its nearest ancestor
Related Template:
wildcard.tpl

Prohibitions

doc.comp.attributes.include.prohibitions : boolean

Specify whether to document attribute prohibitions.

Only prohibitions declared directly in this component may be documented.

Related Parameter:
DiagramKit | Show in Diagram | Attribute Prohibitions

Inherited

doc.comp.attributes.include.inherited : boolean

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

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

If this parameter is unselected (false), only attributes specified directly within the declaration of this component will be documented. Any attributes inherited from other components will be documented only once along with their parent components (where they are declared). Only hyperlinks to the corresponding attribute 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.attributes.sorting : boolean

This parameter specifies how the attributes should be sorted.

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 documented) 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.

Profile

doc.comp.attributes.profile : boolean

Specifies whether to generate the Attribute Profile section, which contains the summary information about the attribute (such as its type, possible usage, default or fixed value, definition location).

Nested Parameter Group:
Controls what exactly is included in the Attribute Profile section.

Form

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

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

All globally declared attributes have namespace-qualified names.

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

Possible Choices:

"any"
Document the namespace-qualified form for all attribute components (both global and local ones).
"non-default only"
Document the namespace-qualified form only for locally defined attribute 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 attribute.

Type

doc.comp.attributes.profile.type : boolean

Specify whether to show the attribute type information.

Default Value

doc.comp.attributes.profile.default : boolean

Specify whether to show the attribute default value.

Fixed Value

doc.comp.attributes.profile.fixed : boolean

Specify whether to show the attribute fixed value.

Use

doc.comp.attributes.profile.use : boolean

Specify whether to show the possible usage of the attribute.

More exactly, it is the value of the 'use' attribute found in the XSD element of the attribute declaration. For example:

<xs:attribute name="refer" type="xs:QName" use="required"/>
When the 'use' attribute is not specified, the default usage is optional.

Declaration Location

doc.comp.attributes.profile.declared : boolean

Specify whether to show in which component this attribute is declared.

The declaration location may be different from the current component (being documented by this Component Documentation) only when the parameter

Details | Component | Attribute Detail | Include | Inherited
is selected. So, some of the attributes may be those inherited from the component's ancestors.

Description

doc.comp.attributes.desc : boolean

Specify whether to include the full description of the attribute.

The full description text is obtained from all <xs:documentation> elements found by the following path:
xs:attribute/xs:annotation/xs:documentation
Multiple <xs:documentation> elements will produce separate sections of the description text.

See also the "Descriptions" parameter group, where you can specify how annotations are processed and displayed.

Related Template:
annotation.tpl

Attribute Value Detail

doc.comp.attributes.value : boolean

Specifies whether to generate the Attribute Value Detail.

Nested Parameters:

Control the generation of specific details about simple content.

See Also Parameter Groups:

Related Template:
simpleContentDetail.tpl

Representation

doc.comp.attributes.value.rep : boolean

Specify whether to show the Simple Content Representation.

Simple Content Representation briefly shows how the datatype is related to the XSD basic simple types, their lists or unions.
Default Value:
Provided by the parameter: Details | Fragments | Content Model | Simple Content Detail | Representation
Related Template:
simpleContentRep.tpl

Enumerations

doc.comp.attributes.value.rep.enum : enum {"full", "optimal", "none"}

Specify how to represent enumerations.

Possible Choices:

"full"

Always show the full list of enumeration values.
For instance: ("extension" | "restriction" | "list" | "union")
"optimal"
As some enumerations may be very large, the inclusion of full enumeration lists everywhere can overwhelm the value representations and bloat the documentation. This setting allows you to avoid that. When it is selected, the full enumeration list is included only when it is not too large.
Precisely, no more than 150 characters in total. That is programmed in simpleContentRep.tpl template.
Otherwise, the enumeration is abbreviated like in case of "none".
"none"
Each enumeration is represented like
enumeration of xs:string
with the link to the full enumeration list in the corresponding simple type details.
Default Value:
Provided by the parameter: Details | Fragments | Content Model | Simple Content Detail | Representation | Enumerations

Restrictions

doc.comp.attributes.value.restrictions : boolean

Specify whether to show the details of the union(s), list(s) and restrictions (actual facets) along with their descriptions found in the corresponding XML schema annotations.

The list of actual facets is produced as follows.

First, the initial facets are collected by all types starting from the lowest one (which is either this component itself, when it is a type, or the type directly assigned to this component, when it is an element or attribute) 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 nearest to the given component.
  3. All other facets will override the same facets defined in the ancestor types.
Possible Choices:

"full"

Always show all restrictions (facets).
"optimal"
The goal of this setting is to minimize the repeating of voluminous restrictions across the documentation. That concerns only enumeration values and patterns.

When this setting is selected, the restriction is always included only when it is not too long.

For a long restriction:

  1. If the corresponding facets are defined within the same component, for which this restriction detail is generated, such a restriction is always included. That will be the restriction/facet's main documentation.
  2. Otherwise, the restriction's main documentation is looked for. If it exists somewhere in the documentation, the link to it is inserted. If not, the full restriction is inserted here anyway.
"none"
Do not show restriction details
Nested Parameter:
Specifies whether to show the descriptions of facets, lists and unions.
Default Value:
Provided by the parameter: Details | Fragments | Content Model | Simple Content Detail | Restrictions
Related Template:
facet.tpl

Descriptions

doc.comp.attributes.value.restrictions.desc : boolean

Specify if the Simple Content Detail should include the descriptions of lists, unions, restritions and facets.

The full description text is obtained from all <xs:documentation> elements found by the following path:
(xs:facet | restriction | xs:list | xs:union)/xs:annotation/xs:documentation
where 'xs:facet' is one of the elements:
  • xs:enumeration
  • xs:fractionDigits
  • xs:length
  • xs:maxExclusive
  • xs:maxInclusive
  • xs:maxLength
  • xs:minExclusive
  • xs:minInclusive
  • xs:minLength
  • xs:pattern
  • xs:totalDigits
  • xs:whiteSpace
Multiple <xs:documentation> elements produce different sections of the description text. How descriptions are processed and displayed can be customized in the "Descriptions" parameter group.
Possible Choices:

"full"

Always include full descriptions.
"first sentence"
Include only the first sentence of the description text.
"optimal"
The goal of this setting is to minimize the repeating of full descriptions across the documentation.

Either the full description text or its first sentence will be inserted here, which is decided as follows.

If the full description consists of a single sentence, it is all what will be inserted here anyway.

For multi-sentence descriptions:

  1. If the corresponding facet/restriction/list/union is defined within the same component, for which this restriction detail is generated, then the full description is always included.
  2. Otherwise, the facet/restriction/list/union's full description is looked for elsewhere in the documentation. If it exists, only the first sentence of the description is printed here followed by the link to the full description. If not, the full description is inserted here anyway.
"none"
Do not include the restriction descriptions.
Default Value:
Provided by the parameter: Details | Fragments | Content Model | Simple Content Detail | Restrictions | Descriptions
Related Template:
annotation.tpl

Type Detail

doc.comp.attributes.type : boolean

Specify whether to generate the details about the definition of the attribute 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 parameter group "Generate For", you can specify exactly for which attributes this section should be generated.

Other parameters control the section content.

Generate For

doc.comp.attributes.type.for

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

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

Attributes

doc.comp.attributes.type.for.attr : enum {"local", "any"}

Specify the possible scope of attributes for which the Type Detail section may be generated.

Possible Choices:

"local only"
The type details may be generated only for locally defined attributes.

This is the default setting because the global attributes (with their types) are supposed to be documented separately.

"any"
The type details may be generated regardless of the attribute scope.

Type Declarations

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

Specify the possible scope of the attribute 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 attribute 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 attribute type (regardless of its declaration scope).

Description

doc.comp.attributes.type.desc : boolean

Specify whether to include the attribute type description.

Related Template:
annotation.tpl

Type Derivation Tree

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

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

Related Template:
typeDerivationTree.tpl

Simple Content Derivation

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

Specify whether to generate the details about the derivation of the attribute datatype, including all facets and (possibly) annotations.

Possible Choices:

"local definition only"
Document the datatype derivation specified only within the definition of this attribute (i.e. within the XSD <xs:attribute> element defining this attribute).
"full"
Document the entire datatype derivation tree produced from all known XML schema components involved.
"none"
Do not document the datatype derivation.
Nested Parameters:
Specify if certain features should be included in the type derivation details (e.g. full facet details, additional annotations)
Related Template:
simpleContentDerivation.tpl

Facets

doc.comp.attributes.type.deriv.simpleContent.facets : enum {"full", "optimal", "none"}

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 component value/content may be already shown in the «Simple Content Detail» / «Attribute Value Detail» section (some facets specified later may override those specified earlier). See parameters:
Details | Component |
  • Content Model | Simple Content Detail | Restrictions
  • Attribute Details | Attribute Value Detail | Restrictions
  • Content Element Details | Content Model | Simple Content Detail | Restrictions
Possible Choices:

"full"

Show all facets
"optimal"
The goal of this setting is to minimize the repeating of voluminous facets across the documentation. That concerns only enumeration values and patterns.

When this setting is selected:

  • The facet is always shown only when it is not too long.
  • For a long facet. First, the facet's main documentation is looked for somewhere. If it exists somewhere in the «Simple Content Detail» / «Attribute Value Detail» section of this or other component, the link to it is inserted. If not, the full facet will be shown here anyway.
"none"
Do not show restriction details
Related Template:
facet.tpl

Descriptions

doc.comp.attributes.type.deriv.simpleContent.desc : enum {"full", "first_sentence", "optimal", "none"}

Specifies whether the datatype derivation details should include all descriptions.

The full description text is obtained from all <xs:documentation> elements found by the following path:
(xs:facet | restriction | xs:list | xs:union)/xs:annotation/xs:documentation
where 'xs:facet' is one of the elements:
  • xs:enumeration
  • xs:fractionDigits
  • xs:length
  • xs:maxExclusive
  • xs:maxInclusive
  • xs:maxLength
  • xs:minExclusive
  • xs:minInclusive
  • xs:minLength
  • xs:pattern
  • xs:totalDigits
  • xs:whiteSpace
Multiple <xs:documentation> elements produce different sections of the description text. How descriptions are processed and displayed can be customized in the Descriptions parameter group.
Possible Choices:

"full"

Always include full descriptions.
"first sentence"
Include only the first sentence of the description text.
"optimal"
The goal of this setting is to minimize the repeating of full descriptions across the documentation.

Either the full description text or its first sentence will be inserted here, which is decided as follows:

  1. If the full description consists of a single sentence, it is all what will be inserted here anyway.
  2. For multi-sentence descriptions, the facet/restriction/list/union's full description is looked for somewhere in the «Simple Content Detail» / «Attribute Value Detail» section of this or other component. If it exists, only the first sentence of the description is printed here followed by the link to the full description. If not, the full description is inserted here anyway.
"none"
Do not include the descriptions.
Related Template:
annotation.tpl

XML Source

doc.comp.attributes.xml : boolean

Specifies whether to reproduce the XML source of the attribute declaration.

Nested Parameter Group:
Controls how the reproduced XML source will look and what it should include.
Related Templates:
nodeSource.tpl, sourceNote.tpl

Enclose in Box

doc.comp.attributes.xml.box : boolean

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

Remove <xs:annotation>

doc.comp.attributes.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 Description sections of the documentation.
See Also Parameters: