lyfeyaj / jaql

Automatically exported from code.google.com/p/jaql

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simplify schema and add annotations

GoogleCodeExporter opened this issue · comments

Evaluation of the current implementation of schema has shown that some of
the information in the schema is too detailed: its usefulness is limited
but its propagation through the expression tree is complex. This includes:

- min length / max length information of (binary) strings and arrays 
- min value / max value information of all ordered types
- regex patterns for strings

These features will be removed. Then, each schema type has the following
modifiers:

- value (existing): mainly used to propagate compile-time constants
- annotation (new): arbitrary user-defined information about the schema

The main purpose of annotations is to pass schema information directly to a
serialization routine (e.g., to customize serialization or facilitate
pretty printing). No guarantees are made about the propagation of
annotations through the query tree; they are meant to be used for schemata
that are passed as arguments or stored in a value.

Original issue reported on code.google.com by Rainer.G...@gmx.de on 18 Nov 2009 at 5:56

Clarification: Strings and binary strings will retain their length attribute; 
the
proposal is to replace the minLength and maxLength attributes by a single length
attribute. 

Original comment by Rainer.G...@gmx.de on 21 Nov 2009 at 12:03

Committed, r431.

Original comment by Rainer.G...@gmx.de on 21 Nov 2009 at 12:13

  • Changed state: Fixed