Skip to content

Instantly share code, notes, and snippets.

@Evgenus
Created June 18, 2012 20:25
Show Gist options
  • Save Evgenus/2950503 to your computer and use it in GitHub Desktop.
Save Evgenus/2950503 to your computer and use it in GitHub Desktop.
YAML Schema Draft #2
!Schema
Schema: !Mapping
patterns: !PatternsList
- !PatternPair
key: Identifier
value: Rule
Rule: !Mapping
fields: !FieldsMap
extend: !Field
type: String
required: False
Mapping: !Mapping
extend: Rule
fields: !FieldsMap
fields: !Field
type: FieldsMap
required: False
pattern: !Field
type: PatternsList
required: False
FieldsMap: !Mapping
pattern: !PatternsList
- !PatternPair
key: Identifier
value: Field
List: !Mapping
extend: Rule
fields: !FieldsMap
items_type: !Field
type: String
required: True
min_length: !Field
type: Integer
required: False
max_length: !Field
type: Integer
required: False
PatternsList: !List
min_length: 1
items_type: PatternPair
PatternPair: !Mapping
fields: !FieldsMap
key: !Field
type: String
required: True
value: !Field
type: String
required: True
Field: !Mapping
fields: !FieldsMap
type: !Field
type: String
required: True
required: !Field
type: Boolean
required: False
default: True
default: !Field
type: Any
required: False
# Integer
# String
# Boolean
# Identifier
# variants
# types list
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment