panSL main page

panSL language reference. Table of contents.

Simplification

panSL-schemas are typically shown in simplified form.

Common combinations of DataType, Cardinality, HistoryType and AccessRole may be simplified.

By simplifying the schema it becomes easier to read and faster to develop (less typing is required).

A simplified schema may look like:


Person
   First_name
   Last_name
   History     Log

The same schema in complex format, that is without any Simplifications, would look like:

Person         Heading CreateAnonymous UpdateAnonymous DeleteAnonymous ReadAnonymous
   First_name  ShortText Obligatory
   Last_name   ShortText Obligatory
   History     History ZeroToManyReverseAdd Create Update Delete

Note how many of the specifier keywords were just reduced to Nothing in the simplified version.

Field nameDescription

Administrator

Administrator is a Simplification of AccessRoles CreateAdministrator ReadAdministrator UpdateAdministrator DeleteAdministrator

Anonymous

Anonymous is a Simplification of AccessRoles CreateAnonymous UpdateAnonymous DeleteAnonymous ReadAnonymous

ChangeAdministrator

ChangeAdministrator is a Simplification of AccessRoles CreateAdministrator UpdateAdministrator DeleteAdministrator

ChangeAnonymous

ChangeAnonymous is a Simplification of AccessRoles CreateAnonymous UpdateAnonymous DeleteAnonymous

ChangeEveryone

ChangeEveryone is a Simplification of AccessRoles CreateEveryone UpdateEveryone DeleteEveryone

ChangeOwner

ChangeOwner is a Simplification of AccessRoles CreateOwner UpdateOwner DeleteOwner

Date

Date is a Simplification of DataType Date plus Cardinality Obligatory

Decimal

Decimial is a Simplification of DataType Decimal plus Cardinality Obligatory

EMail

EMail is a Simplification of DataType EMail plus Cardinality Obligatory

Everyone

Everyone is a Simplification of AccessRoles CreateEveryone ReadEveryone UpdateEveryone DeleteEveryone

Integer

Integer is a Simplification of DataType Integer plus Cardinality Obligatory

Log

Log is a Simplification of DataType History plus Cardinality ZeroToManyReverseAdd plus AccessType Create Update Delete.

Log is used to indicate that the Implementation should log all changes to instances of the given Entity.

LongText

LongText is a Simplification of DataType LongText plus Cardinality Obligatory

Many

Many is a Simplification of DataType ShortText plus Cardinality ZeroToMany

Nothing

With the Simplification Nothing is meant no text at all (not the literal string "Nothing").
In other words, the keyword Nothing does not occur in any panSL schema.

For the following type of entities DataType Heading is simplified to no text at all:

1) Root-entities (entities without parents).

2) ComplexTypes (values which consist of several sub-values).

Nothing is also a simplification of

3) DataType ShortText and Cardinality Obligatory.

4) DataType Formula and Cardinality Obligatory.

5) AccessRoles CreateAnonymous, UpdateAnonymous, DeleteAnonymous and ReadAnonymous in combination.

Nothing can not be used as a keyword in a Formula.
If you want to indicate the absence of a result in a Formula, use Null instead.

Owner

Owner is a Simplification of AccessRoles CreateOwner ReadOwner UpdateOwner DeleteOwner

Password

Password is a Simplification of DataType Password plus Cardinality Obligatory

RelationMany

RelationMany is a Simplification of DataType Relation plus Cardinality ZeroToMany

RelationManyReverseAdd

RelationManyReverseAdd is a Simplification of DataType Relation plus Cardinality ZeroToManyReverseAdd

RelationOne

RelationOne is a Simplification of DataType Relation plus Cardinality Obligatory

RelationOptional

RelationOptional is a Simplification of DataType Relation plus Cardinality Optional

SMS

SMS is a Simplification of DataType SMS plus Cardinality Obligatory

Type

Type is a Simplification of DataType Heading plus Cardinality ChooseOne

In object-oriented terms Type indicates a SubClass. The parent becomes an abstract SuperClass.

URL

URL is a Simplification of DataType URL plus Cardinality Obligatory

Username

Username is a Simplification of DataType Username plus Cardinality Obligatory

panSL language reference. Table of contents.

More samples available at http://panSL.org/samples/.

Last updated 2012-05-02