{ "jx:ns": "http://www.jsonx.org/schema-0.3.jsd", "jx:schemaLocation": "http://www.jsonx.org/schema-0.3.jsd http://www.jsonx.org/schema-0.3.jsd", "min": { "jx:type": "string", "pattern": "[\\d]+" }, "max": { "jx:type": "string", "pattern": "([\\d]+|unbounded)" }, "use": { "jx:type": "string", "pattern": "(required|optional)" }, "documented": { "jx:type": "object", "abstract": true, "properties": { "doc": { "jx:type": "string", "doc": "Defines text comments. Optional." } } }, "member": { "jx:type": "object", "abstract": true, "extends": "documented" }, "schema": { "jx:type": "object", "extends": "documented", "properties": { "jx:ns": { "jx:type": "string", "pattern": "http://www.jsonx.org/schema-0.3.jsd", "nullable": false }, "jx:schemaLocation": { "jx:type": "string", "pattern": "http://www.jsonx.org/schema-0.3.jsd [^ ]+", "use": "optional", "nullable": false }, "[a-zA-Z_][-a-zA-Z\\d_]*": { "jx:type": "any", "types": "array boolean number objectType string", "nullable": false } } }, "any": { "jx:type": "object", "extends": "member", "properties": { "jx:type": { "jx:type": "string", "pattern": "any", "nullable": false }, "types": { "jx:type": "string", "pattern": "\\S+( \\S+)*", "use": "optional", "nullable": false } } }, "array": { "jx:type": "object", "extends": "member", "properties": { "jx:type": { "jx:type": "string", "pattern": "array", "nullable": false }, "minIterate": { "jx:type": "reference", "type": "min", "use": "optional", "nullable": false, "doc": "Specifies the minimum inclusive number of iterations of child elements. Default: 1." }, "maxIterate": { "jx:type": "reference", "type": "max", "use": "optional", "nullable": false, "doc": "Specifies the maximum inclusive number of iterations of child elements. Default: 1." }, "elements": { "jx:type": "array", "maxIterate": "unbounded", "nullable": false, "elements": [{ "jx:type": "reference", "type": "anyElement", "minOccurs": "0", "nullable": false }, { "jx:type": "reference", "type": "arrayElement", "minOccurs": "0", "nullable": false }, { "jx:type": "reference", "type": "booleanElement", "minOccurs": "0", "nullable": false }, { "jx:type": "reference", "type": "numberElement", "minOccurs": "0", "nullable": false }, { "jx:type": "reference", "type": "referenceElement", "minOccurs": "0", "nullable": false }, { "jx:type": "reference", "type": "stringElement", "minOccurs": "0", "nullable": false }, { "jx:type": "reference", "type": "objectElement", "minOccurs": "0", "nullable": false }] } } }, "boolean": { "jx:type": "object", "extends": "member", "properties": { "jx:type": { "jx:type": "string", "pattern": "boolean", "nullable": false } } }, "number": { "jx:type": "object", "extends": "member", "properties": { "jx:type": { "jx:type": "string", "pattern": "number", "nullable": false }, "range": { "jx:type": "string", "pattern": "[\\(\\[](-?(0|[1-9]\\d*)(\\.\\d+)?([eE][+-]?([1-9]\\d*))?)?,(-?(0|[1-9]\\d*)(\\.\\d+)?([eE][+-]?([1-9]\\d*))?)?[\\)\\]]", "use": "optional", "nullable": false, "doc": " Specifies the value range in interval notation: Open (exclusive) interval: (min,max) Closed (inclusive) interval: [min,max] Half-open or half-closed interval: [min,max) Degenerate interval: [val]" }, "scale": { "jx:type": "number", "scale": 0, "use": "optional", "nullable": false, "doc": "The number of digits to the right of the decimal point. If a value is not specified, the scale is unbounded." } } }, "object": { "jx:type": "object", "abstract": true, "extends": "member", "properties": { "jx:type": { "jx:type": "string", "pattern": "object", "nullable": false }, "extends": { "jx:type": "string", "use": "optional", "nullable": false, "doc": "Specifies the name of the type to extend. Optional." }, "properties": { "jx:type": "object", "use": "optional", "nullable": false, "properties": { ".*": { "jx:type": "any", "types": "anyProperty arrayProperty booleanProperty numberProperty objectProperty referenceProperty stringProperty", "nullable": false } } } } }, "reference": { "jx:type": "object", "abstract": true, "extends": "member", "properties": { "jx:type": { "jx:type": "string", "pattern": "reference", "nullable": false }, "type": { "jx:type": "string", "nullable": false, "doc": "Specifies the name of the referenced type. Required." } } }, "string": { "jx:type": "object", "extends": "member", "properties": { "jx:type": { "jx:type": "string", "pattern": "string", "nullable": false }, "pattern": { "jx:type": "string", "use": "optional", "nullable": false } } }, "objectType": { "jx:type": "object", "extends": "object", "properties": { "abstract": { "jx:type": "boolean", "use": "optional", "nullable": false, "doc": "Specifies whether the object is abstract. Default: false." } } }, "anyProperty": { "jx:type": "object", "extends": "any", "properties": { "nullable": { "jx:type": "boolean", "use": "optional", "nullable": false }, "use": { "jx:type": "reference", "type": "use", "use": "optional", "nullable": false } } }, "arrayProperty": { "jx:type": "object", "extends": "array", "properties": { "nullable": { "jx:type": "boolean", "use": "optional", "nullable": false }, "use": { "jx:type": "reference", "type": "use", "use": "optional", "nullable": false } } }, "booleanProperty": { "jx:type": "object", "extends": "boolean", "properties": { "nullable": { "jx:type": "boolean", "use": "optional", "nullable": false }, "use": { "jx:type": "reference", "type": "use", "use": "optional", "nullable": false } } }, "numberProperty": { "jx:type": "object", "extends": "number", "properties": { "nullable": { "jx:type": "boolean", "use": "optional", "nullable": false }, "use": { "jx:type": "reference", "type": "use", "use": "optional", "nullable": false } } }, "objectProperty": { "jx:type": "object", "extends": "object", "properties": { "nullable": { "jx:type": "boolean", "use": "optional", "nullable": false }, "use": { "jx:type": "reference", "type": "use", "use": "optional", "nullable": false } } }, "referenceProperty": { "jx:type": "object", "extends": "reference", "properties": { "nullable": { "jx:type": "boolean", "use": "optional", "nullable": false }, "use": { "jx:type": "reference", "type": "use", "use": "optional", "nullable": false } } }, "stringProperty": { "jx:type": "object", "extends": "string", "properties": { "nullable": { "jx:type": "boolean", "use": "optional", "nullable": false }, "use": { "jx:type": "reference", "type": "use", "use": "optional", "nullable": false } } }, "anyElement": { "jx:type": "object", "extends": "any", "properties": { "nullable": { "jx:type": "boolean", "use": "optional", "nullable": false }, "minOccurs": { "jx:type": "reference", "type": "min", "use": "optional", "nullable": false }, "maxOccurs": { "jx:type": "reference", "type": "max", "use": "optional", "nullable": false } } }, "arrayElement": { "jx:type": "object", "extends": "array", "properties": { "nullable": { "jx:type": "boolean", "use": "optional", "nullable": false }, "minOccurs": { "jx:type": "reference", "type": "min", "use": "optional", "nullable": false }, "maxOccurs": { "jx:type": "reference", "type": "max", "use": "optional", "nullable": false } } }, "booleanElement": { "jx:type": "object", "extends": "boolean", "properties": { "nullable": { "jx:type": "boolean", "use": "optional", "nullable": false }, "minOccurs": { "jx:type": "reference", "type": "min", "use": "optional", "nullable": false }, "maxOccurs": { "jx:type": "reference", "type": "max", "use": "optional", "nullable": false } } }, "numberElement": { "jx:type": "object", "extends": "number", "properties": { "nullable": { "jx:type": "boolean", "use": "optional", "nullable": false }, "minOccurs": { "jx:type": "reference", "type": "min", "use": "optional", "nullable": false }, "maxOccurs": { "jx:type": "reference", "type": "max", "use": "optional", "nullable": false } } }, "objectElement": { "jx:type": "object", "extends": "object", "properties": { "nullable": { "jx:type": "boolean", "use": "optional", "nullable": false }, "minOccurs": { "jx:type": "reference", "type": "min", "use": "optional", "nullable": false }, "maxOccurs": { "jx:type": "reference", "type": "max", "use": "optional", "nullable": false } } }, "referenceElement": { "jx:type": "object", "extends": "reference", "properties": { "nullable": { "jx:type": "boolean", "use": "optional", "nullable": false }, "minOccurs": { "jx:type": "reference", "type": "min", "use": "optional", "nullable": false }, "maxOccurs": { "jx:type": "reference", "type": "max", "use": "optional", "nullable": false } } }, "stringElement": { "jx:type": "object", "extends": "string", "properties": { "nullable": { "jx:type": "boolean", "use": "optional", "nullable": false }, "minOccurs": { "jx:type": "reference", "type": "min", "use": "optional", "nullable": false }, "maxOccurs": { "jx:type": "reference", "type": "max", "use": "optional", "nullable": false } } } }