Document Types

Document Types are a useful tool for managing documents. It allows customizing the content and behavior of documents, managing file security and file attributes. A document type can be applied to any document in the document repository. The fields of information in the document type become then associated with the document. A document can be assigned exactly one Document Type at a time.

Document Type Definition

A Document Type used in Stardust is defined by the following two parameters:

The tuple is necessary to uniquely identify a Type Declaration in a particular schema location.

Type Declaration

A Type Declaration is a declaration of an XML type defined by means of an XML Schema Definition (XSD). One XSD may contain more than one Type Declaration.

Document Type ID

The Document Type ID identifies a particular Type Declaration in the Document Repository regardless of its version. It is a qualified name as defined in the XML specification where:

For example: {<Type Declaration Namespace>}<Type Declaration ID>.

Document Type Schema Location

A Document Type Schema Location identifies exactly one XSD in the Document Repository. When looking at the structure of schema locations, we have to distinguish between the following two different types:

The schema locations for these two types assemble as follows:

Document Types Reflected in the Modeler

Document Types do not exist as first class elements in the modeler. The Document Type of a document is determined by associating a Structured Data Type with a document. Thus for the time being, to use a Structured Data Type as Document Type, you need to create a Structured Data Type as well as a data object for the Structured Data Type.

A specific Document Type can be assigned to each document upon addition to the document repository, thereby associating the document with a pre-defined meta-data structure.

Type definitions stored in the document repository contain version information to be able to distinguish it from an altered type definition of the same Structured Data Type that will potentially be stored in the document repository later. Hence, deleting and modifying Structured Data Types in the model do not affect the Document Type of any document stored in the document repository, unless the model will be deployed using overwrite semantics.

Managing Document Types via API

Managing Document Types is provided via Stardust API, e.g. for the following use cases:

Refer to chapter Managing Document Types in the Programming Guide for a detailed description on these use cases.

Storage of Document Types in the Document Repository

Document Types are stored in the document repository in the following way:

Content Description Location
Root node for all Document Type data /ipp-repository/partitions/<partition ID>/documentTypes/
XSD file for a particular Document Type Schema Location /ipp-repository/partitions/<partition ID>/documentTypes/schemas/<URLEncode(Document Type Schema Location)>/<XSD file>
Node hosts version specific settings for a particular Document Type with the specified Document Type Schema Location /ipp-repository/partitions/<partition ID>/documentTypes/schemas/<URLEncode(Document Type Schema Location)>/types/<Document Type ID>/
Node hosts version unspecific settings for all Document Types of a particular Document Type ID /ipp-repository/partitions/<partition ID>/documentTypes/types/<Document Type ID>/