- 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