FlexDoc/XML - Overview

FlexDoc/XML v1.12.2 released! See new README, Change Log. This software is ready for downloads now!

«FlexDoc/XML» is a new name for the software formerly known as «DocFlex/XML». For details, please see: News | 2018/12

  1. What is FlexDoc/XML?
  2. Key Features
  3. Technical Requirements
  4. Editions
  5. Functional Entities
  6. Full Licenses

1. What is FlexDoc/XML?

FlexDoc/XML is a software system for development and execution of high-performance documentation/report generators from any data stored in XML files.

FlexDoc/XML is an application of FlexDoc.XYZ in the field of XML.

Template-driven architecture

The actual documentation/report generators are programmed in the form of special templates using a graphic Template Designer that represents the templates visually in a form resembling the output they generate. Further, the templates are interpreted by a template processor, which takes on input the XML files and produces by them the result documentation.

An alternative to XSLT

As a whole, FlexDoc/XML system is similar to XSLT. The templates play the role of XSLT scripts and the template interpreter is an equivalent of the XSLT processor. However, XSLT provides no visual designer and XSLT scripts are hard to visualize. Besides that, FlexDoc/XML is a lot more focused on the generation of very complex finished documentation in various formats (rather than simply transforming one XML into another) and has many features for that absent in XSLT. FlexDoc/XML works with raw XML files. It uses only Apache Xerces for the initial parsing and processes further everything by itself. No XSLT processor is used somewhere in background.

Ready documentation generators

FlexDoc/XML includes ready-to-use large template applications (or template sets) that implement some very advanced professional documentation generators in the field of XML:

Diagramming Plugins

FlexDoc/XML itself is mostly about data-mining in XML files and generating some human-readable texts (from the found results). However, for certain things it is especially useful to include some graphical representation of them (in the form of some diagrams along with hyperlinks from the depicted features to the corresponding documentation details). That's the job of diagramming plugins that are also included in FlexDoc/XML software. There are currently three of them:

Other Integrations

Finally, you can easily integrate FlexDoc/XML with Apache Ant and Maven so as to use it in your automatic build process.

Licensing

Overall, «FlexDoc/XML» is more like an umbrella-name for many different things, which are hard to cover by a single license suitable for everyone. Instead, the software is logically broken into separate functional entities, which are covered by different licenses (either free or sold separately).

2. Key Features

This section is published on a separate page: FlexDoc/XML | Features. Here is its table of contents:

  1. Template-driven architecture
  2. Processing of XML data sources
  3. Formatting
  4. Insertion of images
  5. Hypertext
  6. Output formats
  7. Generator GUI
  8. Ready template applications
  9. Diagramming Plugins
  10. Other Integrations

3. Technical Requirements

FlexDoc/XML requires Java Runtime Environment (JDK or JRE) version 8.x (or later) installed on your system.

The latest Java version may be preferable as it will be the fastest!
You can freely download Java from the Java Technology web-site: http://www.oracle.com/technetwork/java/

Since FlexDoc/XML is a pure Java application (both the Template Designer and Generator GUI are based entirely on Java Swing), it is supposed to work on any operating system where Java can be installed.

Specifically, the FlexDoc/XML software available for downloads includes

to run FlexDoc/XML immediately on those operating systems.

Additionally, a sample Ant buildfile and Maven Plugin are provided that will allow you to use FlexDoc/XML with both Apache Ant and Maven. For more details, please see FlexDoc/XML | Integrations.

To parse XML files, DTDs and XML Schemas, FlexDoc/XML uses Apache Xerces2 Java Parser version 2.12.0, whose binaries are included in the FlexDoc/XML archives. In case of any questions concerning that library, please refer to the Apache Xerces home page: http://xerces.apache.org.

4. Editions

Currently, the entire FlexDoc/XML software comes in the form of a single edition (called simply «FlexDoc/XML»), which you can download as a single archive. It includes everything (all features available in this product line): You just need to install the necessary licenses to use those features you need (if they are not free).

5. Functional Entities

FlexDoc/XML is very complex software that took many years to develop. So, a single license covering all features cannot be cheap (let alone free). Moreover, far not everyone even needs this everything!

So, we break the whole FlexDoc/XML into a number of logical products (or functional entities) according to the major functionality implemented. Some of those products are free, others require separate licensing.

Below is the list of such products along with the details of how they are licensed.

Template Designer

Provides a high-quality GUI to design templates. This is the only way to create/modify templates. In effect, the Template Designer both visualizes the template language and gives you access to most of FlexDoc.XYZ features.

Template Designer is covered by the “FlexDoc/XML SDK” license, depending on which it may work in one of two modes:

The difference shown in this table:

Feature / Functionality Demo Mode Full Mode
License type(s) Demo License (activated by default) Trial or Full License
Possibility to create/modify templates No. You can investigate any GUI functionality but not save any created/modified templates.   Template Designer will work without limitations. You can create/modify any templates.

Template Processor (Generator)

Represents the Runtime Environment (RE) to execute template applications. This includes: That functionality (called simply “generator”) is provided by FlexDoc/XML Java library.

The generator is covered by either Free License or “FlexDoc/XML SDK” license, depending on which it may work in one of three modes:

The differences between those modes are shown in the following table:

Feature / Functionality Default Mode Extended Mode Trial Mode
License type(s) Free License
(activated by default)
Full License for FlexDoc/XML SDK Trial License for FlexDoc/XML SDK
Execution of any custom templates.

If your custom templates are derived from a template set provided by Filigris Works, their execution will depend also on your license for that template application (see Licensing of Templates).

only those created or modified the last time under a Full License for FlexDoc/XML SDK distorted output
Execution of templates provides by Filigris Works.

This depends also on your license for that particular template application (see Licensing of Templates).

distorted output
Any number of input XML files
Support of XML Catalogs for input XML files
Generator GUI
Generation of HTML, RTF, TXT (plain text) output
Custom CSS in HTML output.

See also: Custom CSS Rules / CSS File | Which license required?

only templates created or modified the last time under a Full License for FlexDoc/XML SDK
Any number of output files of any size
Possible usage of generated documentation.

This depends also on your licenses for other features used during the generation, e.g. the template set, integrations (see Multiple Licenses).

any usage unlimited for evaluation only

Template Applications

FlexDoc/XML currently provides three ready-to-use template applications useful for real tasks. All template applications are included in FlexDoc/XML archive. However, some of them are separate commercial products (which requires special licensing):

App Description License
XSDDoc Implements a very powerful XML Schema Documentation Generator able to produce both multi-framed Javadoc-like HTML and printable RTF documentation. For more details, please see: FlexDoc/XML | XSDDoc.

Note: This is a commercial template application, which requires separate licensing. See also:
demo, trial, full
WSDLDoc A similar template application that implements even more powerful documentation generator for WSDL, XML schemas (XSD) and all interconnections between them. demo, trial, full
XMLDoc Allows you to compile any number of generic XML files into a web-ready HTML or printable RTF documentation with the optional inclusion of a namespace binding report that shows which namespace prefixes are bound to which namespace URIs and where.

Although, we place this template set into “Samples” category, we think it might be quite useful anyway. For more details, please see: FlexDoc/XML | Sample | XMLDoc
free

Diagramming Plugins

All these plugins are hardcoded in Java (included in flexdoc-xml.jar) and specifically supported in XSDDoc/WSDLDoc templates. However, each of them is considered a separate product (which requires separate licensing):

Plugin Description License
DiagramKit Implements FlexDoc/XML native diagramming engine (independent on any third-party software)!

It creates beautiful XSD diagrams that can be generated simultaneously along with (and inserted into) the documentation generated by either XSDDoc/WSDLDoc (with the support of all possible hyperlinks). Basically, if you need diagrams – just use DiagramKit! (Other plugins are legacy stuff).

For further details, please see:
demo, trial, full
XMLSpy Integration If you have a license for Altova XMLSpy (http://www.altova.com/xmlspy/), you can turn it into a diagramming engine for FlexDoc/XML!

Our XMLSpy Integration allows you to have XSD diagrams produced by XMLSpy to be inserted automatically into the documentation generated by XSDDoc/WSDLDoc (with the full support of diagram hyperlinks).

For further details, please see:
demo, trial, full
OxygenXML Integration If you have a license for Oxygen XML Editor (http://www.oxygenxml.com), you can turn it into a diagramming engine for FlexDoc/XML!

Our OxygenXML Integration allows you to have XSD diagrams produced by XMLSpy to be inserted automatically into the documentation generated by XSDDoc/WSDLDoc (with the full support of diagram hyperlinks).

For further details, please see:
demo, trial, full

Other Integrations

System Integration Implementation License
Apache Ant Allows you to run FlexDoc/XML generator from your Ant build. For more details, please see: FlexDoc/XML | Integrations | Apache Ant settings in your Ant build file free
Apache Maven Allows you to run FlexDoc/XML generator from your Maven build. For more details, please see: FlexDoc/XML | Integrations | Apache Maven Maven plugin (Java open source); settings in your Maven project file free

6. Full Licenses

License Description Note
FlexDoc/XML SDK You need this license if you want to heavily customize the documentation generated by any ready template applications (e.g. change some colors, fonts, layouts, look & feel, add new functionality etc.) or create your own ones. In particular, this license covers: Template applications and diagramming plugins are not covered by this license
FlexDoc/XML XSDDoc Unlocks all functionality implemented in XSDDoc templates. In particular, you will be able to: Although these licenses cover the automatic insertion of XSD diagrams in the generated documentation (i.e. programming of that in templates), the generation of diagrams themselves is not covered by them. For that you need a license for one of the diagramming plugins (see below).
FlexDoc/XML WSDLDoc Unlocks all functionality implemented in WSDLDoc templates. In particular, you will be able to:
FlexDoc/XML DiagramKit Unlocks all functionality implemented in DiagramKit. Allows you to generate XSD diagrams and automatically insert them into documentation generated by XSDDoc/WSDLDoc (with the support of all possible diagram hyperlinks).
FlexDoc/XML XMLSpy
Integration
Covers XMLSpy Integration that allows you automatically to insert the XSD diagrams produced by Altova XMLSpy into the documentation generated by XSDDoc/WSDLDoc. Running the integration requires XMLSpy already licensed / installed on your system
FlexDoc/XML OxygenXML
Integration
Covers OxygenXML Integration that allows you automatically to insert the XSD diagrams produced by Oxygen XML Editor into the documentation generated by XSDDoc/WSDLDoc. Running the integration requires Oxygen XML Editor already licensed / installed on your system

See Also: