Welcome to the eiConsole Schema Management Demonstration. The use of XML standards and custom canonical XML formats has moved from the cutting edge to the mainstream. As the use of these XML schemas in business-critical XML interfaces grows, the challenges of maintaining them become more apparent.
XML Standards are often anything but standard. One schema rarely fits all. There is a requirement to manage multiple versions of an XML standard, as well as to deal with custom extensions to the XML schema or XSD. The eiConsole’s Data Mapper provides a solution to these problems. The same graphical user interface available for drag and drop generation of XSLT also provides a robust facility for creating, editing, and maintaining XML schemas.
Schema management begins with the import of an existing XSD or sample XML file. This is done from the Select Format dialogue. We select the XSD or XML format reader…
Configure it appropriately pointing it at the XSD or XML Schema, and within seconds the schema is loaded into the Source or Target tree of the Data Mapper.
Schemas can also be created from non-XML source formats, such as flat-file descriptions, EDI, web forms, etc.
Once read into the tool, we are presented with two views of the XML schema. The first is the Format view. This first view provides a hierarchical navigation of the XSD. This allows us to expand any element to view the allowable children and corresponding types.
The Type view provides a flattened, alphabetical listing of types in the underlying XSD or XML schema.
Click on the Enable or Disable ability to edit format description button. And now right-clicking on a given type node provides the ability to add XML elements or XML attributes to the model. The attribute, element, or field that we select will become a child of the currently selected type.
First, let’s create a simple field to capture a person’s favorite color…
The Add Target Field dialogue appears. We enter the name of FavoriteColor
Select or create a NameSpace.
And then choose a simple data type, in this case we’ll just use a string.
When we click Add you’ll see that our new node has been added to the tree.
To demonstrate something slightly more complex, let’s add a new complex type to capture the person’s measurements. This time we’ll choose Add Target Element.
And give the element the name PantMeasurements. Again we’ll select a namespace, but this time we’ll create a new complex type and call it PantMeasurement_Type and we’ll click Add.
Our new node appears, this time with our underlying Type information that we can then expand further. Let’s add two attributes to this to capture the length (PantLength) and waist measurements (PantWaist).
The schema management facility can also be used to document or annotate the schema. We can create various “note sets” corresponding with different types of documentation.
Once we’ve created a note set we can add a note of that type to any node within our schema. An icon indicates that we’ve added a note or documentation to a particular field.
This XML Schema Documentation can be searched, browsed, or exported into any number of formats. This facility can also be customized to integrate with a metadata repository for your XML schema.
Sometimes, large XML schemas can be unwieldy. Not only are such schemas hard to navigate, but they can cause automated processes – such as WSDL, code generators, or XML Binding utilities – to fail. In other scenarios, large XML schemas can lead to overly permissive XML schema validation processes and therefore dirty data. A common solution to this problem is to create sub-schemas or XML schema slices from the larger base definition. The schema management facility of the Data Mapper allows the user to create a subschema from a sample XML document, XSLT mapping, or customized view. To accomplish this we choose the Manage Filters for Format tree dialogue and then choose to manage either by content of our mapping, or by a sample that we’ve loaded.
Alternatively, we can select the elements or nodes that we do wish to include in our final schema. After we’ve filtered our view or selected the nodes appropriately, we simply select the Slice source or Target format tree by current view button.
Or, we can right click and choose Slice format by current view. If we click this, the un-needed nodes of the XML schema will be removed…
And the newly customized schema can be exported.
Finally, the eiConsole’s XML schema maintenance capabilities take the pain out of migration between versions of an XML schema. When a schema extension is saved, a record of changes to the XSD is maintained. This allows the changes to be “replayed” and re-applied to the upgraded schema version. As such, new extensions can be automatically added to the latest version of a standard so long as the version maintains the basic XML structure of the previous version.
This concludes our demonstration of schema management in the eiConsole and the Data Mapper. You have seen how the Data Mapper can be used to load virtually any existing schema or to create a schema from another non-XML data format. You have also seen how XML elements and XML attributes can be added to a schema using existing or custom XSD simple type or complex types. We have demonstrated how documentation can be attached to a schema, and how the final product can be sliced and exported. Finally, we have discussed how the schema maintenance facility can help migration between schema versions. Thanks for viewing.