BizTalk Representation of Schemas
Overview
Although BizTalk schemas are ultimately represented and persisted in the XML Schema definition (XSD) language, they are represented as a graphical hierarchy of nodes when working in BizTalk Editor. The top of the hierarchy is always the <Schema> node, and the remaining types of nodes are used to build the schema so that it represents a particular message that is exchanged by using BizTalk.
Insert schema node options
BizTalk Editor provides a way to construct XSD schemas without needing to learn all of the intricacies of XSD syntax. When using the Insert Schema Node command on the BizTalk menu or the shortcut menu, the following choices for nodes to be inserted are available on the cascading menu.
Insert Schema Node menu choice | Description |
---|---|
Child Record | Inserts a Record node at the end of the sequence within the selected node. For more information about Record nodes, see Record Nodes. |
Child Field Attribute | Inserts a Field Attribute node at the end of the selected Record or Attribute Group node. For more information about Field Attribute nodes, see Field Attribute Nodes. |
Child Field Element | Inserts a Field Element node within the selected node. For more information about Field Element nodes, see Field Element Nodes. |
Sibling Record | Inserts a Record node at the end of the sequence containing the selected node. For more information about Record nodes, see Record Nodes. |
Sibling Field Attribute | Inserts a Field Attribute node at the end of the Record or Attribute Group node containing the selected node. For more information about Field Attribute nodes, see Field Attribute Nodes. |
Sibling Field Element | Inserts a Field Element node at the end of the sequence containing the selected node. For more information about Field Element nodes, see Field Element Nodes. |
Sequence Group | Inserts a Sequence Group node (<Sequence> in the tree view) at the end of the sequence within the selected node. For more information about Sequence Group nodes, see Sequence Group Nodes. |
Choice Group | Inserts a Choice Group node (<Choice> in the tree view) at the end of the sequence within the selected node. For more information about Choice Group nodes, see Choice Group Nodes. |
All Group | Inserts an All Group node (<All> in the tree view) as the only non-attribute child node of a Record node, replacing the default use of a sequence element within the Record node with the use of an all element. Before you can insert an All Group node, you must change the Content Type property of the containing Record node to ComplexContent. For more information about All Group nodes, see All Group Nodes. |
Attribute Group | Inserts an Attribute Group node (<AttrGroup:attrGroupN> in the tree view, where N is a monotonically increasing numeral) at the end of the selected Record or Attribute Group node. For more information about Attribute Group nodes, see Attribute Group Nodes. |
Any Element | Inserts an Any Element node (<Any> in the tree view) at the end of the sequence within the selected Record, Sequence Group, Choice Group, or All Group node. For more information about Any Element nodes, see Any Element Nodes. |
Any Attribute | Inserts an Any Attribute node (<AnyAttribute> in the tree view) at the end of the sequence within the selected Record or Attribute Group node. For more information about Any Attribute nodes, see Any Attribute Nodes. |
In many cases, adding a single node in BizTalk Editor results in the addition of multiple nested elements within the corresponding XSD representation of the schema. Because these nested elements can have complex syntax, using BizTalk Editor to graphically arrange nodes is a much less error-prone approach to constructing XSD schemas than hand-editing the XSD. Another factor to consider is that always using BizTalk Editor to construct XSD schemas results in a more controlled subset of XSD being used in the schema descriptions.
Overall, BizTalk Editor combines a simplified approach to constructing XSD schemas using the generic concepts of Records and Fields with a more explicit control of particular XSD constructs, such as sequence, choice, any, and anyattribute elements.
Each type of node has a unique set of properties that can be configured in the Visual Studio Properties window. In general, these properties correspond to attributes on the XSD elements in the corresponding XSD representation of the schema. For more information about node properties, see Node Properties in the UI guidance and developers API namespace reference.
This section describes the types of nodes used within BizTalk Editor, briefly discusses their properties, and provides links to reference information about their properties.