FLUXparticle Text Logo

Software you can enjoy

FLUXparticle > XSD Visualizer > Quick Start

Quick Start Guide

Introduction

The XSD Visualizer Plugin “SchemaViz” was designed to support two main user groups:

  • Understanding Complex Schemas: For users seeking a quick grasp of complex XML schemas. SchemaViz provides a visual representation allowing users to grasp the structure and relationships between the components of the schema at a glance.

  • Assistance in Writing and Testing: For developers actively involved in creating or modifying XML schemas. The plugin instantly displays the effects of changes made, enabling users to visually verify whether the changes made have the intended impact.

Schema Visualization

The XSD Visualizer Plugin visually represents XML schemas by graphically depicting various elements and their types. Here are the key visual elements and their meanings:

  • Elements: Displayed as blue round rectangles, representing XML tags. They define the structure within the element itself or reference a type.

    The XML would look like this:

    <Person>
      <Name>John Doe</Name>
      <Age>30</Age>
    </Person>
    
  • Simple Types: Represented as green octagonal boxes, signifying basic content like strings (textual data). They can act as attributes or contents of tags without attributes or child tags.

    Here, we have a simple type describing a phone number, refining the string type using a regular expression.

  • Complex Types: Depicted as rectangles with a purple header. They facilitate the reuse of structures for multiple elements.

    The header of this type is displayed with a hatched pattern, indicating its abstract nature. It cannot be directly used but serves as a base type in inheritance. The usage of this is evident in the connections described below.

Letters Representing Local Elements

An important visual cue within the XSD Visualizer Plugin is the letters displayed in small boxes next to inner elements. These letters dictate the order and frequency of tags within their parent tags.

  • Sequence (S): All child tags must appear in a defined sequence.
  • Choice ©: Only one of the specified tags needs to be chosen. This is often combined with “(0..*)” indicating that this choice can be repeated any number of times. Thus, allowing a group of tags in any order and frequency.
  • All (A): All specified tags must appear. The order doesn't matter, and unless otherwise specified, each tag must appear exactly once.

Numbers Representing Local Elements

Another crucial visual indicator within the XSD Visualizer Plugin is the numbers displayed preceding the local elements. These numbers specify how many times a particular tag can appear within the parent tag.

  • No Number: If no explicit number is provided, it implies that the tag should appear exactly once within the parent tag.

  • (0..1): This sequence indicates “optional”. It means the tag can appear exactly once but is not mandatory.

  • (1..*): This sequence implies the tag must appear at least once within the parent tag. There is no upper limit to its occurrence.

  • (0..*): Describes the possibility that a tag can appear any number of times within the parent tag, including zero.

Connections and Their Significance

The connections between elements and types, as well as among different types, play a crucial role in representing relationships within the schema:

Lines and arrows denote connections between elements and types. A line signifies a direct inheritance of the type, while arrows indicate that a type is restricted or extended. For instance, an arrow pointing towards the base type, as seen in the example, implies an extension of the type by elements or attributes. Conversely, an arrow away from the base type signifies a restriction.

In the CustomerDetailsType, it's evident that the elements of the base type PersonDetailsType are precisely inherited. These are then connected with the elements of the new type using a sequence (S). Consequently, the extended tags in the XML must appear after those from the base type. This signifies a limitation within XML Schema.

Control Symbols

In addition to the main elements and connections, specific symbols provide additional information and functionalities:

  • Triangle at the End of the Box: This symbol allows the box to expand, revealing further details for the type or element, akin to a dropdown menu.
  • Symbol with Brackets and Forward Slash: Directs the user to the source code for that particular box.
  • Arrow Symbol Exiting a Box: Indicates that the box is a reference to another box, leading the user to the actual definition.

Customizations and Future Features

Currently, the XSD Visualizer Plugin “SchemaViz” doesn't offer customization options for visualization. However, the colors adapt to the set color scheme of the Integrated Development Environment (IDE). A planned zoom feature aims to facilitate adjustments for various display sizes in the future.

For further inquiries or assistance, users can easily reach out via the feedback form within the software or here on the homepage.