Referential integrity in the XML schema editor

The XML schema editor has a built-in mechanism to handle referential integrity issues. When you delete certain nodes, clean up for any nodes affected will automatically occur.

When you define a complex type, you can add a content model to it and reference a global element.

For example:
<schema>
 <element name="comment" type="string">
 <complexType name="Items">
 <sequence>
 <element ref="comment">
 </sequence>
 </complexType>
</schema>

If the global element (comment) was deleted, all references to it would be in error. However, when you delete the global element, the XML schema editor will clean up using the following algorithm:

  • If there are one or more global elements in the schema, it will change all existing references to the first global element.
  • If there is no global element, then it will delete the element reference from the content model.

Deleting included and imported schema

If an included or imported schema is deleted, you must manually reset the following type references as appropriate:
  • Global element and element's type
  • Attribute type
  • Complex type derivation
  • Simple type derivation
They will not automatically be reset if an included or imported schema is deleted.

Related concepts
XML schema editor

Related tasks

Editing XML schema properties