Xomega Editor, which is by default associated with Xomega files (.xom), is designed
to enhance the Visual Studio built-in XML editor with Xomega-specific features for
working with XML models as well as to improve certain standard XML editor behaviors
that don't work well for Xomega models. Most of the features should be familiar
from working with other Visual Studio languages and therefore require a minimal
In addition to the standard XML IntelliSense that is based on the underlying schema,
which suggests possible values for XML tags, attributes and static enumerations,
Xomega Editor also allows dynamic suggestions that are based on the values defined
in the model itself.
For example, whenever you need to reference an Xomega type, you can press Ctrl+Space
to drop down a list of types defined in the model with the selection positioned
at the entry that best matches your input so far.
To help reduce errors, the tooltip for the selected record also shows the description
of the current type (or the entity being referenced), which is taken from the corresponding
As with the standard Visual Studio XML Editor, Xomega Editor automatically validates
the object model files against the corresponding schema definitions and reports
validation errors in the Error List and also by underlining the invalid text right
in the XML.
In addition to that Xomega Editor validates the model against numerous logical rules
that are hard or impossible to express in the XSD, which are designed to keep the
model consistent and clean to save developers from costly troublshooting of model
errors in the generated artifacts. The custom validation errors are typically very
detailed and often provide advices on how to deal with these errors.
Go To Definition
This feature is familiar from other Visual Studio languages (F12) and allows the
user to quickly navigate to the definition of the referenced entity under the cursor.
This is useful, for example, if you want to view the details of the type definition
you are using for a field or as a base type. You can then navigate back via the
standard VS action Navigate Backward (Ctrl+-).
Find All References
This is another standard Visual Studio action (Shift+F12) that allows you to easily
find all model references to the entity under the cursor.
It displays the references in a concise and easy to read form in the standard Find
Symbol Results window.
For example, you can view all places where a specific model-defined logical type
is used. This helps you better understand the structure of your model and dependencies
between different model elements.
Rename is a standard Visual Studio action (F2) that is a part of Xomega Editor's
refactoring capabilities. Given that all model-defined entities are being referenced
by names it allows to easily rename any entity and update all the references at
the same time. This can help keeping your model well understood by developers, which results in
better productivity and less errors.
It becomes especially useful if you start building your model by importing it from
a database. The system will generate the necessary types which will be automatically
named based on the database metadata. However, you'll find it useful to give them
more logical names.
For example, most of the fields that represent names in AdventureWorks model are
of length 50 and hence are imported with a type string50. You may want to rename
this type to be "name" so that when developers are adding another field that is
a name, they will more likely use this type and therefore keep it consistent with
the other names.
This feature allows browsing the object model via standard Visual Studio tools such
as an Object Browser or a Class Viewer. This will essentially conceal the fact that
the object model is defined in XML and will let you focus on the actual structure
of the model.
The model entities are organized in a tree view by modules and types of entities
(Objects, Types, Fieldsets, etc.) The member panel displays the field members of
the currently selected object with the key fields indicated as such by a small key
The common field properties as well as the description is displayed in a separate
panel, which also supports navigation links to the related entities.
You can also navigate directly to the corresponding XML definition of the currently
selected entity or view all references to this entity right from the Object Browser.
Collapsing to Definitions
This again a common feature to many Visual Studio languages allows collapsing the
model XML elements to model definitions with just a single click. As a result, you
can easily browse the structure of the XML model right in the editor and then expand
only the nodes you are interested in without cluttering your view with irrelevant
In fact each Xomega model file is initially open collapsed to object, field and
type definitions. You can, of course, expand all nodes to view the raw XML or stop
outlining altogether. Just as an illustration, the raw XML could look like this:
When collapsed to model definitions it would look like this:
As you may have noticed in the previous section, the Xomega outlining collapses the
XML nodes starting with the child nodes so that the tag name and element's
attributes remain clearly visible on the screen. This improves the document
readability as compared to the standard Visual Studio
2008 and 2010 XML outlining, where the whole element is being collapsed with no color
coding of the tags and attributes and where attribute
names and values can get truncated (see below).
In fact, Xomega Editor is just doing the XML outlining the way it was done in
the Visual Studio 2005, which should be familiar to those, who have used Visual
Studio long enough.