FlexDoc/XML - XSDDoc - Templates
Subtemplates
The actual documentation content is generated by subtemplates, which are called both from the main templates and from each other. All subtemplates are found in{XSDDoc}/lib
directory and its subdirectories.
Subtemplates are normal FlexDoc/XML templates. However, they are typically not designed to run directly from the generator as the main templates – that will cause an error or produce meaningless output.
Below is the summary of all subtemplates by directories:Directory/Template | Description |
---|---|
[lib] | general-purpose subtemplates |
about.tpl |
Adds the «About» section at the bottom of each separate output document.
|
init.tpl |
This template produces no output. Instead, it is called only once from either FramedDoc.tpl or SingleDoc.tpl
main templates before any other processing starts.
The template's job is to load all XML schema files to be processed/documented (including those references from them directly or indirectly) and
to create all necessary element maps, which are essentially hash-maps. Element maps allow you to resolve
very complicated queries. They are used in almost everywhere in XSDDoc template set (including even in init.tpl itself)
and are critical for working of everything.
|
nav-bar.tpl |
Generates the navigation bar.
Called From: Related Parameter: |
nav-bottom.tpl |
Generates the bottom of each detail page of framed HTML documentation, which may include:
|
nav-top.tpl |
Generates the top of each detail page of framed HTML documentation, which may include:
|
overview-frame.tpl |
Generates the HTML document loaded in the Overview Frame,
which contains the primary navigation lists (such as the lists of namespaces and XML schemas that have been documented).
Calls: Called From: Related Parameter: |
overview.tpl |
Generates the «Overview Summary» documentation
page/block.
Calls: Called From: Related Parameters: |
title-page.tpl |
Generates the Title Page in single-file documentation.
Called From: Related Parameter: |
TOC.tpl |
Generates the Table Of Contents in single-file documentation.
Calls: Called From: Related Parameter: |
[lib/attribute] |
subtemplates related to documenting attribute components (those specified in XML schema with <xs:attribute> elements)
|
attributes.tpl |
Generates the «Global Attributes» section of single-file documentation.
Calls: Called From: Related Parameter: |
contentAttributes.tpl |
Generates «Attribute Detail» section of the Component Documentation,
which provides the most detailed information about each attribute (and attribute wildcard) found in the XSD component's content model.
Calls: Called From: Related Parameters: |
globalAttribute.tpl |
Generates «Component Documentation»
pages/blocks
for global attributes.
Calls: Called From: Related Parameters: |
globalAttributeProfile.tpl |
Generates «Component Profile» section for global attributes
Calls: Called From: Related Parameters: |
globalAttributeSummary.tpl |
Generates «Global Attribute Summary» sections.
Calls: Called From: Related Parameters: |
[lib/component] | subtemplates involved in documenting of all types of components |
all-components-frame.tpl |
Generates «All Components» navigation page loaded in the List Frame.
Calls: Called From: Related Parameter: |
all-components.tpl |
Generates «All Component Summary»
page/block.
Calls: Called From: Related Parameter: |
componentLinkTitle.tpl |
Generates the text specified as title (tooltip) of component hyperlink. This provides addition information about the component,
which can be easily seen by moving the mouse cursor over the component name.
Calls: Called From:
|
componentName.tpl |
Generates the full name of a component, under which it appears in various lists and references. This includes:
Calls: Called From:
|
[lib/content] | Subtemplates that generate various information and representations of the XML element content described by a given XSD component |
complexContentModel.tpl |
Generates «Content Element Model» sections within
XML Representation Summary
Calls: Called From: |
contentType.tpl |
Generates a short description of the content represented by an element or complexType component, e.g.:
simple, complex, mixed, empty
Called From: Related Parameters: |
facet.tpl |
Generates «Facet Documentation» section.
Calls: Called From:
|
simpleContentDerivation.tpl | Generates a section that shows how a simple content was derived, like on the following screenshot: Calls: Called From: Related Parameters: |
simpleContentRep.tpl |
Generates a short representation of simple content, like the following:
list of (xs:anyURI | ("##targetNamespace" | "##local"))
|
tableRep.tpl |
Generates the Table Representation of component content model.
Calls:
|
wildcard.tpl |
Generates a textual representation of an element/attribute wildcard
(specified in XML schema with <xs:any> and <xs:anyAttribute> elements).
That is used in
Called From:
|
xmlRep.tpl |
Generates the XML Representation Summary
Calls: Called From: Related Parameters: |
[lib/description] | Subtemplates that convert the text data found in the source XML files into the descriptions placed in the documentation. |
annotation.tpl |
Generates all «Description» sections whose content comes from the <xs:annotation> elements found in XML schema.
That includes the
processing of any
XHTML markup specified within XML schema annotations.
Calls: Called From:
|
annotationText.tpl |
Generates the description text equally obtained from <xs:annotation> elements, however, used only in various summary tables
depending on particular template parameters:
|
text.tpl |
Renders the text data specifed in the raw XML source into the full description placed in the generated documentation.
That includes also the processing of any
XHTML markup specified along with the text. The images
specified in the XML source with <img> elements are equally copied/inserted into the output documentation.
Called From: Related Parameters: |
textFS.tpl |
This template does the same as text.tpl. However, its output is more suitable
for extracting the first sentence (to be placed in summary table).
For instance, when the processing of XHTML markup
is enabled, all images are removed and spaces collapsed (particularly within <pre> tags).
Called From: |
xhtmlHeadContent.tpl |
When a description comes from an XHTML file, that file may contain both embedded CSS stylesheet and references to external CSS files.
That everything should be copied into the generated HTML documentation along with the output file, where that description is inserted.
That's what this template does.
Called From: Related Parameters: |
[lib/diagramming] | subtemplates related to the generation of diagrams |
diagram.tpl |
Generates «Component Diagram» sections
Calls: Called From: Related Parameters: See Also: |
DiagramKit.tpl |
DiagramKit service template.
DiagramKit is a diagramming engine that generates
graphical diagrams of XML schema components. Those diagrams are integrated into the output documentation by the diagram.tpl template.
Calls:
Called From:
Related Parameters:
However, DiagramKit does not parse XML schema files on its own. Rather, it must be provided with the structured data about the XSD component via a special API exposed to templates via special FlexQuery functions and properties. That's what this template does. It loads the DiagramKit with all the data necessary to generate diagrams. |
[lib/element] |
subtemplates related to documenting element components (those specified in XML schema with <xs:element> elements)
|
contentElementList.tpl |
Generates the «List of Content Elements» section of Component Documentation
Calls: Called From: Related Parameters: |
contentElements.tpl |
Generates «Content Element Detail» section of Component Documentation,
which provides the most detailed information about each child element (and element wildcard) found in the XSD component's content model.
Calls:
|
element.tpl |
Generates «Component Documentation»
pages/blocks
for elements.
Calls:
|
elementBlockAttrInfo.tpl |
Generates «Block» section in profiles of global elements, which comes from the value of 'block' attribute specified in
<xs:element> elements.
Called From: Related Parameters: |
elementFinalAttrInfo.tpl |
Generates «Final» section in profiles of global elements, which comes from the value of 'final' attribute specified in
<xs:element> elements.
Called From: Related Parameters: |
elementList.tpl |
Generates a list of some element components (typically related to an XSD component being documented) in various styles
(flow, one column, two columns, optimal).
Calls: Called From: Related Parameters:
|
elementListNote.tpl |
Generates a subheading of element lists or summaries, which explains the scope of listed elements
(e.g. «global + local with complex types» or «local elements unified by type»)
Called From: |
elementNameExt.tpl |
Generates the extensions of names of some local elements (with its own hylerlinks).
Calls: Called From: Related Parameter: See Also: |
elementProfile.tpl |
Generates «Component Profile» section for element components.
Calls: Called From: Related Parameters: |
elements.tpl |
Generates the «Elements» section of single-file documentation.
Calls: Called From: Related Parameter: |
elementSummary.tpl |
Generates «Element Summary» sections.
Calls: Called From: Related Parameters: |
substitutionGroupInfo.tpl |
Generates «Subst.Gr» section in profiles of global elements, which shows the summary info about the involvement of the element in substitution groups:
'substitutionGroup' attribute specified in
<xs:element> elements.
Calls: Called From: Related Parameters: See Also: |
[lib/groups] |
subtemplates related to documenting global element/attribute group components
(those specified in XML schema with <xs:group> /<xs:attributeGroup> elements)
|
attributeGroup.tpl |
Generates «Component Documentation»
pages/blocks
for attribute groups.
Calls: Called From: Related Parameters: |
attributeGroupProfile.tpl |
Generates «Component Profile» section for attribute groups
Calls: Called From: Related Parameters: |
attributeGroups.tpl |
Generates the «Attribute Groups» section of single-file documentation.
Calls: Called From: Related Parameter: |
attributeGroupSummary.tpl |
Generates «Attribute Group Summary» sections.
Calls: Called From: Related Parameters: |
group.tpl |
Generates «Component Documentation»
pages/blocks
for element groups.
Calls: Called From: Related Parameters: |
groupProfile.tpl |
Generates «Component Profile» section for element groups
Calls: Called From: Related Parameters: |
groups.tpl |
Generates the «Element Groups» section of single-file documentation.
Calls: Called From: Related Parameter: |
groupSummary.tpl |
Generates «Element Group Summary» sections.
Calls: Called From: Related Parameters: |
[lib/images] | contains icons used in XML schema documentation |
[lib/namespace] | subtemplates related to documenting namespaces |
namespace-frame.tpl |
Generates Namespace Navigation Pages loaded in the List Frame.
Calls: Called From: Related Parameters: |
namespace.tpl |
Generates «Namespace Overview»
page/block.
Calls:
|
namespaceProfile.tpl |
Generates «Namespace Profile» sections
Calls: Called From: Related Parameters: |
namespaceSummary.tpl |
Generates «Namespace Summary» section.
Calls: Called From: Related Parameter: |
[lib/schema] | subtemplates related to documenting particular XML schema files (as a whole) |
schema-frame.tpl |
Generates Schema Navigation Pages loaded in the List Frame.
Calls: Called From: Related Parameter: |
schema-source.tpl |
Generates «Schema XML Source»
pages/blocks
Calls: Called From: Related Parameters: |
schema.tpl |
Generates «Schema Overview»
pages/blocks
Calls: Called From: Related Parameters: |
schemaLinkTitle.tpl |
Generates the text specified as title (tooltip) of XML schema hyperlink. This provides addition information about the schema,
which can be easily seen by moving the mouse cursor over the schema link.
Called From: Related Parameters: |
schemaName.tpl |
Generates XML schema name, under which that schema appears in various lists and references. This includes
also the hyperlink to «Schema Overview».
Calls: Called From: |
schemaProfile.tpl |
Generates «Schema Profile» sections
Calls: Called From: Related Parameters: |
schemaSummary.tpl |
Generates «Schema Summary» sections.
Calls: Called From: Related Parameters: |
[lib/search] |
Subtemplates related to the dynamic search functionality.
Related Parameters: |
category-index.tpl |
Generates a search index for a particular search category, which may be one of the following:
Each search index is a JavaScript array, whose elements represent the index entries. An entry consists of
Called From:
Related Parameters:
|
HTMLHeadSetup.tpl |
Generates a fragment of the HTML header that calls all JavaScript and CSS files necessary for
dynamic search functionality (the search-box), which typically looks as follows:
|
init_js.tpl |
Generated the init.js JavaScript file, whose job is to setup the search index.
In particular, it loads all special JavaScripts that contain the index data:
The init.js is called from every generated HTML document that displays the search-box.
Called From: |
search-indexes.tpl |
Generated the search-indexes.js file that contains all search indexes.
Calls: Called From: |
search-targets.tpl |
Generated the search-targets.js file that contains the JavaScript representation of the search-targets array.
That array encodes all local URLs of the documentation locations referenced by search index entries.
The array is effectively two dimensional. The first dimension (the primary array) lists all HTML files containing the targets.
And for each HTML file, the second-dimension array lists the anchors of all targets found in that file. Thereby, a pair of integers allow
you to fully reconstruct the corresponding local URL.
Called From:
|
search.tpl |
Generates the Search Page
and calls from itself all other subtemplates that generated the dynamic search JavaScript framework.
Calls: Called From: |
[lib/search/scripts] |
Contains the static JavaScript/CSS files and icons used to power the dynamic search functionality.
All of these files are copied by the search.tpl template into the [search] folder of the generated
framed HTML documentation:
[search] folder from the FlexDoc/XML resources:
{flexdoc-xml}/lib/resources/jquery/
|
[lib/type] |
subtemplates related to documenting global (named) simple/complex types
(those specified in XML schema with <xs:simpleType> /<xs:complexType> elements)
|
complexType.tpl |
Generates «Component Documentation»
pages/blocks
for complex types.
Calls: Called From: Related Parameters: |
complexTypes.tpl |
Generates the «Complex Types» section of single-file documentation.
Calls: Called From: Related Parameter: |
complexTypeSummary.tpl |
Generates «Complex Type Summary» sections.
Calls: Called From:
|
simpleType.tpl |
Generates «Component Documentation»
pages/blocks
for simple types.
Calls: Called From: Related Parameters: |
simpleTypes.tpl |
Generates the «Simple Types» section of single-file documentation.
Calls: Called From: Related Parameter: |
simpleTypeSummary.tpl |
Generates «Simple Type Summary» sections.
Calls: Called From: Related Parameters: |
typeBlockAttrInfo.tpl |
Generates «Block» section in profiles of complex types, which comes from the value of 'block' attribute specified in
<xs:complexType>
elements.
Called From:
Related Parameters:
|
typeDerivationSummary.tpl |
Generates a summary of type derivation, which is added to the information about an anonymous type displayed in «Type» section of «Component Profile»,
like on this screenshot:
Calls: Called From: Related Parameters: |
typeDerivationTree.tpl |
Generates «Type Derivation Tree» section.
Type Derivation Tree graphically depicts how a given type was derived from all its know supertypes, which appear in the form of a tree (that shows also the method by which each intermediate type was produced from its parent type): In case of derivation by union, the full supertype tree is too complicated, so it is reduced to a formula that shows only the ancestor types used directly in the declaration of the given type:Calls: Called From: Related Parameters: |
typeFinalAttrInfo.tpl |
Generates «Final» section in profiles of simple/complex types, which comes from the value of 'final' attribute
specified in
<xs:simpleType> and
<xs:complexType>
elements.
|
typeProfile.tpl |
Generates «Component Profile» section for simple/complex types
Calls: Called From: Related Parameters: |
typeRefs.tpl |
Generates «Reference Locations» section for simple/complex types.
Calls: Called From:
|
typeRelatedComps.tpl |
Generates the following sections of Component Documentation:
|
[lib/xml] | subtemplates related to documenting/reproducing XML source of XML schemas |
documentSource.tpl |
Reproduces the XML source of the whole XML document.
Calls: Called From: Related Parameters: |
nodeSource.tpl | Reproduces the XML source of a given XML document node (that is a fragment of the document's full XML source corresponding to the document's W3C DOM tree branch attached to the given node), including hyperlinks from certain attribute values to the corresponding documentation details. For example: Called From: Related Parameters: |
sourceNote.tpl |
Generates some extra information about the reproduced XML source,
which is displayed at the «XML Source» section heading, such as whether (and how many annotations)
were removed from it and the link to the location of this fragment within the full document source, like the following:
(w/o annotations (3); see within schema source)
Called From: |
xmlns-bindings.tpl |
Generates «XML Namespace Bindings» page/block.
Calls: Called From: Related Parameters: |