- Основные значения mson
- 1 how to read the grammar
- 1 Markdown Syntax
- 3 Promises
- 2 types
- 1 Base Types
- 1.1 Primitive Types
- 1.2 Structure Types
- 3 Member Types
- 3.1 Property Member Types
- 3.2 Value Member Types
- 3 type declaration
- 1 Named Declaration
- 1.1 Generic Named Declaration
- 2 Property Member Declaration
- 2.1 Property Name
- 2.2 Variable Property Name
- 3 Value Member Declaration
- 4.1 Value
- 4.2 Literal Value
- 4.3 Variable Value
- 5.1 Type Specification
- 5.1.1 Variable Type Specification
- 5.2 Type Name
- 5.2.1 Variable Type Name
- 5.2.2 Wildcard Type Name
- 5.3 Type Attribute
- 6 Description
- 2 Member Type Group
- 2.1 Member Type Separator
- 3 Nested Member Types
- 4 Sample
- 5 Default
- 6 Validations
- 5 type inheritance
- 2 One Of Type
- 3 Generic Named Type
- 4 Member Type Precedence
- 6 reserved characters & keywords
- 1 Characters
- 2 Keywords
- 3 Additional Keywords
- Example 1
- Example 2
- Json schema
- Mson language specification
- Notational conventions
- Objects & arrays
- Product
- Properties
- Referencing
- What for?
- What?
- Все определения mson
- Что означает mson в тексте
- Самсон-опт — оптовые поставки офисных товаров для школы и дома, купить канцтовары от поставщика и производителя. недорого, доставка.
- 5 Type Definition
- 4 Value Definition
- Rendered markdown
Основные значения mson
На следующем изображении представлены наиболее часто используемые значения MSON. Вы можете записать файл изображения в формате PNG для автономного использования или отправить его своим друзьям по электронной почте.Если вы являетесь веб-мастером некоммерческого веб-сайта, пожалуйста, не стесняйтесь публиковать изображение определений MSON на вашем веб-сайте.
1 how to read the grammar
- An arrow (→) mark grammar productions that can be read as «is defined by|is defined by a(n)»
- A double arrow (⇒) marks grammar productions that can be read as «contains|contains a(n)»
- Italic text indicates syntactic categories
- A
code spanindicates literal characters, words and punctuations - A pipe character (|) separates alternative grammar productions
- A following [opt] indicates optional syntactic categories and literals
1 Markdown Syntax
Note this reference is using ATX-style headers (#) and hyphen-style lists (-) exclusively. However you MAY use
Setext-style headers and/or asterisk (*) or plus ( ) style lists if you prefer.
3 Promises
By default, MSON explicitly defines data structures and the meaning of their members without making any assertion to the
exclusivity of structures or their members. Further, no assertion is made concerning the presence of defined
structures or members. Rather, MSON describes structures that MAY be observed versus what MUST be observed.
However, much like JSON Schema being able to restrict «additionalProperties», MSON allows annotating structures to
indicate when they are strictly defined to preclude other structures and members and when they have strict ordering.
2 types
In MSON, data structures are described by header-defined and/or list-defined Types and/or combinations thereof built
from a limited set of Base Types. A particular Type is defined by its Type Declaration and combination of
optional Type Sections.
Type → Type Declaration
Type ⇒ Type Sections[opt]
More specifically:
Type → Type Declaration
1 Base Types
MSON defines a number of distinct base, case-insensitive Primitive and Structure Types from which all data
structures are built (sub-typed).
1.1 Primitive Types
Applies to basic data structure and type definitions. Types that are sub-typed from Primitive Types MUST NOT
contain a Member Type Group or Nested Member Types.
booleanSpecifies a type with allowed values of
trueorfalse.stringSpecifies any string.
numberSpecifies any number.
1.2 Structure Types
Applies to recursive, composite data structure and type definitions. Types that are sub-typed from
Structure Types MAY contain a Member Type Group or Nested Member Types.
Structure Types may directly or indirectly contain recursive references to
themselves.
3 Member Types
Markdown lists specify MSON Member Types, which define the structure and types of individual
members of Types built from Structure Types. A Member Type that contains Nested Member Types
defines an inner, anonymous type that specifies the structure of values of that particular member.
3.1 Property Member Types
Define individual members of object type structures.
Property Member Type → Property Member Declaration
Property Member Type ⇒ Type Sections[opt]
Any list of Property Member Types collectively MAY define an implied parent object type structure.
Defines a personProperty Member Type with a value that is an explicit object type structure with members
first_name, last_name, and address and, at the same time, is a member together with company of another
implied object structure.
3.2 Value Member Types
Define individual members of array or enum type structures.
Value Member Type → Value Member Declaration
Value Member Type ⇒ Type Sections[opt]
3 type declaration
Defines a particular MSON Type.
Type Declaration → Named Declaration | Generic Named Declaration | Property Member Declaration | Value Member Declaration
1 Named Declaration
Defines a Named Type.
Named Declaration → #Type NameType Definition[opt]
1.1 Generic Named Declaration
Defines a Named Type that allows an italicized Variable Type Name to represent a Type Name
at any location in the Type Specification of a Variable Type Specification.
Generic Named Declaration → #Type NameVariable Type Specification
2 Property Member Declaration
Defines a Property Member Type.
Property Member Declaration → -Property Name:[opt]Value Definition[opt]-[opt]Description[opt]
The optional : is only applicable in the case where a Value Definition is present and includes a Value.
2.1 Property Name
Defines the name of a property in an object type structure.
Property Name → Literal Value | Variable Property Name
Defines a Property Member Declaration with a Property Name «customer».
2.2 Variable Property Name
Defines a Property Name that is associated with a specific Value Definition in an object type structure
that MAY be any arbitrary name in an actual implementation. The Value of the Variable Property Name serves as
a sample.
Variable Property Name → *Value Definition*
In the case of specifying a Variable Property Name, the Value Definition MAY reference a Named Type
that MUST be sub-typed from a stringPrimitive Type.
Where rel is a sample value for the arbitrary Property Name of a Property Member Declaration.
3 Value Member Declaration
Defines a Value Member Type. A Value Member Declaration MUST only be used to define structures of array
or enumMember Types.
Value Member Declaration → -Value Definition-[opt]Description[opt]
The optional — is only applicable in the case where a Description is provided.
4.1 Value
Defines either sample or actual value(s) in Member Types based on the associated Type Definition in a
Value Definition.
Value → Literal Value | Variable Value | Values List
Values List → Value | Value,Values List
A Values List MUST only be used with array or enumStructure Types or Named Types derived from them.
By default:
is equivalent to:
Where «1», «2», and «3» are sample values of the array structure.
- A Value Definition that incorporates a Values List defines fully-qualified values of an
enumtype structure.
Where «red» and «green» are fully-qualified values of the colors enumeration.
4.2 Literal Value
Literal value of a type instance. Some limitations apply (see Reserved Characters & Keywords).
4.3 Variable Value
Defines a Value that is not concrete using Markdown italics.
Variable Value → *Literal Value*
A Variable Value MAY be used to indicate a Variable Property Name in a Property Member Declaration or
more generally, a sample value in a Value Definition.
5.1 Type Specification
Defines sub-typed Base Types or Types for a particular Type.
Type Specification → Type Name | Type Name[Nested Type Name List]
Nested Type Name List → Type Name | Type Name,Nested Type Name List
An array or enumValue Definition MAY specify the Type Specifications of implied
Nested Member Types members in-line using [] as a Nested Type Name List.
Indicates a array type structure MAY include distinct numbers or strings as values.
5.1.1 Variable Type Specification
Defines a variable Type Specification to indicate generic Named Types.
Variable Type Specification → Type Specification
A Variable Type Specification MUST include at least one Variable Type Name.
5.2 Type Name
References the name of a type in Base Types or Named Types. Some limitations apply (see
Reserved Characters & Keywords).
Type Name → Literal Value | Variable Type Name | Wildcard Type Name | Referenced Type Name
Referenced Type Name → A valid Markdown-style link, where the link name MUST be a Literal Value
A Variable Type Name MUST only be used in two situations:
— As a Type Name in a Type Definition for a Generic Named Type.
— As an associated Type Name in Nested Member Types of the Generic Named Type.
A Referenced Type Name MAY be used to link to a Type Name defined in another location in an MSON document
solely as a navigation convenience.
5.2.1 Variable Type Name
An italicized variable that MAY be used in place of a Type Name for a Type Definition in a
Generic Named Declaration.
Variable Type Name → *Literal Value*
5.2.2 Wildcard Type Name
Indicates any type MAY be possible.
Wildcard Type Name → *
A Wildcard Type Name MAY only be used in a Type Specification for Member Types.
5.3 Type Attribute
Defines extra attributes associated with the implementation of a type.
A sampleType Attribute is mutually exclusive with default.
6 Description
Describes a Member Type in-line.
Description → -Markdown-formatted text
2 Member Type Group
A Member Type Group delineates Nested Member Types and MUST be used when other Type Sections are present.
Member Type Group → -Member Type Separator | ##Member Type Separator
Member Type Group ⇒ Nested Member Types
2.1 Member Type Separator
Defines the names of separators to indicate the beginning of a section of Nested Member Types.
Member Type Separator → Items | Members | Properties
Array Structures — MUST use
Itemsfor a Member Type SeparatorEnum Structures — MUST use
Membersfor a Member Type SeparatorObject Structures — MUST use
Propertiesfor a Member Type Separator
3 Nested Member Types
Types built from Structure Types MAY contain Nested Member Types, which are defined using nested Markdown
lists of allowed Member Types.
A Member Type that contains Nested Member Types defines an inner, anonymous type that specifies the structure
of values of that particular member.
Nested Member Types → Member Types
By Default:
With a fixedType Attribute:
If a Named Type or Member Type annotates its type as
fixed, all Nested Member Types inherit
thefixedattribute as well.Implies:
An
arraybased Named Type or Member Type MAY specifyfixedto indicate the structure is a
«fixed ordered list» of only the specified values and/or types, if any, of its Nested Member Types.Implies a fixed-list
arraystructure that MUST only contain the two items «red» and «green» in that order.Implies a fixed-list
arraystructure that MUST only contain the two items of an arbitraryobjectandstring
in that order.An
objectbased Named Type or Member Type MAY specifyfixedto indicate a «value object» where all
the properties MUST be present and the values of the properties MUST be the values specified, if any, in its
Nested Member Types. Further, such anobjecttype structure MUST NOT contain any other properties.Implies a «value object» that MUST contain only the properties «firstname» and «lastname» with the values
«Andrew» and «Smith», respectively.Implies an
objectthat MUST contain only the properties «firstname» and «lastname», respectively.Individual Nested Member Types MAY override inherited behavior from a
fixedinherited type
by using anoptionalattribute and/or MAY indicate values are samples using a Variable Value.Implies a «value object» that MUST contain the property «firstname» and MAY contain the property
«lastname».Implies an
arraytype structure that MUST contain «red» as an item and MAY contain any other strings, where
«green» is a sample value.
With a fixed-typeType Attribute:
4 Sample
Defines alternate sample Values for Member Types as a nested Markdown list with (multi-line) text.
Sample → — Sample | — Sample :Value | ## Sample
Sample ⇒ Markdown-formatted text | Value Member Types
A Type MAY have multiple Sample lists.
5 Default
Indicates Values for Member Types as a nested Markdown list with (multi-line) text are defaults.
Default → — Default | — Default :Value | ## Default
Default ⇒ Markdown-formatted text | Value Member Types
A Type MAY have one DefaultType Section. A Default for a Member Type MAY also indicate a
Sample.
6 Validations
Reserved for future use.
5 type inheritance
A Member Type or Named Type that inherits from another Named Type also inherits any
Nested Member Types in the same order they are defined in the inherited Named Type and in order based
on the placement of the Mixin Type.
And:
Implies the same structure as:
Where the inherited Member Types from PersonNamed Type are listed first.
An object may not inherit from itself, either directly or indirectly.
2 One Of Type
MSON defines a One Of Type that can be used to describe mutually exclusive sets of Nested Member Types. A
One of Type MUST only be used to define Property Member Types for a object type structure.
One of Type → — One Of
One of Type ⇒ Member Type Group
One of Type ⇒ Nested Member Types
One of Type ⇒ Mixin Type
One of Type ⇒ One of Type
Implies values with a structure of:
Or:
Or:
3 Generic Named Type
Defines a Named Type that allows an italicized Variable Type Name to represent a Type Name
at any location in a Type Specification.
Generic Named Type → Named Type
By default:
— A Named Type that contains at least one Variable Type Name is a Generic Named Type.
— A Variable Type Name in a Type Specification MAY only be used in the Type Definition of explicitly
defined Nested Member Types in the Generic Named Type and MUST NOT define any implied Nested Member Types.
4 Member Type Precedence
Implementers of tooling for MSON structures SHOULD use an inheritance precedence such that the last redundant
Member Type specified in a list at the same indentation level appends or overrides a previously defined
Member Type.
6 reserved characters & keywords
When using following characters or keywords in a Property Name, Literal Value or Type Name the name
or literal MUST be escaped in backticks `. Otherwise, a code span MAY be used for any arbitrary formatting
and has no specific meaning in an MSON document.
1 Characters
:, (,), <, >, {, }, [, ], _, *, -, , `
2 Keywords
Property, Properties, Item, Items, Member, Members, Include, One of, Sample
Note keywords are case-insensitive.
3 Additional Keywords
Following keywords are reserved for future use:
Trait, Traits, Parameter, Parameters, Attribute, Attributes, Filter, Validation, Choice, Choices,
Enumeration, Enum, Object, Array, Element, Elements, Description
Example 1
A simple object structure and its associated JSON expression.
Example 2
A Named Type with its associated JSON expression and JSON Schema.
Json schema
{ "$schema": "http://json-schema.org/draft-04/schema#", "title": "Product", "description": "A product from Acme's catalog", "type": "object", "properties": { "id": { "description": "The unique identifier for a product", "type": "number" }, "name": { "description": "Name of the product", "type": "string" }, "price": { "type": "number" }, "tags": { "type": "array", "items": { "type": "string" } } }, "required": ["id", "name", "price"]
}NOTE: This proposal covers only basic features of JSON Schema. At this moment, it is out of the scope of this
syntax to support all the JSON Schema keywords (such as uniqueItems, exclusiveMinimum, etc.).
Mson language specification
The rest of this document covers some advanced syntax examples. Refer to the MSON Language Specification for the
complete MSON Grammar Reference.
Notational conventions
The key words «MUST», «MUST NOT», «REQUIRED», «SHALL», «SHALL NOT», «SHOULD», «SHOULD NOT», «RECOMMENDED», «MAY», and
«OPTIONAL» in this document are to be interpreted as described in RFC2119.
Objects & arrays
By default, a Markdown list item with a nested Markdown list is considered to be an object structure:
Product
A product from Acme’s catalog
Properties
- id: 1 (number, required) — The unique identifier for a product
- name: A green door (string, required) — Name of the product
- price: 12.50 (number, required)
- tags: home, green (array[string], fixed-type)
Referencing
Anywhere a type is expected, a top-level MSON Named Type can be referenced.
What for?
The aim of this description format is to facilitate the discussion (and thus validation) of data structures. The format,
being agnostic to the common markup formats, is well suited for «resource & representations» and «content negotiation»
scenarios.
In addition, this format also offers (limited) serialization functionality.
Similar to the original Markdown to HTML (markup) conversion, MSON enables conversion to other markup formats.
What?
MSON is a plain-text, human and machine readable, description format for describing data structures in common markup
formats such as JSON, XML or YAML.
Все определения mson
Как упомянуто выше, вы увидите все значения MSON в следующей таблице. Пожалуйста, знайте, что все определения перечислены в алфавитном порядке.Вы можете щелкнуть ссылки справа, чтобы увидеть подробную информацию о каждом определении, включая определения на английском и вашем местном языке.
Что означает mson в тексте
В общем, MSON является аббревиатурой или аббревиатурой, которая определяется простым языком. Эта страница иллюстрирует, как MSON используется в обмена сообщениями и чат-форумах, в дополнение к социальным сетям, таким как VK, Instagram, Whatsapp и Snapchat. Из приведенной выше таблицы, вы можете просмотреть все значения MSON: некоторые из них образовательные термины, другие медицинские термины, и даже компьютерные термины. Если вы знаете другое определение MSON, пожалуйста, свяжитесь с нами. Мы включим его во время следующего обновления нашей базы данных. Пожалуйста, имейте в информации, что некоторые из наших сокращений и их определения создаются нашими посетителями. Поэтому ваше предложение о новых аббревиатур приветствуется! В качестве возврата мы перевели аббревиатуру MSON на испанский, французский, китайский, португальский, русский и т.д. Далее можно прокрутить вниз и щелкнуть в меню языка, чтобы найти значения MSON на других 42 языках.
Самсон-опт — оптовые поставки офисных товаров для школы и дома, купить канцтовары от поставщика и производителя. недорого, доставка.
Мы обеспечиваем поставки товаров в любую точку России за 24 часа, а также доставляем заказы во все страны Евразийского экономического союза и предлагаем нашим клиентам комплексные программы поддержки и развития бизнеса во всех каналах сбыта.
5 Type Definition
Explicitly specifies the type of a value in an MSON instance.
Type Definition → (Type Specification[opt],[opt]Type Attributes List[opt])
Type Attributes List → Type Attribute | Type Attribute,Type Attributes List
A Type Definition MUST separate multiple items with commas and is order-independent.
4 Value Definition
Every Member Type MAY specify type information associated with values in a structure or member in a structure.
This includes a Value Definition that may include literal or sample Values and a Type Definition, including
a Type Specification and/or Type Attributes, of associated types.
Value Definition → Value[opt]Type Definition[opt]
A Value Definition MUST include at least a Value or a Type Definition. A Value Definition of an
objectMember Type MUST NOT specify a Value.
Defines a Value Definition for an array type structure with sample values «5» and «6».
Rendered markdown
listing (object)
Our real estate listing has different properties available.
PropertiesProperties
- description
- date_listed
some:location: local (string)


