2.1.3.43 TypeDescriptor

Target namespace: http://schemas.microsoft.com/windows/2007/BusinessDataCatalog

Referenced by: Parameter, TypeDescriptors

A complex type that specifies a TypeDescriptor.

Child Elements:

LocalizedDisplayNames: A LocalizedDisplayNames element (section 2.1.3.28) that specifies the localized names of the Model.

Properties: A Properties element (section 2.1.3.39) that specifies the Properties of the Model.

Interpretation: An Interpretation element (section 2.1.3.22) that specifies rules for the data stored by the data structure represented by the TypeDescriptor.

DefaultValues: A DefaultValues element (section 2.1.3.13) that specifies the DefaultValues of the TypeDescriptor.

TypeDescriptors: A TypeDescriptors element (section 2.1.3.44) that specifies the child TypeDescriptors of the TypeDescriptor.

Attributes:

TypeName: A TypeDescriptorTypeNameString attribute (section 2.1.4.15) that specifies the implementation-specific identifier of the data type of the data structure that is represented by the TypeDescriptor.

LobName: A NameString attribute (section 2.1.4.9) that specifies the name of the data structure that is represented by the TypeDescriptor. For example, a line-of-business (LOB) system data structure named "CN1A" can be represented by a TypeDescriptor with Name attribute equal to "Customer Name", if the LobName attribute of this TypeDescriptor is equal to "CN1A". The default value of this attribute is the name of the TypeDescriptor.

IdentifierEntityNamespace: A NameString attribute that specifies the namespace of the Entity that contains the Identifier that TypeDescriptor references. If the TypeDescriptor does not reference an Identifier, this attribute MUST NOT be present. When this attribute is present, the IdentifierEntityName and IdentifierName attributes MUST also be present. The default value of this attribute is the namespace of the Entity that contains the Method containing the Parameter that contains the TypeDescriptor.

IdentifierEntityName:  A NameString attribute that specifies the name of the Entity that contains the Identifier that TypeDescriptor references. If the TypeDescriptor does not reference an Identifier, this attribute MUST NOT be present. When this attribute is present, the IdentifierEntityNamespace and IdentifierName attributes MUST also be present. The default value of this attribute is the name of the Entity that contains the Method containing the Parameter that contains the TypeDescriptor.

IdentifierName: A NameString attribute that specifies the name of the Identifier referenced by the TypeDescriptor. If the TypeDescriptor does not reference an Identifier, this attribute MUST NOT be present.

ForeignIdentifierAssociationName: A NameString attribute that specifies the name of the Association referenced by the TypeDescriptor. If the TypeDescriptor does not reference an Association, this attribute MUST NOT be present. When this attribute is present, the IdentifierName attribute MUST also be present. The ForeignIdentifierAssociationName attribute MUST be specified when the Identifier referenced by this TypeDescriptor is related to an Association, and the Identifier is contained by a source Entity of the Association.

ForeignIdentifierAssociationEntityName: A NameString attribute that specifies the name of the Entity that contains the Association referenced by the TypeDescriptor. If the TypeDescriptor does not reference an Association, this attribute MUST NOT be present. When this attribute is present, the ForeignIdentifierAssociationEntityNamespace and ForeignIdentifierAssociationName attributes MUST also be present. The default value of this attribute is the name of the Entity that contains the Method containing the Parameter that contains the TypeDescriptor.

ForeignIdentifierAssociationEntityNamespace:  A NameString attribute that specifies the namespace of the Entity that contains the Association referenced by the TypeDescriptor. If the TypeDescriptor does not reference an Association, this attribute MUST NOT be present. When this attribute is present, the ForeignIdentifierAssociationEntityName and ForeignIdentifierAssociationName attributes MUST also be present. The default value of this attribute is the namespace of the Entity that contains the Method containing the Parameter that contains the TypeDescriptor.

AssociatedFilter: A NameString attribute that specifies the name of the FilterDescriptor that is associated with the TypeDescriptor. If the TypeDescriptor is not associated with a FilterDescriptor, this attribute MUST NOT be present.

IsCollection: An xs:boolean attribute that specifies whether the TypeDescriptor represents a single data structure or a collection of data structures. The value MUST be as listed in the following table.

Value

Description

False

The TypeDescriptor represents a single data structure.

True

The TypeDescriptor represents a collection of data structures.

ReadOnly: An xs:boolean attribute that specifies whether the data stored by the data structure  represented by the TypeDescriptor can be modified. This attribute MUST NOT be specified if the value of the Direction attribute of the Parameter that contains the TypeDescriptor is "In". The value MUST be as listed in the following table.

Value

Description

False

The data can be modified.

True

The data cannot be modified.

CreatorField: An xs:boolean attribute that specifies whether the TypeDescriptor represents a field for MethodInstances of type Creator that are contained by the Method that contains the Parameter containing the TypeDescriptor. The value MUST be as listed in the following table.

Value

Description

False

The TypeDescriptor is not a field in the Creator View.

True

The TypeDescriptor is a field in the Creator View.

UpdaterField: An xs:boolean attribute that specifies whether the TypeDescriptor represents a field for MethodInstances of type Updater that are contained by the Method that contains the Parameter containing the TypeDescriptor. When this attribute is specified, PreUpdaterField attribute MUST NOT be specified. The value MUST be as listed in the following table.

Value

Description

False

The TypeDescriptor is not a field in the Updater View.

True

The TypeDescriptor is a field in the Updater View.

PreUpdaterField: An xs:boolean attribute that specifies whether data structure represented by the TypeDescriptor stores the latest data value received from the line-of-business (LOB) system of a field for MethodInstances of type Updater. When this attribute is specified, UpdaterField attribute MUST NOT be specified. The value MUST be as listed in the following table.

Value

Description

False

The TypeDescriptor does not store the last received value.

True

The TypeDescriptor stores the last received value.

Significant: An xs:boolean attribute that specifies whether values stored by the data structure  represented by this TypeDescriptor is included in calculating a hash code or comparing values stored in the data structures. For example, a TypeDescriptor representing a customer’s last name is taken into account when determining whether a record has been modified, thus it is significant, whereas the TypeDescriptor representing date on which the customer record is last read typically is not taken into account to determine whether a record has been modified, thus it is not significant. The value MUST be as listed in the following table.

Value

Description

False

The TypeDescriptor is not significant.

True

The TypeDescriptor is significant.

IsSortInput: An xs:boolean attribute that specifies whether the value stored by the data structure represented by this TypeDescriptor stores the input value for the SortingFilter. When this attribute is not specified, the SortingFilter MUST be assumed to not being set and the default sort order SHOULD be used to fetch data from the line-of-business (LOB) system. The value MUST be as listed in the following table.

Value

Description

False

The TypeDescriptor does not specify the input to the SortingFilter.

True

The TypeDescriptor specified the input to the SortingFilter.

Name: A NameString attribute (section 2.1.4.9) that specifies the name of the Model.

DefaultDisplayName: A NameString attribute that specifies the default display name of the Model.

IsCached: An xs:boolean attribute that specifies whether the Model is used frequently. This MAY<37> be used as a recommendation as to whether to cache the Model. This attribute MUST be set to one of the values listed in the following table.

Value

Description

False

The Model is infrequently used.

True

The Model is frequently used.

The following W3C XML Schema ([XMLSCHEMA1/2] section 2.1) fragment specifies the contents of this complex type.

 <xs:complexType name="TypeDescriptor">
   <xs:complexContent>
     <xs:extension base="bdc:MetadataObject">
       <xs:sequence>
         <xs:element name="Interpretation" type="bdc:Interpretation" minOccurs="0"/>
         <xs:element name="DefaultValues" type="bdc:DefaultValues" minOccurs="0">
           <xs:unique name="DefaultValueMethodInstanceNameKey">
             <xs:selector xpath="*"/>
             <xs:field xpath="@MethodInstanceName"/>
           </xs:unique>
         </xs:element>
         <xs:element name="TypeDescriptors" type="bdc:TypeDescriptors" minOccurs="0">
           <xs:unique name="TypeDescriptorNameKey">
             <xs:selector xpath="*"/>
             <xs:field xpath="@Name"/>
           </xs:unique>
         </xs:element>
       </xs:sequence>
       <xs:attribute name="TypeName" type="bdc:TypeDescriptorTypeNameString" use="required"/>
       <xs:attribute name="LobName" type="bdc:NameString" use="optional"/>
       <xs:attribute name="IdentifierEntityNamespace" type="bdc:NameString" use="optional"/>
       <xs:attribute name="IdentifierEntityName" type="bdc:NameString" use="optional"/>
       <xs:attribute name="IdentifierName" type="bdc:NameString" use="optional"/>
       <xs:attribute name="ForeignIdentifierAssociationName" type="bdc:NameString" use="optional"/>
       <xs:attribute name="ForeignIdentifierAssociationEntityName" type="bdc:NameString" use="optional"/>
       <xs:attribute name="ForeignIdentifierAssociationEntityNamespace" type="bdc:NameString" use="optional"/>
       <xs:attribute name="AssociatedFilter" type="bdc:NameString" use="optional"/>
       <xs:attribute name="IsCollection" type="xs:boolean" default="false" use="optional"/>
       <xs:attribute name="ReadOnly" type="xs:boolean" default="false" use="optional"/>
       <xs:attribute name="CreatorField" type="xs:boolean" default="false" use="optional"/>
       <xs:attribute name="UpdaterField" type="xs:boolean" default="false" use="optional"/>
       <xs:attribute name="PreUpdaterField" type="xs:boolean" default="false" use="optional"/>
       <xs:attribute name="Significant" type="xs:boolean" default="true" use="optional"/>
       <xs:attribute name="IsSortInput" type="xs:boolean" default="false" use="optional"/>
     </xs:extension>
   </xs:complexContent>
 </xs:complexType>

See section 5.1 for the full W3C XML Schema ([XMLSCHEMA1/2] section 2.1).