Generating a Customized XML Schema

From ER/Studio Data Architect
Jump to: navigation, search

Go Up to Exporting a Data Model to XML


The XML Schema Generation Wizard creates schemas that can be based on a logical or physical model, a submodel, or even specific components only of a model or submodel. To generate a XML Schema perform the following steps:

  1. Open the model you want to base the XML Schema on.
  2. Choose Models > XML Schema Generation or File > Export File > XML File > XML Schema Generation.
  3. On the XML Schema Generation Wizard, accept the default values and then select the database entities to include in the schema, or change the schema options to customize the schema contents.
  4. Complete the XML Schema Generation Wizard and then click Finish to exit the editor.

Notepad blue icon 2.pngNote: The XML Schema Generation Wizard contains many options, using standard XML terminology, to define the contents of the .xsd file created. The procedures that follow include brief descriptions of these options. For detailed information on XML terminology and coding standards, see www.w3.org/XML.

XMLGeneration.png

The following helps you complete the options of the XML Schema Generation Wizard:

Page 1

The options on this dialog define the XML processing parameters that appear at the beginning of the XML schema and set up Quick Launch to enable you to reuse your choices to rerun the XML generator later. On this page a Quick Launch settings file can be loaded to regenerate the schema using the saved settings and objects, or you can modify the settings and objects before generating the schema.

  • XML Attributes:
    • Encoding: Specify the name of the character encoding used for externally parsed entities. UTF-8 is the most common encoding used. Other possible encoding names include UTF-16, ISO-10646-UCS-2, ISO-10646-UCS-4, ISO-8859-1, ISO-8859-02, ISO-2022-JP, Shirft-JIS, and EUC-JP.
    • Standalone: Select the appropriate option to indicate the presence of attribute defaults and entity declarations that are external to the document entity.
      • Yes: Indicates that there are no markup declarations external to the document entity that affects the information passed from the XML processor to the application.
      • No: Indicates that there are markup declarations external to the document entity that affects the information passed from the XML processor to the application.
      • Unspecified: Indicates that he XML processor should determine whether the document is standalone or not depending on the presence of external markup declarations. No standalone declaration is included in the document type declaration.
  • Schema Level Comment: Select the type and then enter the content of comments to include in the schema.
    • XML Comment: If selected, indicates that comments use standard XML comments syntax. XML parsers ignore XML comments. Information in the Schema Level Comment box describes the intended purpose of the schema. For example,
    • xs:documentation: If selected, indicates that comments are enclosed within the xs:documentation element, which is a child of the annotation element. Information in the Schema Level Comment box describes the intended purpose of the schema and is available to any processing application. For example,
      <xs:annotation>
      <xs:documentation>this is an XSD comment
      </xs:documentation>
      </xs:annotation>
    • xs:appinfo: If selected, indicates that comments are enclosed within the xs:appinfo element, which is a child of the annotation element. Information in the Schema Level Comment box provides additional information to a processing application, stylesheet or other tool. For example,
      <xs:annotation>
      <xs:appinfo>this is an XSD comment
      </xs:appinfo>
      </xs:annotation>
  • Quick Launch

Page 2

Set the schema attributes and namespace parameters, which are not required parameters but various XML schema development tools use the schema attributes and namespace parameters to validate the XSD.

  • Namespace: Defines the XML vocabulary used in the schema, which is comprised of unique element and attribute names. The namespace defines any elements and attributes in the schema that use the prefix of that namespace. Each vocabulary used should have its own namespaces to enable the XML parser to resolve ambiguities that can exist between identically named elements or attributes. In the example that follows, the element lib:Title is defined in the XML vocabulary located at http://www.library.com.
    <?xml version="1.0"?>
    <Book xmlns:lib="http://www.library.com">
    <lib:Title>Sherlock Holmes</lib:Title>
    <lib:Author>Arthur Conan Doyle</lib:Author>
    </Book>
  • Location: Defines the Uniform Resource Identifier (URI) of the namespace, usually using Web address conventions. You do not need to define the vocabulary of a namespace but usually the namespace URI location contains either a Document Type Definition (DTD) or an XML schema that defines the precise data structure of the XML. To add another Namespace declaration, click the space below the first Namespace and Location entries and type the Namespace declaration.
  • Target Namespace: Specifies the URI of a DTD or XML schema that defines any new elements and attributes created in the XML instance. The XML parser uses the target namespace to validate the XML, ensuring that any elements and attributes used in the XML exist in the declared namespace. The XML parser also checks the target namespace for other constraints on the structure and datatype of the elements and attributes used. If the target and default namespaces are different, you can choose the namespace in from the list of the type property. The type list is populated with the namespaces that are defined on this page.

Default Namespace: Specifies the URI of a DTD or DML schema that implicitly defines any element within the XML schema that is not explicitly defined, with the prefix of another namespace.

Element Form Default/Attribute Form Default: The elementFormDefault and attributeFormDefault declarations are interdependent. The following describes the results of specifying the various combinations of these declarations

Element form default value

Attribute form default value

Results

Not specified

Not specified

No rules define how globally and locally declared elements and attributes must be defined.

Not specified

qualified

All locally and globally declared attributes must be namespace qualified.

Not specified

unqualified

All locally and globally declared attributes must not be namespace qualified.

qualified

Not specified

All locally and globally declared elements must be namespace qualified.

qualified

qualified

All locally and globally declared elements and attributes must be namespace qualified.

qualified

unqualified

All elements and globally declared attributes must be namespace qualified and locally declared attributes must not be namespace qualified.

unqualified

Not specified

All locally and globally declared elements must not be namespace qualified.

unqualified

qualified

Attributes and globally declared elements must be namespace qualified and locally declared elements must not be namespace qualified.

unqualified

unqualified

All globally declared elements and attributes must not be namespace qualified and locally declared elements and attributes must be namespace qualified.

unqualified

qualified

Attributes and globally declared elements must be namespace qualified and locally declared elements must not be namespace qualified.

Page 3

Notepad blue icon 2.pngNote: Some of the options on the tabs of Page 3 are very similar to each other, such as Add element refs to parent entity elements and Include view columns for complex types, elements, and groups. Where possible, similar options are described together.

Model Options and Dictionary Options

The Model Options control the default behavior for the entity relationship diagram (ERD) to XML mappings as the model objects are dropped into the Schema Body on page 4 of the utility. The Dictionary Options control the default behavior for the entity relationship diagram (ERD) to XML mappings as the domain objects are dropped into the Schema Body on page 4 of the utility.

Entity Options.

  • Include definitions as annotations: If selected, specifies to include the definition as an annotation to the entity, attribute, or view declaration. For example, in the following entity declaration, the entity definition Someone we employ, is included within the xs:annotation element.
    <xs:element name="Employee" nillable="true">
    <xs:annotation>
    <xs:documentation>Someone we employ.
    </xs:documentation>
    </xs:annotation>
    </xs:element>
  • Include Nillable property in XSD: If selected, specifies to generate the nillable="true" option for elements that were created from objects where null values are permitted. In the example above, the nillable option was generated for the element.
  • Include attributes for complex types, elements and groups: If selected, specifies to include entity attribute or view columns when dragging and dropping entities from the model to the schema. Attributes and columns are added to the complexType declaration. The default for this option includes the attributes within the xs:sequence element. In the following example, the Employee entity was dragged onto the complexType element, which created the sequence element containing the entity attributes.
    <xs:element name="Employee nillable="true">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="EmployeeID" type="empid"/>
    <xs:element name="FirstName" type="xs:string"/>
    <xs:element name="LastName" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    • Include PK attributes: If selected, specifies to include the Primary Key (PK) indices as attributes. For example, the following entity declaration incudes EmployeeID, which is the primary key for the Employee entity.

      <xs:element name="Employee nillable="true">
      <xs:complexType>
      <xs:sequence>
      <xs:element name="EmployeeID" type="empid"/>
      <xs:element name="FirstName" type="xs:string"/>
      <xs:element name="LastName" type="xs:string"/>
      </xs:sequence>
      </xs:complexType>
      </xs:element>
    • Include FK attributes: If selected, specifies to include the Foreign Key attributes as an entity is added to the complex type or element node. For example, the following entity declaration incudes the foreign keys for the Employee entity, which are JobID and PublisherId.

      <xs:element name="Employee" nillable="true">
      <xs:complexType>
      <xs:sequence>
      <xs:element name="FirstName" type="xs:string"/>
      <xs:element name="LastName" type="xs:string"/>
      <xs:element name="JobID" type="xs:short"/>
      <xs:element name="PublisherID" type="xs:string"/>
      </xs:sequence>
      </xs:complexType>
      </xs:element>
    • Add element refs to parent entity refs (Include view columns for complex types, elements, and groups): If selected, specifies to create an element reference to show relationships. For example, if this option is selected and a parent entity such as CUSTOMER is implemented as an element under the element node and you drag a child entity ORDER under the complex type node, then an <xs:element ref ="CUSTOMER"/> is created.
      This option automatically populates the cardinality of the element ref. For identifying relationships minOccurs=1 and maxOccurs="unbounded", and for non-identifying relationships minOccurs= 0 and maxOccurs="unbounded".
      • Default to xs:sequence: If selected, specifies to include the model details in the xs:sequence element. The sequence element specifies that child elements must appear in a sequence. Each child element can occur from 0 to any number of times. In the employee entity declaration that follows, the entity attributes are included within the xs:sequence element. The employee attributes appear in the same sequence in which they are defined in the model.

        <xs:element name="Employee" nillable="true">
        <xs:complexType>
        <xs:sequence>
        <xs:element name="FirstName" type="xs:string"/>
        <xs:element name="LastName" type="xs:string"/>
        <xs:element name="JobID" type="xs:short"/>
        <xs:element name="PublisherID" type="xs:string"/>
        </xs:sequence>
        </xs:complexType>
        </xs:element>
      • Default to xs:choice: If selected, specifies to include the model details in the xs:choice element. xs:choice specifies that only one of the elements contained in the <choice> declaration can be present within the containing element. In the employee entity declaration that follows, the entity attributes are included within the xs:choice element.

        <xs:element name="Employee" nillable="true">
        <xs:complexType>
        <xs:choice >
        <xs:element name="FirstName" type="xs:string"/>
        <xs:element name="LastName" type="xs:string"/>
        <xs:element name="JobID" type="xs:short"/>
        <xs:element name="PublisherID" type="xs:string"/>
        </xs:choice >
        </xs:complexType>
        </xs:element>
      • Default to xs:all: If selected, specifies to include the model details in the xs:all element. xs:all specifies that the child elements can appear in any order. In the employee entity declaration that follows, the entity attributes are included within the xs:all element.

        <xs:element name="Employee" nillable="true">
        <xs:complexType>
        <xs:all >
        <xs:element name="FirstName" type="xs:string"/>
        <xs:element name="LastName" type="xs:string"/>
        ***:<xs:element name="JobID" type="xs:short"/>
        <xs:element name="PublisherID" type="xs:string"/>
        </xs:all >
        </xs:complexType>
        </xs:element>

Attribute Options.

  • Include attribute defaults: If selected, specifies to include the attribute defaults as specified in Default tab of the Attribute Editor. For example, in the following attribute declaration, the default value is included.

    <xs:element default="Toronto" name="Address" nillable="true" type="xs:string">
  • Set the minOccurs based on the attribute (or view column) NULL option: If selected, sets the minOccurs value to 0 when the Nulls property of the entity attribute (or view column) is set to NULL.
    For example, in the OrangeMart.dm1 sample model, the Approved_Product entity in the logical model has Therapeutic_equiv_code_ID which allows NULLs. When the XSD for the attribute in this entity is generated with this option enabled, the minOccurs value is automatically set to zero similar to the following:

    <xs:element maxOccurs="unbounded" minOccurs="0" name="Therapeutic_Equiv_Code_Id" nillable="true" type="xs:integer"/>
    When the Nulls property of the entity attribute is set to NOT NULL, minOccurs is set to 1.
  • Include Reference Values as Enumerations: Selecting this option suppresses enumerations that are created from list reference values. This way you can choose if the list reference values bound to attributes and domains should be in the generated XML file or not. When the option is selected, and a domain or attribute with a bound list reference value Is dragged over the schema body, only for simple types the enumerations will be created. In the same situation, if the same kind of object is dragged over the Elements category in the Schema body, only after creating a new local simple type of that element the enumeration of the reference value will be created. However, you can manually drag and drop the reference value over to an simple type if you want the enumeration."

General Options

The General Options control the default mapping for attribute and domain datatypes as they are dropped into the Schema Body window on page 4 of the utility.

Datatype Options.

  • Create local simple types by default: If selected, declares the local simple type under the xs:element where the element is defined. In the example that follows, the simple type, xs:string is declared for the Description element.

    <xs:element name="PurchaseOrder">
    <xs:annotation>
    <xs:documentation>root element description</xs:documentation>
    </xs:annotation>
    <xs:complexType>
    <xs:sequence>
    <xs:element name="OrderDate" type="xs:date" minOccurs="1"/>
    <xs:element name="Description" nillable="true">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:maxLength value="200"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
  • Include Datatype Length: If selected, specifies to include the datatype length of attributes when elements and simple types are created from attributes.
  • Default to global simple types: If selected, converts the datatype from the model to global
  • Default to base datatypes: If selected, converts the datatype from the model to standard xs:datatypes using a datatype mapping dictionary, which is selected on page 5 of the wizard, on the Datatype Conversion tab.
  • <xs:element name="PurchaseOrder">
    <xs:annotation>
    <xs:documentation>root element description</xs:documentation>
    </xs:annotation>
    <xs:complexType>
    <xs:sequence>
    <xs:element name="OrderDate" type="xs:date" minOccurs="1"/>
    <xs:element name="Description" type="xs:string" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="OrderID" type="xs:date"/>
    </xs:complexType>
    </xs:element>

Generation Order. Specifies the order of the list of nodes in the Schema Body in Page. Includes and Import will always be at the top. The order of the other nodes depends on the order option selected.

  • Most to least granular: Lists the nodes in the following sequence: Complex Types, Groups, Elements, and Simple Types.
  • Least to most granular: Lists the nodes in the following sequence: Simple Types, Elements, Groups, and Complex Types.

Datatype Conversion

The datatype dictionary converts datatypes using the dictionary created using the Datatype Mapping Editor. To select a datatype dictionary, type the dictionary name into the text box, or click the arrow to select a previously used dictionary.

Notepad blue icon 2.pngNote: The naming dictionary is used to translate the names in the data model to the schema names. If a dictionary name is not provided, the other options on this dialog are used to transform the names.

Name Conversion

The name conversion options available in this dialog convert the model names to names that conform to XML standards. Although the utility can display all the data model names, some of the model names may not conform to XML standard naming conventions. For example, XML schemas cannot have element names that start with anything except a character, so "123Customer" would be invalid.

Notepad blue icon 2.pngNote: The XML Schema Generation utility will error on the side of producing valid XSD. If there are any invalid characters in the names after the NST options are applied, the utility will automatically remove them.

  • Select Naming Standards Template: To select a Naming Standards Template, type the dictionary name into the text box, or click Select External and browse to the location of the dictionary. The Naming Standards Template is used to translate the names in the data model to the schema names. If a dictionary name is not provided, the other options on this dialog are used to transform the names. If a template name is provided, the other options on this dialog become unavailable. Click Next to select the object to include in the schema. For information on the Naming Standards Template, see Copying and Pasting Data Dictionary Objects.
  • Case Conversion Options: The following describes the case conversion options available and the results achieved by applying them:

Case conversion options

Data model name

Converted name (spaces removed)

Upper Camel

CUSTOMER ADDRESS CODE

CustomerAddressCode

Lower Camel

CUSTOMER ADDRESS CODE

customerAddressCode

Upper

Customer

CUSTOMER

Lower

CUSTOMER

customer

Preserve

CUSTOMER ADDRESS CODE

CUSTOMERADDRESSCODE

Page 4

On this page you create the schema, select the model objects, their grouping in the schema, and the order in which they appear in the schema.

The model objects from the active model populate the Available Objects list. All domains and reference values are included from the data dictionary and are organized by dictionary when multiple dictionaries exist in the data model.

If the schema includes entity definitions and attributes, changes to the property values for a selected object appear in the schema only. Changes made to the property values on this dialog do not affect the properties of the model.

Notepad blue icon 2.pngNote: The settings of the minOccurs and maxOccurs properties of Schema Body elements reflects the Allow Nulls setting on the Datatype tab of the Entity Editor.

To create the schema, reference the following procedures:

The XML schema is generated and saved to the target directory and file name specified on page 1 of the Wizard.

Include External Schemas

The include declaration includes an external schema in the target namespace of the schema containing the include declaration

  1. In the Schema Body section on page 4 of the XML Schema Generation Wizard, right-click Includes and then select New.
  2. Type a name for the include declaration, and click OK.

The new include declaration appears highlighted within the Includes folder of the Schema Body tree and its properties display in the properties pane below.

  1. In the Property Value column of the properties pane, click the name of the include declaration and then type the URI of the schema.
  2. To create more include declarations, repeat steps 1 to 3.

Notepad blue icon 2.pngNote: You can later edit the name of the include declaration or delete it by right-clicking its name under the Includes node and then selecting Edit or Delete.

Import Referenced Namespaces

The import declaration identifies a namespace whose schema components are referenced by the schema containing the import declaration.

Notepad blue icon 2.pngNote: Use the import declaration to declare any namespaces not previously identified in the Schema Attributes on page 2 of the XML Schema Generation Wizard.

  1. In the Schema Body on page 4 of the XML Schema Generation Wizard, right-click Import and then select New.
  2. Type a name for the import declaration and then click OK.
    The new import declaration appears highlighted within the Import folder of the Schema Body tree and its properties display in the properties pane below.
  3. In the Property Value column of the properties pane, click the space next to the schemaLocation property and then type the URI of the schema document containing the imported namespace.
  4. In the Property Value column of the properties pane, click the name of the namespace declaration and then type the URI of the schema containing the namespace to import.
  5. To create more import declarations, repeat steps 1 to 3.

Notepad blue icon 2.pngNote: You can edit the name of the import declaration or delete it by right-clicking its name under the Import node and then selecting Edit or Delete.

Add Domains and Attributes to the Simple Types Section

Domains can be included in the Simple Types or Complex Types sections of the Schema Body.

Notepad blue icon 2.pngNote: Dragging a domain that contains a subdomain into the Simple Types node does not include any of its subdomains in the schema.

From the list of Available Objects, click a simple domain or attribute and then drag it to the Simple Types node in the Schema Body pane.

The Simple Types node expands to show the newly added object.

Notepad blue icon 2.pngNote: If the target domain is for the simple type added, you can select the schema element, scroll through the properties, and change the default type and type prefix by clicking the Property Value list. The available namespaces are dependent on the namespaces declared on page 2 of the wizard.

Add Reference Values to a Domain

Drag and drop the reference value from the list of Available Objects onto the object in the Schema Body.

The reference values for the object appear as a property of the object in the Schema Body.

Notes:

Add Domains, Attributes, and Entity Objects to the Elements Section

From the list of Available Objects, click a domain, attribute or entity object and then drag it to the Elements node in the Schema Body pane.

The Elements node expands to show the newly added objects.

Notes

  • You cannot drag reference values onto domains in the Elements node; instead, use the Simple Types node.
  • You can drag a simple entity or a complex entity, with all their attributes, to the Elements node and then drag other attributes to its choice, sequence, or all attribute container.
  • To convert an attribute of an element to an element, drag the attribute out of the complexType container.
  • To convert an element to an attribute of another element, drag the element into the complexType node.
  • An element defined in the elements node may have a complex type underneath it. You can insert the complex type under the element and insert composites under that.
  • If you drag an attribute to the complex type node under an element, it is included within the xs:attribute container below the composite.
  • If you drag an attribute to a composite node, it is included within the xs:element container below the composite.

Add Domains, Attributes and Entities to the Groups Section

From the list of Available Objects, click a domain, attribute or entity and then drag it to the Groups node in the Schema Body pane.

The Groups node expands to show the newly added object.

Notes:

  • Use the Groups node to define groups that another part of the schema, such as an element can reference.
  • A group may have a composite underneath it just like an element or complex type.

Add Complex Entity Objects to the Complex Types Section

From the list of Available Objects, select a complex object, such as a domain or entity, and then drag it to the Complex Types node in the Schema Body.

The Complex Types node expands to show the newly added object.

Notes

  • If the target domain is for the simple type added, you can select the schema element, scroll through the properties, and change the default type and type prefix by clicking the Property Value list. The available namespaces are dependent on the namespaces declared on page 2 of the wizard.
  • Use the Complex Types node to define standalone complex types for later reuse.
  • Typically, complex types define complex structures that elements in the element node can reference.
  • Complex types promote reuse in an XSD.

Creating xs:attributes from Attributes or Columns

You can add attributes or columns to the xs:attributes declaration using either of the following methods:

  • Drag an attribute/column from the Data Model tree to a Complex type node (not to the Sequence node underneath.)
  • Drag an element from under a sequence node (within a Complex type) to the Complex type node above.

Using either of these methods, you should see the icon next to the attribute/column change to an "a", indicating that it is an xs:attribute.

Change the Property Values of Schema Objects

  1. In the Schema Body, select the object.
  2. In the property pane, change the property values by clicking in the space in the Property Value column next to the property name and then typing the new value.

Change the Object Order in a Schema Body Section

The object order in the schema body determines the order of elements in the generated schema. To convey relationships and improve schema readability, you may want to reorder object after dropping them into schema body nodes.

  • To place an object first in the list of objects in that container, drag the object directly on top of the Schema Body node.
  • To place an object below another object, in the Schema Body node drag the object on top of an object or the composite container below that object.
  • To select a contiguous list of objects and drag them into the same node in the Schema Body, select the first object in the list, then press Shift and click the last object in the list, and finally drag the group of objects to a node in the Schema Body.
  • To drag multiple objects into the same node in the Schema Body, select an object, press and hold CTRL while selecting more objects, and then drag the group of objects to a node in the Schema Body.

Notepad blue icon 2.pngNote: Objects cannot be moved between nodes by dragging. If required, delete the object and then drag it from the list of Available Objects to another node in the Schema Body.

Delete an Element from a Schema Body Section

In the Schema Body, right-click the element name and select Delete Element.

The element and all subelements are deleted from the Schema Body node.

Add a Composite to an Element

Use composites in a schema to group elements together.

The following composite types are supported:

  • xs:sequence
  • xs:choice
  • xs:all

The composite type node appears below the complexType container.

  1. In the Schema Body, right-click the element name and then select New Local complexType.
  2. Right-click the Complex Types node just added, select New and then select the type of composite you want to add.

You can now drag other objects to the composite node.

Notepad blue icon 2.pngNote: To create a composite type node within an existing composite node, right-click the composite node, select New and then select the type of composite you want to add.

Add a Group Reference to an Element

You can add a reference to group to an empty composite node.

  1. In the Schema Body, right-click the element name and then select New Local complexType.
  2. Right-click the Complex Type node just added and then select New Group.
  3. In the property box, click the space in the Property Value column that is next to the Property Name ref and then type the name of the group or click the arrow and select the name of the group to reference.

Change the Type of an Existing Composite Type

Once you have added a composite type to the Schema Body node, if desired you can change its type.

Composite node names can be.

  • xs:sequence
  • xs:choice
  • xs:all

Right-click the composite node, select Convert to and then select the new composite type.

Preview the Schema

  1. To preview the schema, click Preview.

A preview of the generated schema appears.

  1. When you are finished with the preview, click Close to return to the previous dialog where you can continue to change the format and contents of the schema.
  2. If necessary, click Back to return to a previous dialog and change the options.

Export UML Types

The following table illustrates the various database types and the UML types to which they map:

Database Type

UML Type

BIGINT

long

BINARY

byte

BIT

bool

CHAR

string

COUNTER

int

DATE

string

DATETIME

string

DATETIMN

string

DECIMAL

float

DECIMALN

float

DOUBLE PRECISION

double

FLOAT

float

FLOATN

float

IMAGE/LONG BINARY

byte

INTEGER

int

INTN

int

LONG VARCHAR

string

MLSLABEL/VARCHAR

string

MONEY

float

MONEYN

float

NCHAR

string

NTEXT/LONG NVARCHAR

string

NUMERIC

float

NUMERICN

float

NVARCHAR

string

PICTURE

byte

REAL/SMALLFLOAT

float

ROWID/VARCHAR

string

SERIAL/INTEGER

int

SMALLDATETIME

string

SMALLINT

short

SMALLMONEY

Float

TEXT

string

TIME/DATETIME

string

TIMESTAMP/DATE

string

TINYINT

short

UNIQUEID

int

VARBINARY/BLOB

byte

VARCHAR

string

VARIANT

char

See Also