FlexDoc/XML - XSDDoc - Parameter Tree

About XSDDoc parameters

«Generate Details» parameter group

This group of parameters controls the overall content of the generated XML schema documentation.

The XML schema documentation generated with “XSDDoc” template set is built of large independent documentation blocks.

In the case of framed HTML documentation (generated by FramedDoc.tpl main template), each of those blocks becomes a separate HTML file (or page) that is displayed in the Detail Frame:

In the case of single file (HTML or RTF) documentation (generated by SingleDoc.tpl main template), those blocks become separate sections that follow one after another. In RTF each of those sections also has its own page header/footer.

There are the following types of documentation blocks:

Using parameters in this group, you can specify which of those blocks must be generated and for what XML schema components (e.g. Component Documentation blocks).

What exactly is included in particular those blocks is specified in the parameter group: Details

Parameter Name / Type / Description

For Schemas

gen.for.schemas

This group of parameters allows you to select which XML schema files (and components defined in them) will be documented.

The XML schema files you initially specify on the command line (or in the generator dialog) are the primary XML files to be processed by the XSDDoc template set.

However, those initial XML schemas may call (reference) from themselves some other XML schema files (via <xs:import>, <xs:include> and <xs:redefine> elements) and they, in turn, yet more extra schemas.

All those initial and referenced XML schema files will constitute the whole your XML schema project. Generally, all of them must be loaded and processed in order to make sense of the declarations specified in your initial XML schemas. Some of the imported extra XML schemas may be the standard (and fairly big) ones used in other your projects.

So, do you need to document all the involved XML schemas? If not, which ones? That can be specified with the parameters in this group.

Initial

gen.for.schemas.initial : boolean

Specify whether to document the XML schema files initially specified on the generator command line (or in the generator dialog).

You may need to unselect this parameter, when you specify a precise list XML schema files to be documented (see “Include” parameter in this group).

Imported

gen.for.schemas.imported : boolean

Specify whether to document all additional XML schema files loaded by <xs:import> elements.

When an XML schema is both specified initially on the command line and referred from an <xs:import> element, it is loaded only once as the initial XML schema, however, it will be marked as the imported schema as well.

Included

gen.for.schemas.included : boolean

Specify whether to document the additional XML schema files referenced from <xs:include> elements.

Redefined

gen.for.schemas.redefined : boolean

Specify whether to document the additional XML schema files referenced from <xs:redefine> elements.

Include

gen.for.schemas.include : list of strings

With this parameter, you can add a precise list of XML schemas to be documented.

Each XML schema is specified in the list with its file name (the last name in the pathname's name sequence, e.g. "xml.xsd"). Multiple file names should be separated with the allowed item separator (';' or newline).

This parameter works in addition to other schema selection parameters (above) and won't override them.

Exclude

gen.for.schemas.exclude : list of strings

Using this parameter, you can filter out some schemas from those initially selected with the parameters above.

Each excluded XML schema should be specified with its file name (the last name in the pathname's name sequence, e.g. "xml.xsd"). Multiple file names are separated with the allowed item separator (';' or newline).

Note: This parameter overrides the “Include” parameter (above). That is, when a schema file is specified in both “Include” and “Exclude” parameters, it will be excluded from the documentation scope.

Sorting

gen.sorting

This parameter group allows you to control the sorting of namespaces, schemas and components throughout the whole documentation.

Namespaces

gen.sorting.namespaces : boolean

This parameter allows you to control how namespaces are sorted throughout the whole documentation.

It directly affects:

  1. The order in which the namespaces are listed in the Overview Frame (see also the parameter: Navigation | Overview Frame).
  2. In the case of framed documentation, the order in which namespace become fully processed and documented.

    That determines which namespace gets documented the first, which, in turn, may affect the initial content of the frames:

  3. In the case of single file documentation, the order in which the full details of namespaces follow in the file.

    Those details may include the Namespace Overview and the details of all components belonging to the namespace (Component Documentation blocks).

Additionally, this parameter provides the default value for another parameter:
Details | Overview | Namespace Summary | Sorting
which controls the sorting of the namespace summary table.

The parameter has the following meaning:

  • When it is selected (true), the namespaces will be sorted alphabetically by their URIs (ignoring letter case).
  • When the parameter is unselected (false), the namespaces will not be sorted anyhow. In that case, the ordering of namespaces will be defined by how the initial XML schemas (to be documented) have been specified as well as how these schemas import other XML schemas.

    For more information about this, see also the parameter group: Generate Details | For schemas

Schemas

gen.sorting.schemas : boolean

This parameter allows you to control how XML schemas are sorted throughout the documentation.

It directly affects:

  1. The order in which XML schemas are listed in the Overview Frame (see also the parameter: Navigation | Overview Frame).
  2. In the case of framed documentation, the order in which XML schemas become fully documented (which includes the generation of the Schema Components and Schema Overview pages for a schema).

    That determines which XML schema gets documented the first, which, in turn, may affect the initial content of the frames:

  3. In the case of single file documentation, the order in which the Schema Overview blocks (generated for each XML schema) follow in the file.
Additionally, this parameter provides the default values of other parameters:
  • Details | Overview | Schema Summary | Sorting
  • Details | Namespace | Schema Summary | Sorting
which control the sorting of XML schema summaries.

The parameter has the following meaning:

  • When it is selected (true), the XML schemas will be sorted alphabetically by their file names (ignoring letter case).
  • When the parameter is unselected (false), the XML schemas will follow in a certain "physical" order, which is determined by how the initial XML schemas (to be documented) have been specified as well as how these schemas import other XML schemas.

    For more information about this, see also the parameter group: Generate Details | For schemas

Components

gen.sorting.comps : boolean

With this parameter you can specify at once the sorting order of components for a number of locations throughout the documentation. This includes:

  1. The sorting of components summaries.

    In fact, that is controlled via other parameters:

    • Details | All Components | Sorting
    • Details | Namespace | Component Summaries | Sorting
    • Details | Schema | Component Summaries | Sorting
    However, this parameter provides the default value to all of them. (Thereby, in most cases you don't need to specify any of those parameters directly.)
  2. In the case of framed documentation, the sorting of component navigation lists.

    Precisely, this is controlled via the following parameters (for which this parameter provides the default value):

    • Navigation | List Frame | All Components | Sorting
    • Navigation | List Frame | Namespace | Sorting
    • Navigation | List Frame | Schema | Sorting
  3. In the case of single file documentation, this parameter directly controls the ordering of component details (called Component Documentation).
The parameter has the following meaning:
  • When the parameter is selected (true), the components will be sorted alphabetically by their names (ignoring letter case).

    The component name is assumed to be that under which the component appears (is referenced to) at the given documentation location. This is typically the component qualified name (which is the actual namespace prefix plus the component local name). That, however, can be changed using the parameter: Show | Namespace Prefixes

    Additionally, in the case of a local element, the component name may also include a special extension used to distinguish the equally named local elements. For more details about this, please see the parameter: Show | Element Name Extensions

  • When the parameter is unselected (false), the components will not be sorted. In that case they will follow in a certain "physical" order produced according to the following.

    When the components come from different XML schemas, first, they will be grouped by their schemas. The ordering of those groups is determined by how the initial XML schemas (to be documented) have been specified as well as how these schemas import other XML schemas (for that matter, see also the parameter group: Generate Details | For schemas).

    Within a group belonging to the same XML schema, the components will follow in the same order as they are defined in that schema.

    This gives you a possibility to specify a particular ordering of the components (e.g. elements) by yourself. Simply define the most important components (e.g. an XML document's root element) on the top of the XML schema. If you have several schemas to document, specify the most important of them the first. That will produce the component ordering as you wish (or something close to it).

Title Page

gen.titlePage : boolean

Available only in SingleDoc.tpl

Specify whether to generate the Title Page.

The title page is available only in single-file documentation. When generated, it will be the very first page of the entire documentation.

Related Template:

The title page is generated by the template: title-page.tpl

By default, it just prints (with a large font) the text specified in the parameter:

Literal Input | Documentation Title
That text may also include some HTML markup, which will be recognized and rendered.

You may easily edit the title-page.tpl template and add/change whatever you need (e.g. you can add you company logo or other images).

Table Of Contents

gen.titlePage : boolean

Available only in SingleDoc.tpl

Specify whether to generate/insert the Table Of Contents of the documentation, which is available both in HTML and RTF format.
In the case of RTF, the Table Of Contents (TOC) is actually not generated by FlexDoc. Rather, a special RTF "{TOC}" field is inserted. The real TOC is generated by MS Word according to that field and style/level paragraph settings specified on the headings of major documentation sections. Those heading will form TOC according to the documentation structure.

To have the Table Of Contents generated, the document should be loaded in MS Word and the {TOC} field updated. For instance, you can press Ctrl-A (select all) and then F9 (update selected fields).

See Also Parameter:
Pagination | Start from new page | Table Of Contents
Related Template:
TOC.tpl

Overview

gen.overview : boolean

Specifies whether to generate the Overview Summary page/block.

The Overview Summary may be generated only once for the entire XML schema documentation. It appears the first in the Detail Frame of framed documentation (when it is started) or on the first page of single file documentation (RTF).

The exact content of the Overview Summary is controlled by the parameter group:

Details | Overview
See Also Parameter (only for SingleDoc.tpl):
Pagination | Start from new page | Overview
Related Template:
overview.tpl

All Components

gen.allcomps : boolean

Specifies whether to generate the All Component Summary page/block.

This page/block may be generated only once for the entire XML schema documentation. It contains summaries of all schema components of the specified types throughout all schemas being documented.

The exact content of the All Component Summary is controlled by the parameter group:

Details | All Components
See Also Parameter (only for SingleDoc.tpl):
Pagination | Start from new page | All Components
Related Template:
all-components.tpl

Join with Overview

gen.allcomps.join.overview : boolean

Specify whether the summary of all components should be added to the Overview Summary page (instead of creating a separate page for it).

That may be more convenient for small XML schemas.

Namespace

gen.namespace : boolean

Specifies whether to generate the Namespace Overview pages/blocks.

When specified, the Namespace Overview will be generated for each namespace being documented (i.e. targeted by at least one of the documented XML schemas).

The exact content of the Namespace Overview is controlled by the parameter group:

Details | Namespace
See Also Parameter (only for SingleDoc.tpl):
Pagination | Start from new page | Namespace
Related Template:
namespace.tpl

Schema

gen.schema : boolean

Specifies whether to generate the Schema Overview pages/blocks.

When specified, the Schema Overview will be generated for each XML schema being documented.

The exact content of the Schema Overview is controlled by the parameter group:

Details | Schema
See Also Parameter (only for SingleDoc.tpl):
Pagination | Start from new page | Schema
Related Template:
schema.tpl

Components

gen.comp : boolean

Specifies whether to generate Component Documentation pages/blocks (i.e. details of XSD components).

The exact content of the Component Documentation is controlled by the parameter group:

Details | Component
Nested Parameters:
Specify particular types of XSD component, for which the details page/block will be generated.
See Also Parameter (only for SingleDoc.tpl):
Pagination | Start from new page | Components

Elements

gen.comp.element : boolean

Specifies whether to generate the detailed Component Documentation for each global element component and some of the local element components defined across all XML schemas being documented.

Nested Parameter:

Specify which of the local element components must be documented.
See Also Parameter (only for SingleDoc.tpl):
Pagination | Start from new page | Components | Element
Related Templates:
element.tpl, elements.tpl

Separate Top-Level Elements

gen.comp.element.topLevel : boolean

Specify whether top-level elements should be grouped separately from all other elements (i.e. at the top of the whole element list/summary and under a separate heading).

This parameter affects:

Sorting

gen.comp.element.topLevel.sorting : boolean

Specify whether to sort the list (summary etc.) of top-level elements.

Typically, there is only one such an element. So, no sorting is needed. But in some cases, there may be several elements satisfying the top-level criteria. In that case, you may want to have them sorted.

When sorting is disabled, the elements will follow in the same order as they are defined in the schemas and those schemas are processed.

Default Value:

Provided by the parameter: Generate Details | Sorting | Components

Local Elements

gen.comp.element.local : enum {"all", "complex_type", "none"}

Specifies whether to generate the separate (global) Component Documentation for local elements (i.e. locally defined element components).

Possible Choices:

"all"

Document all local elements the same way as global ones (see Global Documenting below).
"with complex type only"
Generate the detailed Component Documentation only for local elements with complex types.
Certain XML schema design patterns avoid using global element components almost entirely. Instead, they define a single global element component that describes the root element of a possible XML document. Any other elements, which may be contained in that XML document, are defined using only global types and local element components.

Moreover, frequently, those XML schemas also define no element attributes. Instead, to store in an XML document the elementary data normally supposed for attributes, they define lots of local elements with primitive simple types.

As a result, such an XML schema contains great a lot of insignificant local element components. When all of them are documented separately (and appear in main element component lists) they may overwhelm everything else.

If your XML schemas is designed according to that pattern, this parameter value allows you to avoid exactly such a mess!

"none"
Do not generate separate Component Documentation for local elements.
See Also Parameter Group:
Details | Component – controls the exact content of the separate (global) Component Documentation.

Unify By Type

gen.comp.element.local.unifyByType : boolean

Specify whether to unify local elements by type:

  • If true, all local elements that share the same name (in the same namespace) and the same global type are documented as a single entity – unified local element.
  • If false, every local element component will be documented separately.
For more details, please see Unifying local elements by type.

Store By Parents

gen.comp.element.local.storeByParents : boolean

Specify how the documentation of local elements (and their diagrams) must be stored.

This parameter can be used (enabled) only when the parameter
Generate Details | Components | Elements | Local Elements | Unify By Type
is unselected (false). If the unification by type is enabled, several local elements defined in different locations may be documented together in the same documentation file. This breaks the whole idea of storing element docs according their definition locations! In that case, this parameter is disabled and false.
When this parameter is true, all documentation files for local elements will be stored in the subdirectory structure reproducing their parent components (in which they are defined).

Namely, for a local element 'localElement' defined in a parent component, its documentation file will be stored as follows:

Parent Component Element Documentation File
global complex type
'parentName'
.../schemas/schemaName_xsd/complexTypes/parentName/localElement.html
global element group
'parentName'
.../schemas/schemaName_xsd/groups/parentName/localElement.html
global element
'parentName'
.../schemas/schemaName_xsd/elements/parentName/localElement.html
another local element
'parentName'
.../schemas/schemaName_xsd/.../parentName/localElement.html

At that, the subdirectory structure of the parent element will be reproduced at any depth according to the rules above.

That system will allow you to know precisely where each element documentation (or diagram) file is located according to its definition location in the schema. So, you will be able to reference it from outside.
The component diagrams are stored in the same directory along with the component documentation files under the same names however with different extension (corresponding the image format), e.g.:

.../schemas/schemaName_xsd/complexTypes/parentName/localElement.html
.../schemas/schemaName_xsd/complexTypes/parentName/localElement.png

When this parameter is false, all element documentation files are stored in the same directory:
.../schemas/schemaName_xsd/elements/
When the element name is repeating (which is possible for local elements), the file name will be extended with a numeric suffix, e.g.:
.../schemas/schemaName_xsd/elements/elementName_3.html
Which particular number is used in the suffix is unpredictable. (Its only purpose is to make the file name unique.) That will make it impossible to reference the documentation/diagrams of such elements from outside!

However, if you don't need that, the produced HTML documentation files will be more compact (as all links to local element docs will be shorter).

See Also Parameter:

Details | Component | Content Element Detail | Content Model | Diagram | Store By Parents

Complex Types

gen.complexType : boolean

Specifies whether to generate the detailed Component Documentation for each global complex type component.

See Also Parameter (only for SingleDoc.tpl):

Pagination | Start from new page | Components | Complex Type
Related Templates:
complexType.tpl, complexTypes.tpl

Simple Types

gen.comp.simpleType : boolean

Specifies whether to generate the detailed Component Documentation for each global simple type component.

See Also Parameter (only for SingleDoc.tpl):

Pagination | Start from new page | Components | Simple Type
Related Templates:
simpleType.tpl, simpleTypes.tpl

Element Groups

gen.comp.group : boolean

Specifies whether to generate the detailed Component Documentation for each global element group component.

See Also Parameter (only for SingleDoc.tpl):

Pagination | Start from new page | Components | Element Group
Related Templates:
group.tpl, groups.tpl

Attribute Groups

gen.comp.attributeGroup : boolean

Specifies whether to generate the detailed Component Documentation for each global attribute group component.

See Also Parameter (only for SingleDoc.tpl):

Pagination | Start from new page | Components | Attribute Group
Related Templates:
attributeGroup.tpl, attributeGroups.tpl

Global Attributes

gen.comp.attribute : boolean

Specifies whether to generate the detailed Component Documentation for each global attribute component.

See Also Parameter (only for SingleDoc.tpl):

Pagination | Start from new page | Components | Global Attribute
Related Templates:
globalAttribute.tpl, globalAttributes.tpl

XML Namespace Bindings

gen.xmlnsBindings : boolean

Specifies whether to generate the Namespace Bindings report.

This report will allow you to quickly find by any namespace prefix used in the source XSD files the namespace URI associated with it and the exact location where that namespace binding is specified.

See Also Parameter (only for SingleDoc.tpl):

Pagination | Start from new page | XML Namespace Bindings
Related Template:
xmlns-bindings.tpl