Products         Services         Customers         News         Downloads         Licensing         Shop    

 DocFlex Technology

About
Key Features
Data Processing
Formatting
Templates / Template Designer
Documentation

 DocFlex/XML

About
Documentation
Samples
XSDDoc
Documentation Features
Documentation Organization
Examples
Templates
Parameters
FAQ
Integrations
Tutorials

 DocFlex/Javadoc

About
Documentation
Templates
Examples
Tutorials

 DocFlex/Together

About
Examples
Basic Templates
Documentation
Tutorials

 Try

Downloads
Registration
Trial License

 Buy

Licensing/Pricing
Shop

 Company

News
Products
Services
Customers
About Us
Imprint
Legal
Contact
Links
 

DocFlex/XML - XSDDoc - Templates

  1. Overview
  2. XML Type
  3. Main Templates
  4. Subtemplates

1.  Overview

The “XSDDoc” template set includes two main templates, which effectively provide two different documentation generators:
  1. FramedDoc.tpl
  2. PlainDoc.tpl
Besides main templates, there are many other templates (called subtemplates) that are used internally. Those subtemplates work as procedures invoked from the main templates as well as from each other. The entire “XSDDoc” template set (version 2.2.0) consists of 63 templates.

2.  XML Type

...

3.  Main Templates

FramedDoc.tpl

FramedDoc.tpl is a main template designed to generate multi-framed (Javadoc-like) HTML documentation by any number of XML schema files.

On the folowing screenshot you can see an example of such a documentation (generated directly from the file: http://www.w3.org/2001/XMLSchema.xsd). Click to view the real HTML:

Framed HTML documentation
Here is how the FramedDoc.tpl template looks when open in the Template Designer (click to enlarge):
FramedDoc.tpl
FramedDoc.tpl template is interpreted as follows:
  1. First, the “Template Init Expression” specified in the template properties is processed:

    FramedDoc.tpl - Template Init/Finish Expressions

  2. This, in turn, invokes the execution of “Init” stock-section (click on the screenshot to enlarge):

    FramedDoc.tpl - “Init” stock-section

    That stock-section calls from itself two subtemplates:

    1. init.tpl, which ...
    2. xmlspy.tpl, which ...

  3. Further, the template's root section block is processed (see on the screenshot):

    FramedDoc.tpl

    It does the following:
    1. overview-summary.tpl template is called to generate Overview Summary file for the whole documentation.
    2. all-components-summary.tpl template is called to generate All Component Summary file.
    3. All namespaces targeted by the XML schemas to be documented are itereated.
      For each namespace:
      1. namespace-summary.tpl template generates Namespace Summary file.
      2. namespace-frame.tpl template generates an HTML file with the list of all separately documented components that belong to the namespace.
      3. schema-summary.tpl template is called for each XML schema (to be documented) that targets the given namespace and generates for it the Schema Summary file.
      4. schema-frame.tpl template is also called for each schema to generate an HTML file with the list of all separately documented components defined in the schema.
      5. For all global components and local element components (to be documented separately) that belong to the given namespace the following templates are called (depending on the component type): to generate the corresponding Component Documentation files.
    4. all-components-frame.tpl template is called to generate an HTML file with the list of all separately documented components.
    5. overview-frame.tpl template is called.
    6. xmlns-bindings.tpl template is called to generate the XML Namespace Bindings file.

  4. At this point, all document files have been generated. What is left is the HTML frameset file (normally named 'index.html'). That file starts the whole documentation to display particular HTML documents in three frame windows:

    Frameset Diagram

    Here is how each frame is used:

    Frame

    Usage

    overviewFrame This is the primary navigation frame, which is loaded only once per a start to display the same document generated by overview-frame.tpl template. It lets the user:
    • Select one of the general overviews to be shown in the detailFrame frame:
    • Switch the listFrame frame to one of the component lists:
      • All separately documented components
      • All components belonging to a particular namespace
      • All components defined in a particular XML schema
    listFrame This frame provides the second layer of navigation. It basically shows a list of components associated with the selection in the overviewFrame frame. This may be one of the files generated by the following templates: Clicking on an item in the list will open in the detailFrame frame the corresponding Component Documentation (as well as Namespace Summary or Schema Summary, when clicking on the list heading).
    detailFrame This frame is used to display the actual documentation content. This may be one of the documentation main blocks generated by the following templates:

    The HTML frameset file is generated according to the definition specified in the “Frameset Structure” tab of FramedDoc.tpl template properties dialog:

    FramedDoc.tpl - Frameset Definition

    The expression specified in the “Source Expression” field (on the right panel) should return the pathname (or URL) of a document to be initially loaded in the given frame. (In particular, what you see on the screenshot will return the pathname of the very first document generated by one of the templates specified in the list.)

  5. As soon as everything has been generated, the “Template Finish Expression” (see above) is processed, which invokes the execution of “Finish” stock-section (click on the screenshot to enlarge):

    FramedDoc.tpl - “Finish” stock-section

    Currently, all it does is removing the temporary files produced by XMLSpy (when XMLSpy Integration is enabled).

PlainDoc.tpl

PlainDoc.tpl main template was designed specifically to generate single-file documentation in all supported output formats (which currently include HTML, RTF and TXT). The RTF output is the most important of them, which delivers an unmatched quality printable RTF documentation.

Here are a few pages of an RTF documentation generated by PlainDoc.tpl (click to enlarge):

RTF documentation: Overview Summary RTF documentation: Element Detail RTF documentation: Schema Overview Summary
Here is how the PlainDoc.tpl template looks when open in the Template Designer (click to see the full screenshot):
PlainDoc.tpl
...

Calls:

about.tpl, all-components-summary.tpl, attribute.tpl, attributeGroup.tpl, complexType.tpl, element.tpl, group.tpl, init.tpl, localElementExt.tpl, namespace-summary.tpl, overview-summary.tpl, schema-summary.tpl, simpleType.tpl, xmlns-bindings.tpl, xmlspy.tpl

4.  Subtemplates

Subtemplates by directory:
Subtemplate details:

Template/Subdirectory

Description

init.tpl ...
init.tpl
init.tpl - Creating of “element-usage” element map
init.tpl - “Load Subschemas” stock-section

Called By:

FramedDoc.tpl, PlainDoc.tpl
overview-frame.tpl ...
overview-frame.tpl

Called By:

FramedDoc.tpl
overview-summary.tpl Generates the Overview Summary document/block, like the one shown on this screenshot (click to see the real HTML):
Overview Summary
overview-summary.tpl

Calls:

about.tpl, annotation.tpl, firstSentence.tpl, namespaceProfile.tpl, schemaProfile.tpl

Called By:

FramedDoc.tpl, PlainDoc.tpl
all-components-frame.tpl ...

Calls:

localElementExt.tpl

Called By:

FramedDoc.tpl
all-components-summary.tpl Generates the All Component Summary document/block, like the one shown on this screenshot (click to see the real HTML):
All Component Summary

Calls:

about.tpl, attributeGroupSummary.tpl, attributeSummary.tpl, complexTypeSummary.tpl, elementSummary.tpl, groupSummary.tpl, simpleTypeSummary.tpl

Called By:

FramedDoc.tpl, PlainDoc.tpl
about.tpl ...

Called By:

PlainDoc.tpl, all-components-summary.tpl, attribute.tpl, attributeGroup.tpl, complexType.tpl, element.tpl, group.tpl, namespace-summary.tpl, overview-summary.tpl, schema-summary.tpl, simpleType.tpl, xmlns-bindings.tpl
[ann] ...

annotation.tpl

...

Called By:

attribute.tpl, attributeGroup.tpl, attributeGroupSummary.tpl, attributeSummary.tpl, attributes.tpl, complexType.tpl, complexTypeSummary.tpl, contentElements.tpl, element.tpl, elementSummary.tpl, facet.tpl, group.tpl, groupSummary.tpl, namespace-summary.tpl, overview-summary.tpl, schema-summary.tpl, simpleContentDerivation.tpl, simpleType.tpl, simpleTypeSummary.tpl

firstSentence.tpl

...

Called By:

attributeGroupSummary.tpl, attributeSummary.tpl, complexTypeSummary.tpl, elementSummary.tpl, groupSummary.tpl, namespace-summary.tpl, overview-summary.tpl, simpleTypeSummary.tpl
[attribute] ...

attribute.tpl

...

Calls:

about.tpl, annotation.tpl, attributeProfile.tpl, facet.tpl, localElementExt.tpl, nodeSource.tpl, simpleContentDerivation.tpl, sourceNote.tpl, typeDerivationTree.tpl, xmlRep.tpl

Called By:

FramedDoc.tpl, PlainDoc.tpl

attributeProfile.tpl

...

Calls:

typeDerivationSummary.tpl

Called By:

attribute.tpl, attributeSummary.tpl

attributeProfile2.tpl

...

Calls:

typeDerivationSummary.tpl

Called By:

attributeSummary.tpl

attributes.tpl

...
attributes.tpl

Calls:

annotation.tpl, facet.tpl, nodeSource.tpl, simpleContentDerivation.tpl, simpleContentRep.tpl, sourceNote.tpl, typeDerivationSummary.tpl, typeDerivationTree.tpl, wildcard.tpl

Called By:

attributeGroup.tpl, complexType.tpl, element.tpl

attributeSummary.tpl

...

Calls:

annotation.tpl, attributeProfile.tpl, attributeProfile2.tpl, firstSentence.tpl

Called By:

all-components-summary.tpl, namespace-summary.tpl, schema-summary.tpl
[content] ...

contentType.tpl

...

Called By:

contentElements.tpl, elementProfile.tpl, elementProfile2.tpl, typeProfile.tpl, typeProfile2.tpl

diagram.tpl

...
diagram.tpl
diagram.tpl - image type
diagram.tpl - image hyperlinks

Called By:

complexType.tpl, element.tpl, group.tpl

xmlRep.tpl

...

Calls:

complexContentModel.tpl, simpleContentRep.tpl, wildcard.tpl

Called By:

attribute.tpl, attributeGroup.tpl, complexType.tpl, contentElements.tpl, element.tpl, group.tpl, simpleType.tpl

complexContentModel.tpl

...

Called By:

xmlRep.tpl

simpleContentRep.tpl

...

Called By:

attributes.tpl, contentElements.tpl, xmlRep.tpl

simpleContentDerivation.tpl

...

Calls:

annotation.tpl, facet.tpl

Called By:

attribute.tpl, attributes.tpl, complexType.tpl, contentElements.tpl, element.tpl, simpleType.tpl

wildcard.tpl

...

Called By:

attributes.tpl, contentElements.tpl, xmlRep.tpl

facet.tpl

...

Calls:

annotation.tpl

Called By:

attribute.tpl, attributes.tpl, complexType.tpl, contentElements.tpl, element.tpl, simpleContentDerivation.tpl, simpleType.tpl
[element] ...

element.tpl

...

Calls:

about.tpl, annotation.tpl, attributes.tpl, contentElementList.tpl, contentElements.tpl, diagram.tpl, elementProfile.tpl, facet.tpl, localElementExt.tpl, nodeSource.tpl, simpleContentDerivation.tpl, sourceNote.tpl, typeDerivationTree.tpl, xmlRep.tpl

Called By:

FramedDoc.tpl, PlainDoc.tpl

elementProfile.tpl

...

Calls:

contentType.tpl, elementBlockAttrInfo.tpl, elementFinalAttrInfo.tpl, substitutionGroupInfo.tpl, typeDerivationSummary.tpl

Called By:

element.tpl, elementSummary.tpl

elementProfile2.tpl

...

Calls:

contentType.tpl, elementBlockAttrInfo.tpl, elementFinalAttrInfo.tpl, substitutionGroupInfo.tpl, typeDerivationSummary.tpl

Called By:

elementSummary.tpl

elementBlockAttrInfo.tpl

...

Called By:

contentElements.tpl, elementProfile.tpl, elementProfile2.tpl

elementFinalAttrInfo.tpl

...

Called By:

contentElements.tpl, elementProfile.tpl, elementProfile2.tpl

substitutionGroupInfo.tpl

...

Called By:

contentElements.tpl, elementProfile.tpl, elementProfile2.tpl

contentElementList.tpl

...

Calls:

localElementExt.tpl

Called By:

complexType.tpl, element.tpl, group.tpl

contentElements.tpl

...
contentElements.tpl

Calls:

annotation.tpl, contentType.tpl, facet.tpl, elementBlockAttrInfo.tpl, elementFinalAttrInfo.tpl, nodeSource.tpl, simpleContentDerivation.tpl, simpleContentRep.tpl, sourceNote.tpl, substitutionGroupInfo.tpl, typeDerivationSummary.tpl, typeDerivationTree.tpl, wildcard.tpl, xmlRep.tpl

Called By:

complexType.tpl, element.tpl, group.tpl

elementSummary.tpl

...

Calls:

annotation.tpl, elementProfile.tpl, elementProfile2.tpl, firstSentence.tpl, localElementExt.tpl

Called By:

all-components-summary.tpl, namespace-summary.tpl, schema-summary.tpl

localElementExt.tpl

...

Called By:

FramedDoc.tpl, PlainDoc.tpl, all-components-frame.tpl, attribute.tpl, attributeGroup.tpl, contentElementList.tpl, element.tpl, elementSummary.tpl, group.tpl, namespace-frame.tpl, schema-frame.tpl, typeRelatedCompLists.tpl, typeUsage.tpl
[groups] ...

group.tpl

...

Calls:

about.tpl, annotation.tpl, contentElementList.tpl, contentElements.tpl, diagram.tpl, groupProfile.tpl, localElementExt.tpl, nodeSource.tpl, sourceNote.tpl, xmlRep.tpl

Called By:

FramedDoc.tpl, PlainDoc.tpl

groupProfile.tpl

...

Called By:

group.tpl, groupSummary.tpl

groupProfile2.tpl

...

Called By:

groupSummary.tpl

groupSummary.tpl

...

Calls:

annotation.tpl, firstSentence.tpl, groupProfile.tpl, groupProfile2.tpl

Called By:

all-components-summary.tpl, namespace-summary.tpl, schema-summary.tpl

attributeGroup.tpl

...

Calls:

about.tpl, annotation.tpl, attributeGroupProfile.tpl, attributes.tpl, localElementExt.tpl, nodeSource.tpl, sourceNote.tpl, xmlRep.tpl

Called By:

FramedDoc.tpl, PlainDoc.tpl

attributeGroupProfile.tpl

...

Called By:

attributeGroup.tpl, attributeGroupSummary.tpl

attributeGroupProfile2.tpl

...

Called By:

attributeGroupSummary.tpl

attributeGroupSummary.tpl

...

Calls:

annotation.tpl, attributeGroupProfile.tpl, attributeGroupProfile2.tpl, firstSentence.tpl

Called By:

all-components-summary.tpl, namespace-summary.tpl, schema-summary.tpl
[images] ...

attribute.gif

...

element.gif

...

inherit.gif

...
[integrations] ...

xmlspy.tpl

...

Called By:

FramedDoc.tpl, PlainDoc.tpl
[namespace] ...

namespace-frame.tpl

...

Calls:

localElementExt.tpl

Called By:

FramedDoc.tpl

namespace-summary.tpl

Generates a Namespace Overview document/block, like the one shown on this screenshot (click to see the real HTML):
Namespace Overview

Calls:

about.tpl, annotation.tpl, attributeGroupSummary.tpl, attributeSummary.tpl, complexTypeSummary.tpl, elementSummary.tpl, firstSentence.tpl, groupSummary.tpl, namespaceProfile.tpl, schemaProfile.tpl, simpleTypeSummary.tpl

Called By:

FramedDoc.tpl, PlainDoc.tpl

namespaceProfile.tpl

...

Called By:

namespace-summary.tpl, overview-summary.tpl
[schema] ...

schema-frame.tpl

...

Calls:

localElementExt.tpl

Called By:

FramedDoc.tpl

schema-summary.tpl

Generates a Schema Overview document/block, like the one shown on this screenshot (click to see the real HTML):
Schema Overview
schema-summary.tpl
schema-summary.tpl - “XML Source” stock-section

Calls:

about.tpl, annotation.tpl, attributeGroupSummary.tpl, attributeSummary.tpl, complexTypeSummary.tpl, elementSummary.tpl, groupSummary.tpl, nodeSource.tpl, schemaProfile.tpl, simpleTypeSummary.tpl, sourceNote.tpl

Called By:

FramedDoc.tpl, PlainDoc.tpl

schemaProfile.tpl

...

Called By:

namespace-summary.tpl, overview-summary.tpl, schema-summary.tpl
[type] ...

complexType.tpl

...

Calls:

about.tpl, annotation.tpl, attributes.tpl, contentElementList.tpl, contentElements.tpl, diagram.tpl, facet.tpl, nodeSource.tpl, simpleContentDerivation.tpl, sourceNote.tpl, typeDerivationTree.tpl, typeProfile.tpl, typeRelatedCompLists.tpl, typeUsage.tpl, xmlRep.tpl

Called By:

FramedDoc.tpl, PlainDoc.tpl

simpleType.tpl

...

Calls:

about.tpl, annotation.tpl, facet.tpl, nodeSource.tpl, simpleContentDerivation.tpl, sourceNote.tpl, typeDerivationTree.tpl, typeProfile.tpl, typeRelatedCompLists.tpl, typeUsage.tpl, xmlRep.tpl

Called By:

FramedDoc.tpl, PlainDoc.tpl

typeProfile.tpl

...

Calls:

contentType.tpl, typeBlockAttrInfo.tpl, typeFinalAttrInfo.tpl

Called By:

complexType.tpl, complexTypeSummary.tpl, simpleType.tpl, simpleTypeSummary.tpl

typeProfile2.tpl

...

Calls:

contentType.tpl, typeBlockAttrInfo.tpl, typeFinalAttrInfo.tpl

Called By:

complexTypeSummary.tpl, simpleTypeSummary.tpl

typeBlockAttrInfo.tpl

...

Called By:

typeProfile.tpl, typeProfile2.tpl

typeFinalAttrInfo.tpl

...

Called By:

typeProfile.tpl, typeProfile2.tpl

typeRelatedCompLists.tpl

...

Calls:

localElementExt.tpl

Called By:

complexType.tpl, simpleType.tpl

typeUsage.tpl

...

Calls:

localElementExt.tpl

Called By:

complexType.tpl, simpleType.tpl

typeDerivationTree.tpl

...
typeDerivationTree.tpl

Called By:

attribute.tpl, attributes.tpl, complexType.tpl, contentElements.tpl, element.tpl, simpleType.tpl

typeDerivationSummary.tpl

...

Called By:

attributeProfile.tpl, attributeProfile2.tpl, attributes.tpl, contentElements.tpl, elementProfile.tpl, elementProfile2.tpl

complexTypeSummary.tpl

...

Calls:

annotation.tpl, firstSentence.tpl, typeProfile.tpl, typeProfile2.tpl

Called By:

all-components-summary.tpl, namespace-summary.tpl, schema-summary.tpl

simpleTypeSummary.tpl

...

Calls:

annotation.tpl, firstSentence.tpl, typeProfile.tpl, typeProfile2.tpl

Called By:

all-components-summary.tpl, namespace-summary.tpl, schema-summary.tpl
[xml] ...

nodeSource.tpl

...
nodeSource.tpl
nodeSource.tpl - “Node” stock-section
nodeSource.tpl - “AttrList” stock-section
nodeSource.tpl - “AttrValue” stock-section
nodeSource.tpl - “AttrValue” stock-section - Hyperlink Definitions
nodeSource.tpl - “AttrValue” stock-section - Hyperlink Definition

Called By:

attribute.tpl, attributeGroup.tpl, attributes.tpl, complexType.tpl, contentElements.tpl, element.tpl, group.tpl, schema-summary.tpl, simpleType.tpl

sourceNote.tpl

...

Called By:

attribute.tpl, attributeGroup.tpl, attributes.tpl, complexType.tpl, contentElements.tpl, element.tpl, group.tpl, schema-summary.tpl, simpleType.tpl

xmlns-bindings.tpl

...
xmlns-bindings.tpl
xmlns-bindings.tpl - “xmlns” stock-section

Calls:

about.tpl

Called By:

FramedDoc.tpl, PlainDoc.tpl

Copyright© 2003-2010 Filigris Works, Leonid Rudy Softwareprodukte. All rights reserved.