Share via


Derived By (Node Property of All Schemas)

 

Use the Derived By property to define whether the data type being derived for the currently selected Record, Field Element, or Field Attribute node is an extension, restriction, list, or union of the type specified by the Base Data Type property.

Applies to Nodes of Type

Record, Field Element, Field Attribute

Category

Advanced

Allowed Values

The following table shows the choices for this property when a Record node is selected.

Drop-down list choice Description
(Default) Use this value to return to the default behavior: the data type of the selected Record node is not derived from another type.
Extension Use this value to derive a new, extended data type from the simple or complex data type defined by the Content Type and Base Data Type properties.
Restriction Use this value to derive a new, restricted data type from the simple or complex data type defined by the Content Type and Base Data Type properties.

The following table shows the choices for this property when a Field Element or Field Attribute node is selected.

Drop-down list choice Description
(Default) Use this value to return to the default behavior: the data type of the selected Field Element or Field Attribute node is not derived from another type.
Restriction Use this value to derive a new, restricted data type from the simple data type defined by the Content Type and Base Data Type properties.

When you specify this value, all of the properties in the Restricted category become available for contriving a specific set of data restrictions.
List Use this value to specify that instance message data that corresponds to the selected Field Element or Field Attribute node can be a list of white-space separated values of the data type specified by the Item Type property.

Use caution when the Base Data Type property specifies "xs:string" because strings can themselves contain white space which introduces ambiguity into the data.
Union Use this value to specify that the instance message data that corresponds to the selected Field Element or Field Attribute node can be one of several different data types, as specified by the Member Types property.

Default Value

(Default), indicating that the data type of the currently selected Record, Field Element, or Field Attribute node is not derived from another data type.

XSD Persistence

The XSD persistence of the Derived By, Base Data Type, Content Type (Record nodes only), Item Type, and Member Types properties are interrelated, as shown in the following table.

Node type and property settings XSD persistence
Record node with:

 Derived By = Extension

 Content Type = SimpleContent
<element>

<complexType>

<simpleContent>

<extension base="BDT">

where "BDT" is the value of the Base Data Type property.
Record node with:

 Derived By = Extension

 Content Type = ComplexContent
<element>

<complexType>

<complexContent>

<extension base="<Base Data Type>"
Record node with:

 Derived By = Restriction

 Content Type = SimpleContent
<element>

<complexType>

<simpleContent>

restriction base="BDT">

where "BDT" is the value of the Base Data Type property.
Record node with:

 Derived By = Restriction

 Content Type = ComplexContent
<element>

<complexType>

<complexContent>

<restriction base="BDT">

where "BDT" is the value of the Base Data Type property.
Field Element or Field Attribute node with:

 Derived By = Restriction
<element> or <attribute>, respectively

<simpleType>

<restriction base="BDT">

where "BDT" is the value of the Base Data Type property.
Field Element or Field Attribute node with:

 Derived By = List
<element> or <attribute>, respectively

<simpleType>

<list itemType="IT">

where "IT" is the value of the Item Type property.
Field Element or Field Attribute node with:

 Derived By = Union
<element> or <attribute>, respectively

<simpleType>

<union memberTypes="MTs">

where "MTs" is the value of the Member Types property.

Remarks

You can examine and set this property in the Visual Studio Properties window when you select a Record (including a root Record node), Field Element, or Field Attribute node in BizTalk Editor.

The setting of this property interacts with the Base Data Type, Content Type (Record nodes only), Item Type, and Member Types properties.

For Field Element and Field Attribute nodes (not for Record nodes), if you set the Derived By property to Restriction, the following properties, which represent simpleType facets in XSD, become available for you to edit:

When you change the value of the Derived By (Node Property of All Schemas) [BTS05] property, any value associated with the Fixed or the Default Value property is deleted (they cannot both have a value). As appropriate, you must provide a new value for the Fixed or Default Value property that conforms to the chosen Base Data Type and (new) Derived By property settings.

Moreover, you cannot set the Derived By property to Extension to derive from xs:anyType otherwise you may receive an error message as in the below Note section. To correct this error, you can either change Derived By property to Restriction or change the Base Data Type from xs:anyType to some other type.

Note

Wildcard '##any' allows element 'ACTUAL_FIELD_NAME', and causes the content model to become ambiguous. A content model must be formed such that during validation of an element information item sequence, the particle contained directly, indirectly or implicitly therein with which to attempt to validate each item in the sequence in turn can be uniquely determined without examining the content or attributes of that item, and without any information about the items in the remainder of the sequence.

For more information about different types of derivations, see Type Reuse and Derivations.

See Also

Node Properties of All Schemas