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.

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.

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.

Default Value

doc.comp.attributes.profile.default : boolean

Specify whether to show the attribute default value.

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

Fixed Value

doc.comp.attributes.profile.fixed : boolean

Specify whether to show the attribute fixed value.

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

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 | XSD Annotations" parameter group, where you can specify how annotations are processed and displayed.

Related Template:
annotation.tpl

Attribute Value

doc.comp.attributes.value : boolean

Specify whether to generate the information about a possible attribute value. This may include:

  1. The datatype model. It shows how the attribute datatype is related to the XSD basic simple types.
  2. The value restrictions (that is all actual facets).
  3. The default value of the attribute.
  4. The fixed value of the attribute.
Nested Parameter Group:
Controls generation of specific items

Datatype Model

doc.comp.attributes.value.model : boolean

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

Related Template:
simpleContentRep.tpl

Restrictions

doc.comp.attributes.value.restrictions : boolean

Specify whether to show all actual facets that restrict a possible value allowed for this attribute.

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 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 the attribute value must match all of them.
  2. The xs:enumeration facets will remain those that are defined in the same type, which is either the attribute 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:
Attribute Detail | Type Detail | Simple Content Derivation | Facets
Related Template:
facet.tpl

Descriptions

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

Specify whether to include the facet descriptions.

Related Template:
annotation.tpl

Default Value

doc.comp.attributes.value.default : boolean

Specify whether to show the attribute default value.

The default value is provided by the 'default' attribute specified in the XSD element of the attribute declaration. For example:

<xs:attribute name="abstract" type="xs:boolean" default="false"/>
When the attribute is defined by reference to a global attribute, its default value may be specified both in the local reference component (which is being documented here) and in the global (referenced) attribute 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.attributes.value.fixed : boolean

Specify whether to show the attribute fixed value.

The default value is provided by the 'fixed' attribute specified in the XSD element of the attribute declaration. For example:

<xs:attribute name="version" type="xs:string" fixed="2.0"/>
When the attribute is defined by reference to a global attribute, its fixed value can be specified either in the local reference component (which is being documented here) or in the global (referenced) attribute component. In that case, the fixed attribute is searched for in the both components.

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 : 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 attribute value may be already shown in the Attribute Value section (some facets specified later may override those specified earlier). See parameter:
Details | Component | Attribute Detail | Attribute Value | Restrictions
Related Template:
facet.tpl

Descriptions

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

Specifies whether the datatype derivation details should include all descriptions (e.g. facet 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: