XML Schema editors

The W3C's XML Schema Recommendation defines a formal mechanism for describing XML documents. The standard has become popular and is used by the majority of standards bodies when describing their data.[1]

The standard is versatile, allowing for programming concepts such as inheritance and type creation, but it is complex. The standard itself is highly technical and published in 3 different parts, making it difficult to understand without committing large amounts of time.

XML schema editor tools

The problems users face when working with the XSD standard can be mitigated with the use of graphical editing tools. Although any text-based editor can be used to edit an XML Schema, a graphical editor offers advantages; allowing the structure of the document to be viewed graphically and edited with validation support, entry helpers and other useful features.

Editors that have been developed so far take several different approaches to the presentation of information:

Text view

The text view of an XML Schema shows the schema in its native form. XML Schema Editors generally add to the text view with features including inline entry helpers and entry helper windows, code completion, line numbering, source folding, and syntax coloring. For more lengthy and complex schema documents, this is often difficult for even highly trained content model architects to work with, paving the way for software companies to come up with new and inventive way for users to visualize these documents.

Physical view

A physical view of an XML Schema displays a graphical entity for each element within the XML Schema. This can make an XSD document easier to read, but does little to simplify editing. This is largely due to the structure of the XSD Standard, where container elements are required which are dependent on the base type used and the types contained within. This means that small changes to the logical structure can cause changes to ripple through the document.

The structure of the XSD standard also means entities are referenced from other locations within the document. Some editors allow these to be expanded and viewed in the location they are referenced from but others don't, which means manual cross referencing may be required.

Logical View

A logical view shows the structure of the XML Schema without showing all the detail of the syntax used to describe it. This provides a clearer view of the XML Schema, making it easier to understand the structure of the document, and makes it easier to edit. Since the editor shows the logical structure of the XSD document, there is no need to show every element, removing much of the complexity and allowing the editor to automatically manage the syntactical rules.

Example

The following example will show the source XSD, logical and physical views for a simple schema.

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="NameType">
    <xs:sequence>
      <xs:element name="Forename" type="xs:string" />
      <xs:element name="Surname" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Person">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Name">
          <xs:complexType>
            <xs:complexContent mixed="false">
              <xs:extension base="NameType">
                <xs:attribute name="ID" type="xs:string" />
              </xs:extension>
            </xs:complexContent>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
Physical ViewLogical View
A diagrammatic representation of an XML Schema, each element and attribute in the source code is being by an entity in the diagram.A diagrammatic representation of an XML Schema (XSD), each entity in the diagram is created using a number of elements and attributes to produce a logical view of the schema, this removes unnecessary implementation detail, while adding data resolved from elsewhere in the source code.

A Sample XML Document for the schema

<?xml version="1.0" encoding="utf-8" ?>
<Person>
    <Name ID="123456">
        <Forename>John</Forename>
        <Surname>Doe</Surname>
    </Name>
</Person>

As you can see the logical view provides more information, but without the syntactical clutter, making it easier to understand and work with.

XML schema editors

As the XSD standard has gained support, a host of XML Schema editors have been developed. See this Comparison of XML editors available here.

Application NameScreenshotCode EditorPhysical EditorLogical EditorSplit Code/Diagram ViewLicense
Altova XMLSpyscreenshots
proprietary
Eclipse XSD Editor (eclipse.org)screenshots
Limited Editingfree software
IntelliJ "XSD / WSDL Visualizer" PluginShort Introductory on Youtube screenshots
Limited Editing
proprietary[2]
jEdit XML Pluginscreenshot 1
screenshot 2
free software
Liquid XML Studioscreenshots
proprietary
Oxygen xmlscreenshots
proprietary
Stylus Studioscreenshots
proprietary
XML Fox - Freeware Editionscreenshots
proprietary
Eclipse Data Types (XSD) EditorShort Introductory on Youtube screenshots
free software
XMLSeedscreenshotsRead Only
proprietary
CAM editor open source toolscreenshots
free software

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.