Equivalent Nodes and Their Child Nodes

Overview

The <Equivalent> node and its children are used in the schema tree to display occurrences of complex data type polymorphism. When you derive one complex data type from another complex data type, polymorphism within XSD allows either of these data types to occur in instance messages in locations for which the base complex data type has been specified. During schema validation, the fact that one of multiple possible complex data types is allowed at a particular location is represented implicitly by the base complex data type name associated with the base attribute of the extension or restriction elements of the derived complex data types. To make this polymorphism more obvious in the schema tree, the <Equivalent> node and its child nodes are displayed explicitly.

The <Equivalent> node is displayed as a child node of occurrences of the base complex data type, indicating that there are multiple complex data types that could occur at that position in an instance message. The child nodes of the <Equivalent> node are displayed as the value of the name attribute of the corresponding complexType element in the XSD representation of the polymorphism, displayed within angle brackets (<name>).

The <Equivalent> node and its children each have only two properties associated with them:

  • <Equivalent> node: Node Name and Base Type

  • Child nodes: Node Name and Derivation Type

More details on these properties in the UI guidance and developers API namespace reference.

XSD representation

There is no direct XSD representation of the <Equivalent> node and its children. This node is used within the schema tree to make complex data type polymorphism more visible and obvious.

See Also