FlexDoc/XML - DiagramKit
This feature is included in FlexDoc/XML archive ready for downloads now!
1. What is DiagramKit?
DiagramKit is the FlexDoc/XML native diagramming engine. It creates beautiful XSD component diagrams, which can be generated/inserted simultaneously along with the documentation generated by XSDDoc/WSDLDoc (with the support of all possible hyperlinks).DiagramKit is implemented as a diagramming plugin, which is a replaceable part of FlexDoc/XML that provides some graphical representations of XML elements. It is another add-on to FlexDoc/XML and licensed separately.
Below are two sample diagrams generated by DiagramKit (click on the screenshots to view each diagram inside the documentation):
![]() |
![]() |
For more sample documentation with diagrams generated by DiagramKit, please see:
2. Key Features
Generation of XSD (XML Schema) component diagrams:-
The diagrams are generated (as PNG image files) for the following components:
- Global and local elements
- Named complex types
- Element (model) groups
- Attribute groups
-
The focus of each diagram is to depict the result content model (elements/attributes) represented by the component:
- All possible child elements (their allowed compositions and cardinalities)
- When a depicted element is the head of a substitution group, a special branch attached to it shows all group member (substituting elements)
- All possible attributes (with their cardinalities)
- Base type / element type (all components inherited from them are shown within a separate panel)
- Element/attribute groups
- Compositors (all/choice/sequence)
- Attribute prohibitions (only those specified in the definition of the given component)
-
Diagrams can also include descriptions to everything mentioned above (obtained from the corresponding
<xs:annotation>
elements). The wrapping of annotation text is optimized so as to maximally utilize the empty space arisen in the diagram because of its particular layout, thereby minimizing the bloating of the diagram by annotations themselves. This allows making the whole diagram more compact, as shown on this screenshot: See also: FlexDoc/XML | DiagramKit | FAQ | Diagram Settings | How to show/hide annotations? -
Since the version 2.0, DiagramKit supports showing in diagrams properties of elements and attributes.
Properties provide extra information such as the element/attribute type, content, facets, default value etc. Properties are displayed in the little grid embedded within the diagram node that depicts the element/attribute. Some of the properties are hyperlinked to the corresponding pieces of the documentation.
For further details, please see: FlexDoc/XML | DiagramKit | FAQ | Component Properties
The following screenshots show two diagrams of the same XSD component. The diagram on the left is with element/attribute properties. On the right, it is without the properties. Click on the screenshots to see each diagram within the corresponding documentation:
-
A typical diagram generated by DiagramKit depicts the content model of a single XSD component: everything about the child XML elements and attributes that component defines.
However, some people want to see on the same diagram something deeper: the content models of some of those children important to them, children of the children and so on.
That is, instead of solely the content model of a given XSD component, the diagram may represent some fragment of the content model of the entire XML subtree defined by that component.
Since the version 3.0, DiagramKit can generate such compound diagram as well, an example of which on the next screenshot:
For further details, please see: FlexDoc/XML | DiagramKit | FAQ | Compound Diagrams
-
Our XSD diagrams largely follow the notation used in XMLSpy with the following differences:
-
Both restricted and extended base types are equally shown in the diagram (including everything inherited from them).
XMLSpy diagrams show only extended base types. The restricted base types are absent at all. The attributes inherited from them are joined with those defined in the given component, however highlighted with the yellow background.
- Abstract elements/complexTypes are highlighted with the italic font
-
The annotations can be shown for anything that may contain them (including for base/element types) as
- The first sentence of the annotation text
- The full annotation text
The wrapping of annotations is optimized so as to maximally use the empty space available in the diagram because of its layout, thereby making the whole diagram more compact.
-
More diagram hyperlinks are generated (basically from any visible feature or label),
including from the depictions not hyperlinked anyhow in XMLSpy diagrams:
- From base/element types to their details (e.g. the title of the blue panel in the screenshots above)
- From compositors (all/choice/sequence) to the corresponding locations in schema XML source where they are defined
- From element/attribute wildcards to their details
- From attribute groups to their details
- From the values of some element/attribute properties
- Our diagrams also look cleaner because no collapse/expand buttons are shown on each diagram element.
-
Both restricted and extended base types are equally shown in the diagram (including everything inherited from them).
-
What exactly the diagrams include and how they look can be configured with special template parameters
controlling DiagramKit (available in both XSDDoc/WSDLDoc):
3. Running FlexDoc/XML + DiagramKit
This section was moved to FlexDoc/XML | DiagramKit | FAQ. Please follow the links to jump directly to the corresponding content:4. Licensing / Processing Modes
DiagramKit works with both XSDDoc and WSDLDoc, however, it is licensed separately.That's because you can choose to use another diagramming plugin (e.g. XMLSpy Integration or OxygenXML Integration) or none at all instead.
To accommodate all possibilities concerning licensing, DiagramKit will work in the following modes:Demo Mode
When you have no particular license for DiagramKit, the Demo License is activated that enables a special demo mode. The purpose of that mode is to allow you without much hassle to see what DiagramKit basically can and in some cases even to use it for free.In demo mode, DiagramKit will work together with either XSDDoc/WSDLDoc when no other licenses are installed for both DiagramKit and the given template set. If you run XSDDoc or WSDLDoc, you will see a message like this:
In demo mode, DiagramKit will generate only limited number of component diagrams. How many depends on the demo limits of a particular main template. However, any diagrams generated in demo mode will be complete and without trial markers.
When demo mode is disabled
Because of programming limitations, DiagramKit can work in demo mode only with a template set (i.e. XSDDoc/WSDLDoc) also running in demo mode. When you already have a Full License for that template set (and no for DiagramKit), you will see a message like this:
- No component diagrams will be generated
-
All DiagramKit template parameters will be disabled too:
- Uninstall your license for the given template set (then it will work in demo mode too)
- Request a trial for DiagramKit
- Purchase the full license for DiagramKit
- Licensing | Demo License
- FlexDoc/XML | XSDDoc | Licensing | Demo Mode
- FlexDoc/XML | WSDLDoc | Licensing | Demo Mode
Trial Mode
Trial mode is activated in the presence of a Trial License for DiagramKit, which will work with full functionality and generate all possible diagrams (with all hyperlinks). However, there are following limitations:- All diagrams will contain trial watermarks, like on this screenshot:
- All generated output documents will be specifically distorted by replacing some letters with shade ('░') characters (as well as contain special messages).
- Any output documents or diagrams may be used only for evaluation of this software. Any other usage is prohibited!
- Trial license is limited to 30 days.
Then, you will be redirected to Try | Trial License page with “FlexDoc/XML” preselected in the «Product» field.
{flexdoc-xml}/lib/
directory (near 'flexdoc-xml.jar'
file).
See Also:
- Licensing | Trial License
- Licensing | Multiple Licenses
- FlexDoc/XML | XSDDoc | Licensing | Trial License
- FlexDoc/XML | WSDLDoc | Licensing | Trial License
Full Mode
Full mode is activated in the presence of a Full License for “FlexDoc/XML DiagramKit”. It allows you using DiagramKit without limitations. All diagrams will be generated clean (without any watermarks).Please Note:
- The license for DiagramKit covers only the generation of diagrams.
- Although, you can combine it with any other FlexDoc/XML licenses, it makes sense to purchase it only together with a license for XSDDoc or WSDLDoc.