XML Schema Editor

Altova XMLSpy® includes the original graphical XML Schema editor, with a visual design paradigm and intelligent entry helpers that help you model, edit, and document XML Schemas with ease. The XML Schema editor in XMLSpy allows you to create schemas graphically, allowing you to focus on the semantics of your schema while leaving the syntactical details of the XML Schema language to XMLSpy.

XMLSpy gives you the ability to toggle back and forth between the graphical schema view and the text view, which autogenerates valid XSD code in real-time based on your design.

XML Schema View

The XML Schema view has two options

  • A Schema Overview, which displays all global components (global elements, complexTypes, etc.) in a simple tabular format.
  • A Content Model View that displays views of the content models of each of the individual global components.

Note You can directly access components from IIRed XML Schemas with Altova SchemaAgent®, which integrates seamlessly with XMLSpy.

Schema Overview

The Schema Overview displays a list of all the global components of the schema (global elements, complexTypes, etc.).

Schema overview

As shown in the screenshot above, you can insert, append, or delete global XML Schema components, as well as modify their properties using the entry helpers or the Attributes/Identity Constraints pane. Schema Overview also provides the following features and functionality:

  • You can use drag-and-drop to reposition components.
  • You can easily navigate through the Schema Overview using the arrow keys on your keyboard.
  • You can copy or move global components, attributes, and identity constraints to a different position and from one schema to another using cut/copy and paste.
  • Right-clicking a component opens a context menu that allows you to cut, copy, paste, delete, or edit the annotation data of that component.

Content Model View

A content model is a description of the structure and contents of an element. Global components that can have a content model (for example, elements, complexTypes, and model groups; but not, for example, simpleTypes that have no descendents) are indicated in the Schema Overview list with a clickable icon to the left of their name. Clicking on this icon opens the Content Model View for that global component. The content model is displayed graphically as a tree:

Content Model View

The Content Model View also provides the following features and functionality:

  • Each level (of elements or element groups) in the tree is joined to adjacent levels with a compositor.
  • Drag-and-drop functionality enables you to move tree objects (compositors, elements, element groups) around.
  • You can use keyboard shortcuts to copy (Ctrl-C) and paste (Ctrl-V) tree objects
  • You can add objects (compositors, elements, and element groups) via the context menu (right-click an object).
  • You can edit the properties of an object in the Details entry helper (compositors, elements, element groups) and the Attributes/Identity Constraints pane.

Entry Helpers

There are three entry helpers in the XML Schema Editor, a Component Navigator, Details Entry Helper, and Facets Entry Helper.

Component Navigator

The Component Navigator organizes global components in a tree view by component type or by namespace. This provides organized overviews of all of the particles that comprise your XML Schema design. In addition, this enables you to easily navigate to and display the Content Model View of any complex global component. Global components that are included or imported from other schemas are also displayed in the Component Navigator.

Component Navigator

Component Navigator

Details Entry Helper

The Details Entry Helper displays editable information about the compositor or component currently selected in the main window. If you are editing a XML Schema file which contains database extensions, an additional tab with information about the DB extensions will be visible.

Details Entry Helper

Any changes you make via the Details Entry Helper are immediately reflected in the content model diagram.

Facets Entry Helper

The Facets Entry Helper enables you to enter the values of facets, patterns, and enumerations to control the input values for an element by specifying a required datatype, character limitations, etc.

Facets Entry Helper