Misplaced Pages

XML Schema editors

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Formal mechanism for describing XML documents
This article contains promotional content. Please help improve it by removing promotional language and inappropriate external links, and by adding encyclopedic text written from a neutral point of view. (November 2024) (Learn how and when to remove this message)

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.

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 View Logical 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 Name Screenshot Code Editor Physical Editor Logical Editor Split Code/Diagram View License
Altova XMLSpy screenshots
proprietary
Eclipse XSD Editor (eclipse.org) screenshots
Limited Editing free software
IntelliJ "XSD / WSDL Visualizer" Plugin Short Introductory on Youtube screenshots
Limited Editing
proprietary
jEdit XML Plugin screenshot 1
screenshot 2
free software
Liquid XML Studio screenshots
proprietary
Oxygen xml screenshots
proprietary
Stylus Studio screenshots
proprietary
XML Fox - Freeware Edition screenshots
proprietary
Eclipse Data Types (XSD) Editor Short Introductory on Youtube screenshots
free software
XMLSeed screenshots Read Only
proprietary
CAM editor open source tool screenshots
free software

References

  1. W3C Primer
  2. "End of Freemium", XSD Visualizer on IntelliJ Marketplace
Categories: