Tamino Schema Editor Version 9.7
 —  Tamino Schema Editor  —

Properties Explained

This document describes the properties that can be defined in a Tamino schema. It covers the following topics:

Note:
When not indicated otherwise, the properties are available in all views.


Schema Properties

A schema has only logical properties.

Logical constructs are described in detail in the XML Schema Part 0: Primer on the W3C site http://www.w3.org/TR/xmlschema-0/.

Schema Editor Property Schema Language Syntax Short Description
Schema name <tsd:schemaInfo name = "name">

Name of the schema.

Collection name <tsd:collection name = "name">

Name of the Tamino collection to which the schema is to belong. If the collection does not exist, it is created.

Namespaces <xs:schema xmlns:prefix1 = "namespace1" xmlns:prefix2 = "namespace2" targetNamespace = "namespace2">

The Tamino Schema Editor provides a property editor that allows you to specify namespace declarations, including the target namespace declaration. See Namespaces.

The Tamino Schema Editor moves all namespace declarations to the schema node and manages them there.

For namespaces, see W3C's Namespaces in XML recommendation at http://www.w3.org/TR/REC-xml-names/.

For target namespace, see XML Schema Part 0: Primer, section 3.1.

Target namespace   Displays the target namespace (read only). This can be changed between the defined namespaces.
Attribute form default <xs:schema attributeFormDefault = "unqualified|qualified"...>

Specifies whether attributes in instances of the schema must be qualified with a namespace prefix. Default is "unqualified".

See XML Schema Part 0: Primer, section 3.1.

Element form default <xs:schema elementFormDefault = "unqualified|qualified"...>

Specifies whether elements in instances of the schema must be qualified with a namespace prefix. Default is "unqualified".

See XML Schema Part 0: Primer, section 3.1.

Final default attribute <xs:schema finalDefault="#all | List of (extension | restriction)">

Determines the default behavior in the case of derivation.

See XML Schema Part 0: Primer, section 4.8.

XML Schema version <xs:schema version = "version">

Version of the schema.

Language identification <xs:schema xml:lang = "en">

Language identification.

See W3C's XML recommendation at http://www.w3.org/TR/REC-xml/#sec-lang-tag.

ID id="id"

Unique identifier for the schema element within the schema XML document.

See W3C's XML recommendation at http://www.w3.org/TR/REC-xml/#id.

Tamino schema information  

Open the group tree to display the following properties.

  Version <tsd:version>version</tsd:version>

Version of the schema. Value provided by the Tamino Server (read-only).

  Created <tsd:created>created</tsd:created>

Creation date of the schema. Value provided by the Tamino Server (read-only).

  Modified <tsd:modified>modified</tsd:modified>

Date the schema was last saved. Value provided by the Tamino Server (read-only).

  Server <tsd:server>server</tsd:server>

Version of the Tamino Server. Value provided by the Tamino Server (read-only).

The following example shows the generated code for a schema named "patientschema" in the Tamino collection "hospital". Element and attribute form are unqualified.

<?xml version = "1.0" encoding = "UTF-8"?>
<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema"
           xmlns:tsd = "http://namespaces.softwareag.com/tamino/TaminoSchemaDefinition">
  <xs:annotation>
    <xs:documentation>Schema modelling a hospital patient's record.</xs:documentation>
    <xs:appinfo>
      <tsd:schemaInfo name = "patientschema">
        <tsd:collection name = "hospital">
....
....

Top of page

Tamino Doctype Properties

A doctype has logical and physical properties.

Logical Properties

Schema Editor Property Schema Language Syntax Short Description
Doctype name <tsd:doctype name = "name">

Name of the Tamino doctype. This name must be the same as the name of the root element declaration.

Namespaces <xs:doctype xmlns:prefix1 = "namespace1" xmlns:prefix2 = "namespace2">

This namespace declaration serves as hint for namespace cleaning and Tamino X-Query processing. Tamino X-Query processing requires namespace URIs. Since the X-Query language allows only prefixes to be used, the mapping between the prefix and the URI for a doctype is done by these namespace declarations.

For namespaces, see W3C's Namespaces in XML recommendation at http://www.w3.org/TR/REC-xml-names/.

For query processing, see Namespace Handling for Specific XMachine Requests in the XML Namespaces in Tamino section of the Tamino XML Server documentation.

Physical Properties

The physical properties for a Tamino doctype depend on the storage type that has been specified for the doctype.

The following table lists all properties in alphabetical order that are available for the different storage types (XML, Non-XML and shadow XML).

Schema Editor Property Schema Language Syntax Storage Type Short Description
Compress <tsd:compress>always
</tsd:compress>
XML

Specifies data compression on data storage.

  • smart
    Default. Tamino checks the data to be stored and finds the best compromise between speed and storage space.

  • always
    Always compress as much as possible. This setting makes sense if the primary issue is storage size. Especially for small documents, this will increase retrieval time, but will use as little space on disk as possible.

  • none
    Do not compress small data records. This setting makes sense if you expect most of your documents to be reasonably small (smaller than 8000 characters), and you want to optimize processing speed, sacrificing storage space. Large documents are not effected by this setting.

  • off
    Do no compression at all.

  • utf8
    Each character is replaced by its UTF-8 representation. This can result in a compression factor of up to 4, depending on platform and data.

Computed Indexes <tsd:computedIndex></tsd:computedIndex> XML and Shadow XML

Specifies the use of one or more computed indexes, and allows you to define the XQuery function to be used for each computed index.

You can select the property editor for this field by choosing the Button button.

In the property editor, supply values for the required collation properties.

Also in the property editor, in the Name column, select the line containing "New_Computed_Index", and choose the button Button in the corresponding Computed Index Function column. The resulting dialog allows you to select a stored XQuery function from an XQuery module in the Tamino database.

If you wish to define more than one computed index, use the Toolbar button icon to create a new entry in the list of computed indexes.

The computed indexes are displayed in the list of physical properties in the form [comp1, comp2, ...], where comp1, comp2 etc. are the names of the computed indexes.

Content <tsd:content>closed
</tsd:content>
XML

Default is "closed", meaning instances containing instances not defined in the schema are rejected.

The value "open" means instances are stored even if they contain structures not defined in the schema. You should coordinate this value with Structure index.

Delete access <tsd:delete> </tsd:delete> All storage types

Default is "true", meaning instances may be deleted from the Tamino XML data store.

ino:id re-usage <tsd:systemGeneratedIdentity reuse = "booleanValue"> </tsd:systemGeneratedIdentity> XML

Specifies whether an ino:id is to be reused if an instance is removed from the data store or not. Default is "true".

See the description of the element tsd:systemGeneratedIdentity in the Tamino XML Schema Reference Guide (located in the Tamino XML Server documentation).

Insert access <tsd:insert> </tsd:insert> All storage types

Default is "true", meaning instances may be inserted into the Tamino XML data store.

No conversion <tsd:nonXML> <tsd:noConversion></tsd:noConversion> </tsd:nonXML> Non-XML

Possible values are "true" and "false". Default is "true", meaning that the doctype node is of type non-XML.

Text indexing is not possible for data stored into doctypes with the noConversion flag set.

Pure X-Node mapping <tsd:map><tsd:pure>
</tsd:pure></tsd:map>
XML

The default is "false", meaning that this property is not active.

This property is only applicable to Tamino schemas that have no other function than expressing a mapping to one Adabas file.

If this property is set to "true", Tamino stores all data except the schema in the Adabas file.

If elements of your schema are mapped to Adabas PE groups or MU fields, it is recommended that you set the property Minimum occurrence to "0" and the property Maximum occurrence to "unbounded". Otherwise, schema validation conflicts may occur during update processing.

Read access <tsd:read> </tsd:read> All storage types

Default is "true", meaning instances may be read from the Tamino XML data store.

Structure index <tsd:structureIndex>value
</tsd:structureIndex>
XML

Specifies that all nodes not declared by the schema will be registered in the repository. Possible values:

  • condensed
    Default. The repository registers the existence of an undeclared node for the doctype.

  • full
    The repository registers the existence of undeclared nodes, as well as the instances in which they occur.

  • none
    No structural indexing is performed.

For details on structure indexing, see Indexing in the Advanced Concepts section of the Tamino XML Server documentation.

Update access <tsd:update> </tsd:update> All storage types

Default is "true", meaning existing instances may be updated in the Tamino XML data store.

The Tamino doctype properties in the examples below define a Tamino doctype "patient".

In the first example, the content of the doctype is defined as "closed", meaning only those instances will be stored which contain structures defined in the schema. Instances may be read, but not inserted, updated or deleted from the Tamino store:

....
<tsd:doctype name = "patient">
  <tsd:logical>
    <tsd:accessOptions>
      <tsd:read></tsd:read>
    </tsd:accessOptions>
  </tsd:logical>
</tsd:doctype>
....

In the second example, all instances will be stored, even if they contain structures not defined in the schema. Instances may be read, inserted, updated or deleted from the Tamino store:

....
<tsd:doctype name = "patient">
  <tsd:logical>
    <tsd:content>open</tsd:content>
    <tsd:accessOptions>
      <tsd:read></tsd:read>
      <tsd:insert></tsd:insert>
      <tsd:delete></tsd:delete>
      <tsd:update></tsd:update>
    </tsd:accessOptions>
  </tsd:logical>
</tsd:doctype>
....

Top of page

Logical Properties for XML Elements

The Tamino Schema Editor always shows the logical properties that are relevant to the element that is currently selected in the schema tree.

The following table lists all logical properties in alphabetical order. Not all properties may be available for the currently selected element.

For detailed information and examples, see the following W3C recommendation:

Schema Property Short Description
Abstract

For elements and types. When an element or type is declared to be abstract, it cannot be used in an instance document. See XML Schema Part 0: Primer, section 4.7.

Block

For complex types and elements. Controls which derivations and substitution groups may be used in instance documents. See XML Schema Part 0: Primer, section 4.8.

Collation

To enter a collation, change the value of the logical property Collation from "no" to "yes". The other properties of the collation are now editable.

If the value of Collation is "yes", a default collation or a collation with the specified property values is generated.

If the value of Collation is "no", no collation is generated.

For information on the ICU Collation Service, see http://www.icu-project.org/.

Open the group tree to display the following properties.

  Collation language

Only available if Collation is set to "yes".

Specifies locale by ISO-3166 language code and country for collating purposes. For example, "DE" for German or "DE-AT" for Austrian German. There is no default, meaning collating keys are language neutral. This should provide good results for most languages.

  Collation strength

Only available if Collation is set to "yes".

Specifies the level of comparison. Possible values:

primary Level 1: base character comparison, e.g. "a" < "b".
secondary Level 2: accents on characters are compared, e.g. "as" < "Ãs" < "at".
tertiary Level 3 (default): uppercase and lowercase characters are compared, e.g. "ao" < "Ao" < "aò". This is ignored if a difference is found on level 1 or level 2.
quaternary Level 4: distinguish word with and without punctuation, e.g. "ab" < "a-b" < "aB". This is ignored if a difference is found on levels 1 through 3. Should only be used, if a distinction based on punctuation is required.
identical Level 5: Used if levels 1 through 4 yield identical results. The Unicode point values are compared. Note that this level of comparison can impact performance negatively.
  Collation case first

Only available if Collation is set to "yes".

With "upperfirst" (default), words starting with uppercase will be sorted before words starting with lowercase. A value of "lowerFirst" will reverse this behavior.

  Collation alternate

Only available if Collation is set to "yes".

The value "shifted" sorts words containing punctuation marks together (e.g. "bi-weekly" and "biweekly"), that is, punctuation is ignored for levels 1 through 3.

The value "non-ignorable" (default) will distinguish these words and sort them separately, that is, punctuation marks will be accounted for.

  Collation case level

Only available if Collation is set to "yes".

The value "true" makes a separate collation level for case differences, positioned between level 2 (secondary) and level 3 (tertiary). This is used primarily in Japanese to make the difference between small and large Kana more important than the other tertiary differences. The default is "false".

  Collation french

Only available if Collation is set to "yes".

The value "true" will produce French accent sorting. The default is "false", but the function is switched on if Collation language is "FR".

  Collation normalization

Only available if Collation is set to "yes".

The value "true" produces results as if text were normalized. The default is "false" (no normalization) for most languages.

context

For element info and attribute info. Specifies the element or attribute for which the physical properties are defined. The element or attribute is addressed by a path. For information on the path syntax, see Advanced Physical Properties.

Data type

The base type of the declared type, element or attribute. See Schema Tree Items Explained.

Default value

For attribute declarations, specifies the value used if the attribute is absent from an instance (the use property must then be "optional").

For element declarations, specifies the element content if the element occurs in the instance but is empty. Element instance content overrides the default value.

The properties Default value and Fixed value are mutually exclusive. See XML Schema Part 0: Primer, section 2.2.1.

Default function

For elements and attributes. The name of the server extension function that calculates the default value. The required server extension can be selected from a dialog box. See Server Extensions for further information.

Derivation method

For complex types and elements. Selects the derivation method to be used. See Schema Tree Items Explained.

Documentation text

The text of the documentation node. The Tamino Schema Editor provides a property editor for entering the text. See Documenting a Schema.

Facets

Open the group tree to display the following properties. When the Fixed check box is marked for one of the facets, the value for this facet cannot be derived any further.

  Length

Specifies the string length. See XML Schema Part 2: Datatypes, section 4.3.1.

  Minimum length

Specifies the minimal string length. See XML Schema Part 2: Datatypes, section 4.3.2.

  Maximum length

Specifies the maximal string length. See XML Schema Part 2: Datatypes, section 4.3.3.

  Total digits

Specifies the maximum number of digits allowed in an element marked as datatype "decimal". See also the property Fraction digits below. See XML Schema Part 2: Datatypes, section 4.3.11.

  Fraction digits

Specifies the maximum number of digits in the fractional part of elements marked as datatype "decimal". If Total digits is set to "8" and Fraction digits is set to "2", the element can contain numerical values with 6 digits before and 2 digits after the decimal. See XML Schema Part 2: Datatypes, section 4.3.12.

  Min inclusive

Constrains the value space to values with a specific inclusive lower bound. See XML Schema Part 2: Datatypes, section 4.3.10.

  Max inclusive

Constrains the value space to values with a specific inclusive upper bound. See XML Schema Part 2: Datatypes, section 4.3.7.

  Min exclusive

Constrains the value space to values with a specific exclusive lower bound. See XML Schema Part 2: Datatypes, section 4.3.9.

  Max exclusive

Constrains the value space to values with a specific exclusive upper bound. See XML Schema Part 2: Datatypes, section 4.3.8.

  Regular expression pattern

Contains a regular expression that constrains the value. See XML Schema Part 2: Datatypes, section 4.3.4.

  Enumeration

Specifies a particular value that the element may contain. Multiple enumeration elements thus specify/restrict the possible values of an element. The Tamino Schema Editor provides a property editor that allows you to specify new values and/or delete existing ones. See Using the Property Editor.

See XML Schema Part 2: Datatypes, section 4.3.5.

 

Whitespace

Specifies how whitespace is to be treated. See XML Schema Part 2: Datatypes, section 4.3.6.

Field xpaths

For identity constraints.

Tsd unique: specifies the xpath from the doctype root element to the field or fields that are to be identical. For more information on defining unique keys, see Physical Schema for Elements and Attributes in the Tamino XML Schema User Guide (located in the Tamino XML Server documentation).

Unique: specifies the xpath from the element to the field or fields that are to be identical. See XML Schema Part 0: Primer, section 5.1.

Final

For types and elements. Controls whether further derivation is permitted. See XML Schema Part 0: Primer, section 4.8.

Fixed value

For attributes and elements.

  • Attributes
    Specifies the value that the attribute must have. If the attribute does not appear in an instance, Tamino will insert it with the value given by the Fixed value attribute. If the attribute is present in the instance, its value must match the value of the Fixed value attribute in the schema.

  • Elements
    Specifies the value that the element must have, if present. If the element is present in the instance, it must either have the same value as the value given by the Fixed value attribute, or it must be empty. In the latter case, Tamino will insert the value given by the Fixed value attribute. If the element is not present at all, no value will be inserted.

The properties Fixed value and Default value are mutually exclusive. See XML Schema Part 0: Primer, section 2.2.1.

foreign appinfo

Contains all application information that is not from Tamino. This information may be edited as mixed content text.

Form

Specifies for the element or attribute declaration whether instance element names must be qualified with the namespace prefix. See XML Schema Part 0: Primer, section 3.1.

ID

Unique identifier for the schema element within the schema XML document. See W3C's XML recommendation at http://www.w3.org/TR/REC-xml/#id.

Item type

For simple types, elements and attributes. Defines the item type of a list. See Schema Tree Items Explained.

Language identification

Language identification. See W3C's XML recommendation at http://www.w3.org/TR/REC-xml/#sec-lang-tag.

Maximum occurrence

Indicates the maximum number of occurrences of the node allowed in an instance. For possible values, see XML Schema Part 0: Primer, section 2.2.1. See also Specifying the Occurrence Constraints.

Member types

For simple types, elements and attributes. Defines types that are part of a union. See Schema Tree Items Explained.

Minimum occurrence

Indicates the minimum number of occurrences of the node allowed in an instance. For possible values, see XML Schema Part 0: Primer, section 2.2.1. See also Specifying the Occurrence Constraints.

Mixed content

For complex elements only: mixed content is allowed. See XML Schema Part 0: Primer, section 2.5.2.

Name

Name of the declared node.

Namespace

For any and anyAttribute declarations. Specifies the namespace for this declaration. For details on possible values, see XML Schema Part 1: Structures, section 3.10.2 (XML representation for a wildcard schema component).

Nillable

For types and elements. Defines whether an empty (instance) element may be flagged by the nil attribute or not. See XML Schema Part 1: Structures, section 3.3.1.

processContents

For any and anyAttribute declarations. Specifies how the contents should be processed. For details on possible values see XML Schema Part 1: Structures, section 3.10.2 (XML representation for a wildcard schema component).

Public notation identifier

The public identifier of the notation declaration, a URI reference. See XML Schema Part 1: Structures, section 3.12.

Reference

For element, attribute, group, attribute group references. Contains the name of the referenced item.

Refer

For key references. References a key by its name. See XML Schema Part 0: Primer, section 5.2.

Schema location

For import, include and redefine declarations. The location of the referenced schema. It can either be stored in a Tamino database or in the file system. You can open the referenced schema in a new instance of the Tamino Schema Editor. See also:

Opening a Referenced Schema in a New Window
Loading and Unloading the Elements from an External Schema

selector-xpath

For identity constraints. Selects the identical elements relative to the constraint definition by xpath. See XML Schema Part 0: Primer, section 5.1.

source

For documentation and appinfo. Describes the source of its content as an URI. See XML Schema Part 1: Structures, section 3.13.2.

Substitution group

For elements. Defines which elements can be substituted for other elements. See XML Schema Part 0: Primer, section 4.6.

System

The system identifier of the notation declaration. See XML Schema Part 1: Structures, section 3.12.

Trigger

An action trigger is a server extension that executes an action when an event in the Tamino Server occurs. This action is executed in addition to the normal processing on the server. See X-Tension: Tamino Server Extensions in the Tamino XML Server documentation for further information.

There are three types of triggers available (On Delete, On Insert, and On Update). There can be multiple triggers of same trigger type.

The required server extension can be selected from a dialog box. See Server Extensions for further information.

The values for the additional parameters of the selected trigger function can be specified the triggers dialog.

Use

For attribute declarations. Specifies whether the attribute is required, optional or prohibited. See XML Schema Part 0: Primer, section 2.2.1. See also Declaring an Element as Optional, Required or Prohibited.

Variety

For simple types and elements. Selects the variety to be used. See Schema Tree Items Explained.

Top of page

Physical Properties for the Different Storage Types

Different storage types are available:

Note:
A doctype uses other storage types. See Tamino Doctype Properties.

Properties for Native Storage

Elements and attributes of XML documents can be stored in Tamino's native XML store by specifying "Native" as the storage type.

See also Tamino-specific Extensions to Physical Schema in the Tamino XML Schema User Guide (located in the Tamino XML Server documentation).

Note:
The properties for the references are described below under Object References.

Node Indexing

The properties for the indices and for referencing are available from two different tabs: Index and Reference.

Index

Note:
The properties for the references are described below under Object References.

Different types of indices can be defined: standard, text and reference index definitions. Different index technologies can be used: simple index, reference index, multi-path index and compound index. The index technology is defined by selecting a specific type of index and then specifying the required properties: Refers, Multipath and/or Field xpaths. Each node can have several standard and text indices. However, it can have only one reference index.

For more details, refer to Indexing XML Data for Native Storage in the Tamino XML Schema User Guide (located in the Tamino XML Server documentation.

The following buttons are provided:

New

Add a new index.

Delete

Delete the selected index.

For each index, select one of the following values:

Type of Index Short Description

text

A full-text search index is generated for the node contents. Recommended for text nodes. The following properties are available:
refers Reference definition for sub-tree indexing. Contains an absolute path to a parent node where a reference index is defined. This type of index enables you to find the parent by using the value for the indexed node. Example: /B[/C = "value"] where C is the current node.
multiPath Label of a multi-path index. All nodes that have the same multiPath label are indexed to one index. Use case: recursive structures and queries with wildcard expressions.
standard
A standard index is generated for the node contents. This makes some retrieval operations faster (for example, those that use numerical comparisons). Recommended for nodes with numeric values. The following properties are available:
refers See the above description for a text index.
multiPath See the above description for a text index.
field-xpaths Defines a compound index and contains two or more relative XPath expressions to child nodes. If the node itself is to be addressed, "." is to be used.
reference
Reference index definition for the construction of reference chains. The following property is available:
refers Contains an absolute path to a parent node where another reference index is defined. If the field is empty, the document root is referenced. This type of index enables you to find the node by using the values for one or more referencing child nodes. These child nodes have to reference the node using reference definitions (see above). If a parent is referenced, the parent must also have a reference index definition. Example: /A/B[/C = "value"] where A is the referenced parent, B is the current node and C is the referencing child.

Object References

Elements mapped to object references are used to join information retrieved from different Tamino doctypes. Object references can also be stored in Tamino's native XML store by specifying "Native" as the storage type.

Schema Editor Property Short Description
Collection reference

Name of the Tamino collection containing the doctype to be referenced. The default is the current collection.

Dereference

Specifies whether the contents of the referenced node must always be included in the current node ("true") or not ("false"). The default is "false".

This option is not available on attributes, since they have no element content.

Node reference

Path to the node that is referenced.

Node reference operator

Specifies the operator used when referencing another object. Possible operators are:

=,
!=
<
>
<=
>=
~=

Example

The following illustrates the native storage of a node "firstname" with a full-text index:

<xs:element name = "firstname" type = "xs:string">
  <xs:annotation>
    <xs:appinfo>
      <tsd:elementInfo>
        <tsd:physical>
          <tsd:native>
            <tsd:index>
              <tsd:text></tsd:text>
            </tsd:index>
          </tsd:native>
        </tsd:physical>
      </tsd:elementInfo>
    </xs:appinfo>
  </xs:annotation>
</xs:element>

Properties for Adabas Mapping

Elements and attributes of XML documents can be mapped to an Adabas file in the following way:

Schema Construct Possible Storage Type Meaning
Complex element declaration Map SubTreeAdabas or Map SubTreeAdabasPE Adabas file (subtree) or Adabas periodic group.
Simple element declaration Map NodeAdabasField Adabas elementary or multiple value field.
Element with attributes declaration Map NodeAdabasField Adabas elementary or multiple value field.
Attribute declaration Map NodeAdabasField Adabas elementary or multiple value field.

Adabas Subtree (Map SubTreeAdabas)

Schema Editor Property Short Description
dbid The database ID of an external Adabas database
fnr The file number of an external Adabas database.
encoding The encoding for the node and its children. Default is ISO-8859-1.
password The user password for the Adabas file to be accessed.

Important:
When you get a schema for which a password has been defined from the database, a single asterisk (*) is shown. This asterisk does not represent the password that has previously been defined. You have to specify the correct password for each subsequent update.

ignoreUpdate Value "true" means the contents of the node cannot be updated by loading instances using Tamino. Default is "false".

Adabas Periodic Group (Map SubTreeAdabasPE)

Schema Editor Property Short Description
Short name Adabas group short name.
Ignore update Value "true" means the contents of the node cannot be updated by loading instances using Tamino. Default is "false".

Adabas Field (Map NodeAdabasField)

Schema Editor Property Short Description
Short name Adabas field short name.
Format The format of the field.
Length The length of the field.
Encoding The encoding for the node and its children. Default is ISO-8859-1. The encoding is available when format is "A".
Multiple Value "true" means the node is mapped to an Adabas multiple value field.
Ignore update Value "true" means the contents of the node cannot be updated by loading instances using Tamino. Default is "false".

The following illustrates the mapping of a node middlename to an Adabas multiple value field (MU):

....
<xs:element name = "middlename" type = "xs:string" minOccurs = "0" maxOccurs = "unbounded">
  <xs:annotation>
    <xs:appinfo>
      <tsd:elementInfo>
        <tsd:physical>
          <tsd:map>
            <tsd:nodeAdabasField shortname = "mn" format = "A">
              <tsd:multiple></tsd:multiple>
            </tsd:nodeAdabasField>
            <tsd:ignoreUpdate></tsd:ignoreUpdate>
          </tsd:map>
        </tsd:physical>
      </tsd:elementInfo>
    </xs:appinfo>
  </xs:annotation>
</xs:element>
....

Properties for SQL Mapping

Elements and attributes of XML documents can be mapped to an SQL table in the following way:

Schema Construct Possible Storage Type Meaning
Complex element declaration Map SubTreeSQL SQL table.
Simple element declaration Map NodeSQL Column in SQL table.
Element with attributes declaration Map NodeSQL Column in SQL table.
Attribute declaration Map NodeSQL Column in SQL table.

Table (Map SubTreeSQL)

Schema Editor Property Short Description
SQL schema name Name of an external SQL schema.
SQL table name Name of SQL table.
User name User name for SQL access.
password Password for SQL access.
ODBC data source Name of the ODBC data source.
Primary key Primary key for an SQL table.
Access predicate Specifies parameters to be used to build a where clause in retrieval expressions.
Ignore update Value "true" means the contents of the node cannot be updated by loading instances using Tamino. Default is "false".

Column (Map NodeSQL)

Schema Editor Property Short Description
column Name of SQL column.
ignoreUpdate Value "true" means the contents of the node cannot be updated by loading instances using Tamino. Default is "false".

Note that for nodes mapped to SQL columns, the logical properties are used to express SQL data types and related properties. These definitions must reflect the specifications of the SQL schema. For more details, refer to Mapping to SQL Tables and Columns in the Tamino XML Schema User Guide (located in the Tamino XML Server documentation).

The following illustrates the schema definition of a node "born" to an SQL column. Instances are expected to hold a date of birth. Note the use of the type attribute on the element declaration to transport the data type information to the SQL column.

....
<xs:element name = "born" type = "xs:date" minOccurs = "0" form = "unqualified">
  <xs:annotation>
    <xs:appinfo>
      <tsd:elementInfo>
        <tsd:physical>
          <tsd:map>
            <tsd:nodeSQL column = "Date"></tsd:nodeSQL>
          </tsd:map>
        </tsd:physical>
      </tsd:elementInfo>
    </xs:appinfo>
  </xs:annotation>
</xs:element>
....

Properties for SXS Mapping

Elements and attributes of XML documents can be mapped to server extensions by specifying Map XTension as the storage type.

Schema Editor Property Short Description
On Delete The name of the server extension function that is to be executed when the node is processed on delete.
On Compose The name of the server extension function that is to be executed when the node is processed on retrieval.
On Process The name of the server extension function that is to be executed when the node is processed on storage.
On Update

The name of the server extension function that is to be executed when the node is processed on update.

Ignore Update Value "true" means the node cannot be updated by loading instances using Tamino. Default is "false".

The required server extension can be selected from a dialog box. See Server Extensions for further information.

The following illustrates the declaration for an element discharged that contains information about a hospital patient. When an instance of this element is deleted from the database, an SXS function called SXSnotify is triggered. An example of the function could be a message sent to the hospital administration that triggers the building of an invoice and marking the patient’s bed as vacant.

<xs:element name = "discharged" maxOccurs = "unbounded">
  <xs:annotation>
    <xs:appinfo>
      <tsd:elementInfo>
        <tsd:physical>
          <tsd:map>
            <tsd:xTension>
              <tsd:onDelete>SXSnotify</tsd:onDelete>
            </tsd:xTension>
          </tsd:map>
        </tsd:physical>
      </tsd:elementInfo>
    </xs:appinfo>
  </xs:annotation>
....
....
</xs:element>
....
....

Top of page

Advanced Physical Properties

For some element types, an Advanced button is provided. When you choose this button, additional information is shown. You can then define the physical properties of a node that can be accessed via multiple paths.

The following buttons are provided for defining the paths:

New

Add a new path.

Delete

Delete the selected path.

You can define paths to the node, and for each set of paths, the storage type and index. If multiple paths are specified in one input field, the paths have to be separated by a semicolon.

You must specify absolute XPath expressions, starting with the doctype. The syntax for the path is as follows:

/doctype-name/element-name/../{current-element-name | @current-attribute-name}

Example:

/patient/name/surname

The path must be valid, i.e. it must point to an existing element.

For all paths not specified here, you can define a default storage type and index. You can use the default for elements without recursion. If recursion is used, the default only applies for the first recursion level.

The Tamino schema construct generated is a tsd:which element.

Example

Different paths to the "surname" node could be /patient/name/surname and /patient/doctor/name/surname. The patient name could be stored natively with index "text", the doctor's surname could be stored in an SQL table column called "Surname".

Since different storage types are involved, you must specify the paths in different input fields.

The element declaration in the schema would look like the following:

<tsd:physical>
  <tsd:which>/patient/name/surname</tsd:which>
    <tsd:native>
      <tsd:index>
        <tsd:text></tsd:text>
      </tsd:index>
    </tsd:native>
</tsd:physical>
<tsd:physical>
  <tsd:which>/patient/doctor/name/surname</tsd:which>
    <tsd:map>
      <tsd:nodeSQL column = "Surname"></tsd:nodeSQL>
    </tsd:map>
</tsd:physical>

Top of page