Core.Documents

From emotive
Revision as of 03:18, 17 February 2016 by Hb (talk | contribs) (→‎See also)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Classification

Name Documents
Short Description XML file which contain all OTX elements
Class OTX Core
Pre-Conditions -
Specified by ISO 13209-2

Introduction

OTX documents can be stored in a file system or in a database. If stored in a file system, certain constraints on the organisation of files and folders allow a simple implementation to find OTX documents easily. The package name (in dotted notation) can simply be translated into a directory path or vice versa, whereas the OTX document name can be translated directly to the file name. It is an analogy to the file system organisation of packages and classes recommended the Java Language Specification.


Java C# OTX File System
Package Namespace Package Folder
Document Document Document File
Class Class document name File content
Analogies between Java, C # and OTX


Exclamation.png Important: OTX documents are unambiguously identified with the combination of package name and their own name. This allows for having equal document names in different OTX packages and avoiding ambiguity.
Exclamation.png Important: Global entities (global constants, procedures, validities, etc.) contained in the OTX document are unambiguously identified with the combination of package- and document-name, and their name. This allows for having equal global names in different OTX files and avoiding ambiguity.
Exclamation.png Important: Due to the fact that the package name of an document shall not be empty, a so called Root-Package (root folder) shall be exist.


OtxDocumentStorageStructure.png
Package/Document Structure of OTX stored in a file system (package name: Bold, document name: Italic)

Semantics

An OTX document is a XML file contains all OTX elements. It contains header information like the document name, meta-data or imports and other global scope information like global declarations and validities followed by a list of signatures and a list of OTX procedures:

  • Id (required)
This represents the Otx element's id (Otx element is the root element of the OTX document). It shall be unique among all other ids in a document.
  • Name
This attribute shall contain the name of the OTX document and it must match the OTX document file name. Among all the OTX documents defined within the same package, the document name must be unique to avoid ambiguities.
  • Package (required)
This attribute shall represent the package which the OTX document belongs to.
  • Version (required)
This attribute shall contain the version of the OTX document (for supporting versioning systems).
  • Timestamp (required)
This attribute shall contain the document creation timestamp.
  • MetaData
This optional element shall contain meta information concerning the OTX document as a whole.
  • Specification
The static string content of this optional element shall be used to describe the purpose of the OTX document in simple prose.
  • AdminData
This optional element shall be used for linking to document history information. The linked information should be located in the top-level MetaData element of the OTX document (see above), but it may also be stored externally.
  • Imports
Contains a list of Import elements for importing other OTX documents.
  • Declarations
Element representing the global declaration block where global constants, context variables and global variables shall be defined.
  • Validities
A list of global scope validity terms shall be defined here.
  • Signatures
This optional element shall contain a list of Signature elements.
  • Procedures
This optional element shall contain a list of Procedure elements.

Checker rules

Core_Chk001 Document name matches file name
Core_Chk002 Package-wide uniqueness of document names

See also

​​Naming Conventions
Imports
Validities
Global Declarations
Signatures
Procedures
Validation (OTX-Checker)