- From: Leonid Rudy <lrudy@filigris.com>
- Date: Sat, 26 Jul 2014 23:25:02 +0200
- To: <xmlschema-dev@w3.org>
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.
ABOUT DOCFLEX/XML
=================
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)
formats.
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":
http://lists.w3.org/Archives/Public/xmlschema-dev/2007Jan/0044.html
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.
"XSDDOC" TEMPLATE SET
=====================
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
namespace).
(*) 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
them).
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
details.
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.
LINKS
=====
The extended variant of this message (with lots of screenshots and demos)
can be found here:
http://www.filigris.com/ann/docflex-xsd/
DocFlex/XML (home page):
http://www.filigris.com/docflex-xml/
DocFlex/XML XSDDoc:
http://www.filigris.com/docflex-xml/xsddoc/
XSDDoc Examples:
http://www.filigris.com/docflex-xml/xsddoc/examples/
XMLSpy Integration:
http://www.filigris.com/docflex-xml/XMLSpy/
OxygenXML Integration:
http://www.filigris.com/docflex-xml/OxygenXML/
Free downloads:
http://www.filigris.com/downloads/
Received on Monday, 28 July 2014 13:19:59 UTC