[ANN] DocFlex/XML XSDDoc - XML Schema Documentation Generation Toolkit

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[ANN] DocFlex/XML XSDDoc - XML Schema Documentation Generation Toolkit

Leonid Rudy-2
Both a powerful multi-format XML schema (XSD) documentation generator
with inclusion of XSD diagrams generated by XMLSpy or OxygenXML
and a tool to create your own (custom) XSD documentation generators.


DocFlex/XML is a Java-based software system for development and execution
of high performance template-driven documentation generators from any data
stored in XML files.

One application of DocFlex/XML is the generation of professional XML schema
documentation (particularly for large/complex XML schema projects). That
includes the following features:

 1. "XSDDoc" template set: implements the ready-to-use XML schema
    documentation generator itself.

 2. Template Processor: makes the templates work. Currently, it provides
    three interchangeable output generators for HTML, RTF, TXT (plain text)

 3. Template Designer: provides a high quality GUI to design/modify
    templates. If you need a special XML schema doc generator, the simplest
    way to create it is to modify the standard XSDDoc templates.

 4. Integrations with Altova XMLSpy and Oxygen XML Editor. If you are a
    user of one of those popular XML editors, you can turn it also into a
    dynamically linked diagramming engine for DocFlex. That will allow you
    to include automatically the XSD diagrams generated by XMLSpy/OxygenXML
    into the XML schema documentation generated by DocFlex (with the full
    support of hyperlinks).

The software history
An early version of this software has been announced yet in 2007 under
the name "DocFlex/XSD":

That was a separate edition of DocFlex/XML, which included only the
"XSDDoc" templates, template processor and designer.

Since then, everything has been greatly improved and more features
developed (e.g. integrations with XMLSpy and OxygenXML). DocFlex/XML now
includes other large template applications. The licensing model has
changed too. Now, different features are licensed separately (some are
free, others commercial). Those licenses can be combined to cover exactly
what the user needs.


The implementation of XML schema documentation itself, which provides the
following functionality:

(*) Generation of the three types of documentation:

    o Highly navigable framed (Javadoc-like) HTML documentation.
    o Single-file HTML documentation.
    o RTF documentation (further convertible to PDF).

(*) Processing and documenting together any number of input XML schemas
    (XSD files) with thousands of components, including even conflicting
    XML schemas (those that define the same components in the same

(*) Processing of any referenced XML schemas, in particular:

    o Correct processing of all <xs:import>, <xs:include>,
      <xs:redefine> elements found across all involved XSD files.
    o Automatic loading and processing (i.e. inclusion in the
      documentation scope) all directly/indirectly referenced XSD files.

(*) Sophisticated documenting of XSD components, including:

    o Component diagrams (with hyperlinks to everything depicted on
    o XML Representation Summary (a textual alternative to diagrams).
    o Lists of related components. For elements this includes also the
      "List of Possible Containing Elements".
    o List of usage locations.

(*) Support of any XML schema design patterns. This comes down mainly to
    the following:

    o Special treatment of local elements (see below).
    o Support and documenting of substitution groups.
    o Support of importing, inclusion and redefinition of schema files.

(*) Special documenting of local elements.

    Local elements are <xs:element> components declared locally within
    other XSD components. W3C XML schema spec allows you to declare any
    number of local elements that may share the same name but have
    different content. That, however, creates a problem for documenting,
    because in a documentation both global and local elements may appear
    simultaneously in various lists according to their common properties.
    If each element component is identified only by its name, you will get
    the lists with multiple repeating names but little clue what they mean.
    Moreover, some XML schemas may contain lots of identical local element
    declarations (that is, they have the same both name and content). So,
    you'll get in those lists a mess of repeating names, some of which
    referencing to effectively the same things, whereas others to complete
    different ones.

    In XSDDoc, those problems are solved in two ways:

    o Adding extensions to local element names. The extension provides more
      information about the element (e.g. where it can be inserted or its
      global type or where it is defined). That makes the whole string
      identifying the element unique.
    o Unifying local elements by type.

(*) Processing of XHTML markup. You can format your XML schema annotations
    with XHTML tags, which will be recognized and rendered with the
    appropriate formatting in both HTML and RTF output

(*) Possibility of unlimited customization:

    o XSDDoc is controlled by more than 400 parameters, which allow you to
      adjust the generated documentation within huge range of included
    o If parameters are not enough, you can modify the templates themselves
      using the Template Designer.
    o In case of HTML output, you can also apply your own CSS styles to
      change how the generated documentation looks.


The extended variant of this message (with lots of screenshots and demos)
can be found here:

DocFlex/XML (home page):

DocFlex/XML XSDDoc:

XSDDoc Examples:

XMLSpy Integration:

OxygenXML Integration:

Free downloads: