XML Schemas enable document designers to specify the allowed structure and content of an XML document. <oXygen/> provides a powerful and expressive Schema Diagram mode for editing XML Schemas.
The structure of the diagram is specially designed to be intuitive and easy to use. The XML Schema diagram helps both the content authors who want to understand a schema and schema designers who develop complex schemas.
You can edit XML Schema components features directly in the diagram, for instance the component name, its type, etc. Valid proposals are offered in the contextual menu allowing you to easily insert new components in the current context.
You can design your schema in the new XML Schema diagram by using drag-and-drop to move, copy or make references.
The Palette view enhances even further the usability of the XML Schema diagram builder by allowing you to drag components from this helper view and drop them into the Design page.

The Outline view for XML Schema presents the XML schema components from the current schema and from the included and imported schemas. All the global components can be sorted by name and grouped by type, location and namespace.

If you need to find a component, you can search for it by typing its name into the outliner filter text field.
The Outline view is drag and drop enabled, allowing you to move or create references to XML Schema components by dragging them into the diagram.
<oXygen/> provides the support for defining the main module (or modules) of a complex multi-module XML Schema, thus allowing you to edit any of the imported/included schema files in the context of the larger schema structure.
The Attributes View provides an easy way to edit attributes for all XML Schema components. You can choose valid values from a list or you can specify your own values. If an attribute has an invalid value it will be highlighted in the table so you can easily spot the error and fix it.

Using the Facets View you can easily check the existing facets of the current simple type (including the default facets), edit values or add patterns and enumerations. If a facet has an invalid value it will be highlighted in the table.

For more information about the XML Schema Documentation tool click here.
You can ensure the XML Schema you develop complies with the W3C standard by using one of the validation engines distributed with <oXygen/>: Xerces or Saxon-EE validator. <oXygen/> can also be configured to use an external XML Schema validator.
<oXygen/> provides the support for defining the main module of a complex XML Schema, thus allowing correct validation of a module in the context of the larger schema structure.
When an editing action introduces an error the XML Schema validator signals it by painting in the diagram the border of the component containing the error with red.
<oXygen/> is the first XML editor that links the error directly to the part of the specification that explains it. The error messages contains an information field that will open the browser on the "XML Schema Part 1:Structures" specification at exactly the point where the error is described. This allows you to better understand the error message.
<oXygen/> offers a side by side presentation of the schema source and diagram. The diagram is synchronized in real time with the source editor: selecting an element in the diagram highlights the corresponding element in the source editor, while moving the caret in the source editor changes the selection in the diagram view. You can enable the side by side diagram from the <oXygen/> Preferences.
The schema diagram renders all the XML Schema components and allows you to quickly navigate to the referred definitions of elements, attributes, types, groups etc.
Two types of visual diagram are available for a schema: the Full Model View and the Logical Model View.
The Full Model View provides a one-to-one correspondence between the schema components and the graphical nodes. References to different components can be expanded in place in the diagram (for instance element or attribute references or base types).
The Logical Model View displays a more compact diagram obtained by resolving the references, type extensions and type restrictions, redefinitions etc.
A list with the defined schema components (elements, attributes, simple and complex types, groups and attribute groups) presented in the Outline View simplifies the navigation through large schemas.
The smooth editing and the clear and suggestive rendering make schema editing more fun and easier than ever.
The Visual Schema Editor is integrated in the <oXygen/> standalone distribution and the Eclipse IDE plugin. It is activated when opening an XSD (XML Schema) file.
Editing actions are available on the full model view allowing the addition of new child or sibling elements on the fly so that the schema remains valid.
W3C XML Schema documents can be edited and validated with <oXygen/>. You are helped by the context sensitive assistant driven by the schema for schemas. The validation is not performed against schema for schemas but according with the W3C specification, <oXygen/> using the latest version of Xerces-J at the time of release.

<oXygen/> is the first XML editor that links the error directly to the part of the specification that explains it. The error messages contains an information field that will open the browser on the "XML Schema Part 1:Structures" specification at exactly the point where the error is described. This allows you to better understand the error message.

The XML Schema documentation is presented by the new content completion support. The content completion offers now additional information for the element and attribute proposals. It will look up the schema annotation and will make the documentation available to the author in a simple and elegant manner.
XML Schema editing is made easier as you can insert references to components from other XML Schema files assisted by the content completion.
<oXygen/> automatically detects the modified included/imported schemas and adjusts the content completion list.
All the occurrences of an XML Schema component are highlighted in the text when you place the caret near the component name.
The occurrences bar from the right side of the editor displays a summary of the component references in the XML Schema file.
The component declaration is rendered with a darker color to make it easier to spot.

XML Schemas contain annotations for providing additional information like documentation or application specific information. For instance a schema can contain documentation for its components in XHTML or can contain Schematron embedded rules. Now it is possible to specify a schema for these annotations and <oXygen/> will use that for providing content completion proposals, thus providing a better editing support.

The Model View provides schema related information for the document elements and attributes. The content model, the element type, the attributes, the attribute type and constraints are presented in a compact manner giving you the insight of the document schema while editing or browsing the document.
This action allows renaming any schema component (element, type, group, named pattern, etc). The scope can be set to the current file, all the files in project or the set of files determined by include/import instructions staring with a specified file.
The rename refactoring support is available both on the XML Schema editor and on the Relax NG editor.
A preview option allows to review and approve the changes that will be made on multiple schemata. The changes are presented in a side by side synchronized view that compares the initial version with what will result after applying the refactoring action.
You can find either declarations or references of XML Schema components. The search scope can be the current file, the current project or a group of files.
Sometimes it is useful to aggregate the set of files that compose an XML Schema into a single file. The Flatten Schema refactoring action allows you to make this change. The action handles also xs:redefine elements by assigning an unique name to each redefined type or group.
The diagrams can be made smaller or larger depending on the zoom settings of the font size. These settings are taken into account when the diagram is printed.
<oXygen/> XML instance generator can quickly generate a large set of XML document samples based on a given XML Schema.
All the settings that you configured can be saved on disk in a configuration file and loaded later. You can reuse the options you defined at a later time, share them with other users or use them as input for the command line instance generator tool.
You can specify the following parameters: namespace prefixes, generation of optional elements and attributes, default or random values for elements, number of repetitions, choice strategy for choice and substitution group definitions. The parameters can be global but also specific to a namespace or specific to an element this allowing fine tuning of the result instances.

You can have a better control on the values that appear in your generated instances by specifying a set of possible values for attributes or elements. This is very useful also in situations when it is not possible to automatically generate a valid value.

You can run the XML instance generator tool from the command line. This allows integrating the instance generation in automated processes.

The regular expressions builder helps you to construct and test regular expressions allowed in XML Schema restriction patterns.
There are provided a table with regular expression patterns organized in categories and a test area for checking the instances accepted by the expression. Content completion is available in the regular expressions editor.
The converter allows one to convert a DTD or Relax NG (full or compact syntax) grammar or a set of XML files to an equivalent XML Schema, DTD or Relax NG (full or compact syntax) grammar. Where perfect equivalence is not possible due to limitations of the target language <oXygen/> will generate an approximation of the source grammar. The conversion functionality is available from Tools -> Generate/Convert Schema .
A grammar being edited can be converted with a toolbar button if that grammar can be the subject of a supported conversion. For example if one presses the "Convert to ..." button while editing a DTD document the following dialog will show up:
One can set the target language of the conversion and the target grammar name.
Advanced options allow the user to customize different conversion parameters.