diff --git a/binding.jsd b/binding.jsd new file mode 120000 index 0000000..e651441 --- /dev/null +++ b/binding.jsd @@ -0,0 +1 @@ +schema-0.5/binding-0.5.jsd \ No newline at end of file diff --git a/binding.jsdx b/binding.jsdx new file mode 120000 index 0000000..7feb0d9 --- /dev/null +++ b/binding.jsdx @@ -0,0 +1 @@ +schema-0.5/binding-0.5.jsdx \ No newline at end of file diff --git a/binding.xsd b/binding.xsd new file mode 120000 index 0000000..a6cb8b4 --- /dev/null +++ b/binding.xsd @@ -0,0 +1 @@ +schema-0.5/binding-0.5.xsd \ No newline at end of file diff --git a/include.jsd b/include.jsd new file mode 120000 index 0000000..3bdcf91 --- /dev/null +++ b/include.jsd @@ -0,0 +1 @@ +schema-0.5/include-0.5.jsd \ No newline at end of file diff --git a/include.jsdx b/include.jsdx new file mode 120000 index 0000000..a2e6bc7 --- /dev/null +++ b/include.jsdx @@ -0,0 +1 @@ +schema-0.5/include-0.5.jsdx \ No newline at end of file diff --git a/schema-0.5/binding-0.5.jsd b/schema-0.5/binding-0.5.jsd new file mode 100644 index 0000000..959ee3d --- /dev/null +++ b/schema-0.5/binding-0.5.jsd @@ -0,0 +1,200 @@ +{ + "@ns": "http://www.jsonx.org/schema-0.5.jsd", + "@schemaLocation": "http://www.jsonx.org/schema-0.5.jsd http://www.jsonx.org/schema-0.5.jsd", + "@targetNamespace": "http://www.jsonx.org/binding-0.5.jsd", + "nonEmptyString": { + "@": "string", + "@pattern": "\\S|\\S.*\\S" + }, + "typeIdentifier": { + "@": "string", + "@pattern": "(([a-zA-Z_$][a-zA-Z\\d_$]*)\\.)*[a-zA-Z_$][a-zA-Z\\d_$]*(\\[\\])?" + }, + "methodIdentifier": { + "@": "string", + "@pattern": "(([a-zA-Z_$][a-zA-Z\\d_$]*)\\.)*[a-zA-Z_$][a-zA-Z\\d_$]*(\\.)?" + }, + "fieldIdentifier": { + "@": "string", + "@pattern": "[a-zA-Z_$][a-zA-Z\\d_$]*" + }, + "fieldBinding": { + "@": "object", + "@doc": "Specifies language-specific binding.", + "@properties": { + "@field": { + "@": "reference", + "@doc": "Specifies the \"field\" identifier.", + "@nullable": false, + "@type": "fieldIdentifier", + "@use": "optional" + } + } + }, + "typeBinding": { + "@": "object", + "@doc": "Specifies language-specific binding.", + "@properties": { + "@type": { + "@": "reference", + "@doc": "Specifies the \"type\" qualified identifier.", + "@nullable": false, + "@type": "typeIdentifier", + "@use": "optional" + }, + "@decode": { + "@": "reference", + "@doc": "Specifies the \"decode\" qualified function identifier that accepts input as a string, or as the native JSON type of this property, and returns an output of the specified \"type\" (or the default type if \"type\" is unspecified).", + "@nullable": false, + "@type": "methodIdentifier", + "@use": "optional" + }, + "@encode": { + "@": "reference", + "@doc": "Specifies the \"encode\" qualified function identifier that accepts input of the type specified in \"type\" (or the default type if \"type\" is unspecified), and returns an output as a string, or as the native JSON type of this property.", + "@nullable": false, + "@type": "methodIdentifier", + "@use": "optional" + } + } + }, + "typeFieldBinding": { + "@": "object", + "@doc": "Specifies language-specific binding.", + "@extends": "typeBinding", + "@properties": { + "@field": { + "@": "reference", + "@doc": "Specifies the \"field\" identifier.", + "@nullable": false, + "@type": "fieldIdentifier", + "@use": "optional" + } + } + }, + "fieldBindings": { + "@": "object", + "@abstract": true, + "@properties": { + "\\S|\\S.*\\S": { + "@": "any", + "@nullable": false, + "@types": "fieldBinding" + } + } + }, + "typeFieldBindings": { + "@": "object", + "@abstract": true, + "@properties": { + "\\S|\\S.*\\S": { + "@": "any", + "@nullable": false, + "@types": "typeFieldBinding" + } + } + }, + "any": { + "@": "object", + "@extends": "fieldBindings", + "@properties": { + "@": { + "@": "string", + "@nullable": false, + "@pattern": "any" + } + } + }, + "reference": { + "@": "object", + "@extends": "fieldBindings", + "@properties": { + "@": { + "@": "string", + "@nullable": false, + "@pattern": "reference" + } + } + }, + "array": { + "@": "object", + "@extends": "fieldBindings", + "@properties": { + "@": { + "@": "string", + "@nullable": false, + "@pattern": "array" + } + } + }, + "object": { + "@": "object", + "@extends": "fieldBindings", + "@properties": { + "@": { + "@": "string", + "@nullable": false, + "@pattern": "object" + } + } + }, + "boolean": { + "@": "object", + "@extends": "typeFieldBindings", + "@properties": { + "@": { + "@": "string", + "@nullable": false, + "@pattern": "boolean" + } + } + }, + "number": { + "@": "object", + "@extends": "typeFieldBindings", + "@properties": { + "@": { + "@": "string", + "@nullable": false, + "@pattern": "number" + } + } + }, + "string": { + "@": "object", + "@extends": "typeFieldBindings", + "@properties": { + "@": { + "@": "string", + "@nullable": false, + "@pattern": "string" + } + } + }, + "binding": { + "@": "object", + "@properties": { + "@ns": { + "@": "string", + "@nullable": false, + "@pattern": "http://www.jsonx.org/binding-0.5.jsd" + }, + "@schemaLocation": { + "@": "string", + "@nullable": false, + "@pattern": "((\\S|\\S.*\\S) (\\S|\\S.*\\S))+", + "@use": "optional" + }, + "@schema": { + "@": "any", + "@nullable": false, + "@types": "schema include" + }, + "\\S|\\S.*\\S": { + "@": "any", + "@nullable": false, + "@types": "any reference array object boolean number string" + } + } + } +} \ No newline at end of file diff --git a/schema-0.5/binding-0.5.jsdx b/schema-0.5/binding-0.5.jsdx new file mode 100644 index 0000000..c4a8bdc --- /dev/null +++ b/schema-0.5/binding-0.5.jsdx @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/schema-0.5/binding-0.5.xsd b/schema-0.5/binding-0.5.xsd new file mode 100644 index 0000000..3534a65 --- /dev/null +++ b/schema-0.5/binding-0.5.xsd @@ -0,0 +1,556 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the language to which this binding applies. + + + + + Specifies the "field" identifier. + + + + + + + + + + Specifies the "type" qualified identifier. + + + + + Specifies the "decode" qualified function identifier that accepts input as a string, or as the native JSON type of this property, and returns an output of the specified "type" (or the default type if "type" is unspecified). + + + + + Specifies the "encode" qualified function identifier that accepts input of the type specified in "type" (or the default type if "type" is unspecified), and returns an output as a string, or as the native JSON type of this property. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/schema-0.5/include-0.5.jsd b/schema-0.5/include-0.5.jsd new file mode 100644 index 0000000..b2ae2ec --- /dev/null +++ b/schema-0.5/include-0.5.jsd @@ -0,0 +1,19 @@ +{ + "@ns": "http://www.jsonx.org/schema-0.5.jsd", + "@schemaLocation": "http://www.jsonx.org/schema-0.5.jsd http://www.jsonx.org/schema-0.5.jsd", + "@targetNamespace": "http://www.jsonx.org/include-0.5.jsd", + "include": { + "@": "object", + "@properties": { + "@ns": { + "@": "string", + "@nullable": false, + "@pattern": "http://www.jsonx.org/include-0.5.jsd" + }, + "href": { + "@": "string", + "@nullable": false + } + } + } +} \ No newline at end of file diff --git a/schema-0.5/include-0.5.jsdx b/schema-0.5/include-0.5.jsdx new file mode 100644 index 0000000..618dccb --- /dev/null +++ b/schema-0.5/include-0.5.jsdx @@ -0,0 +1,32 @@ + + + + + + + + + \ No newline at end of file diff --git a/schema-0.5/schema-0.5.jsd b/schema-0.5/schema-0.5.jsd index da64ab5..1f6b81d 100644 --- a/schema-0.5/schema-0.5.jsd +++ b/schema-0.5/schema-0.5.jsd @@ -1,709 +1,582 @@ { - "jx:ns": "http://www.jsonx.org/schema-0.5.jsd", - "jx:schemaLocation": "http://www.jsonx.org/schema-0.5.jsd http://www.jsonx.org/schema-0.5.jsd", - "jx:targetNamespace": "http://www.jsonx.org/schema-0.5.jsd", + "@ns": "http://www.jsonx.org/schema-0.5.jsd", + "@schemaLocation": "http://www.jsonx.org/schema-0.5.jsd http://www.jsonx.org/schema-0.5.jsd", + "@targetNamespace": "http://www.jsonx.org/schema-0.5.jsd", "min": { - "jx:type": "string", - "pattern": "\\d+" + "@": "string", + "@pattern": "\\d+" }, "max": { - "jx:type": "string", - "pattern": "\\d+|unbounded" + "@": "string", + "@pattern": "\\d+|unbounded" }, "use": { - "jx:type": "string", - "pattern": "required|optional" + "@": "string", + "@pattern": "required|optional" }, "nonEmptyString": { - "jx:type": "string", - "pattern": "\\S|\\S.*\\S" - }, - "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.5.jsd", - "nullable": false - }, - "jx:schemaLocation": { - "jx:type": "string", - "pattern": "http://www.jsonx.org/schema-0.5.jsd [^ ]+", - "use": "optional", - "nullable": false - }, - "jx:targetNamespace": { - "jx:type": "reference", - "type": "nonEmptyString", - "use": "optional", - "nullable": false - }, - "[a-zA-Z_][-a-zA-Z\\d_]*": { - "jx:type": "any", - "types": "array boolean number objectType string", - "nullable": false, - "bindings": [{ - "lang": "java", - "field": "declarations" - }] - } - } + "@": "string", + "@pattern": "\\S|\\S.*\\S" }, "typeIdentifier": { - "jx:type": "string", - "pattern": "(([a-zA-Z_$][a-zA-Z\\d_$]*)\\.)*[a-zA-Z_$][a-zA-Z\\d_$]*(\\[\\])?" + "@": "string", + "@pattern": "(([a-zA-Z_$][a-zA-Z\\d_$]*)\\.)*[a-zA-Z_$][a-zA-Z\\d_$]*(\\[\\])?" }, "methodIdentifier": { - "jx:type": "string", - "pattern": "(([a-zA-Z_$][a-zA-Z\\d_$]*)\\.)*[a-zA-Z_$][a-zA-Z\\d_$]*(\\.)?" + "@": "string", + "@pattern": "(([a-zA-Z_$][a-zA-Z\\d_$]*)\\.)*[a-zA-Z_$][a-zA-Z\\d_$]*(\\.)?" }, "fieldIdentifier": { - "jx:type": "string", - "pattern": "[a-zA-Z_$][a-zA-Z\\d_$]*" - }, - "binding": { - "jx:type": "object", - "abstract": true, - "properties": { - "lang": { - "jx:type": "reference", - "type": "nonEmptyString", - "nullable": false, - "doc": "Specifies the language to which this binding applies." - } - } + "@": "string", + "@pattern": "[a-zA-Z_$][a-zA-Z\\d_$]*" }, - "fieldBinding": { - "jx:type": "object", - "extends": "binding", - "doc": "Specifies language-specific binding.", - "properties": { - "field": { - "jx:type": "reference", - "type": "fieldIdentifier", - "use": "optional", - "nullable": false, - "doc": "Specifies the \"field\" identifier." + "schemaLocation": { + "@": "string", + "@pattern": "((\\S|\\S.*\\S) (\\S|\\S.*\\S))+" + }, + "documented": { + "@": "object", + "@abstract": true, + "@properties": { + "@doc": { + "@": "string", + "@doc": "Defines text comments. Optional." } } }, - "typeBinding": { - "jx:type": "object", - "extends": "binding", - "doc": "Specifies language-specific binding.", - "properties": { - "type": { - "jx:type": "reference", - "type": "typeIdentifier", - "use": "optional", - "nullable": false, - "doc": "Specifies the \"type\" qualified identifier." - }, - "decode": { - "jx:type": "reference", - "type": "methodIdentifier", - "use": "optional", - "nullable": false, - "doc": "Specifies the \"decode\" qualified function identifier that accepts input as a string, or as the native JSON type of this property, and returns an output of the specified \"type\" (or the default type if \"type\" is unspecified)." - }, - "encode": { - "jx:type": "reference", - "type": "methodIdentifier", - "use": "optional", - "nullable": false, - "doc": "Specifies the \"encode\" qualified function identifier that accepts input of the type specified in \"type\" (or the default type if \"type\" is unspecified), and returns an output as a string, or as the native JSON type of this property." + "member": { + "@": "object", + "@abstract": true, + "@extends": "documented" + }, + "import": { + "@": "object", + "@properties": { + "@namespace": { + "@": "reference", + "@nullable": false, + "@type": "nonEmptyString", + "@use": "optional" + }, + "@schemaLocation": { + "@": "reference", + "@nullable": false, + "@type": "schemaLocation", + "@use": "optional" } } }, - "typeFieldBinding": { - "jx:type": "object", - "extends": "typeBinding", - "doc": "Specifies language-specific binding.", - "properties": { - "field": { - "jx:type": "reference", - "type": "fieldIdentifier", - "use": "optional", - "nullable": false, - "doc": "Specifies the \"field\" identifier." + "schema": { + "@": "object", + "@extends": "documented", + "@properties": { + "@ns": { + "@": "string", + "@nullable": false, + "@pattern": "http://www.jsonx.org/schema-0.5.jsd" + }, + "@schemaLocation": { + "@": "reference", + "@nullable": false, + "@type": "schemaLocation", + "@use": "optional" + }, + "@targetNamespace": { + "@": "reference", + "@nullable": false, + "@type": "nonEmptyString", + "@use": "optional" + }, + "@imports": { + "@": "array", + "@nullable": false, + "@use": "optional", + "@elements": [{ + "@": "reference", + "@type": "import" + }] + }, + "[a-zA-Z_][-a-zA-Z\\d_]*": { + "@": "any", + "@nullable": false, + "@types": "array boolean number objectType string" } } }, - "fieldBindings": { - "jx:type": "array", - "doc": "Specifies language-specific bindings.", - "elements": [{ - "jx:type": "reference", - "type": "fieldBinding", - "nullable": false - }] - }, - "typeBindings": { - "jx:type": "array", - "doc": "Specifies language-specific bindings.", - "elements": [{ - "jx:type": "reference", - "type": "typeBinding", - "nullable": false - }] - }, - "typeFieldBindings": { - "jx:type": "array", - "doc": "Specifies language-specific bindings.", - "elements": [{ - "jx:type": "reference", - "type": "typeFieldBinding", - "nullable": false - }] - }, "any": { - "jx:type": "object", - "abstract": true, - "extends": "member", - "properties": { - "jx:type": { - "jx:type": "string", - "pattern": "any", - "nullable": false - }, - "types": { - "jx:type": "reference", - "type": "nonEmptyString", - "use": "optional", - "nullable": false + "@": "object", + "@abstract": true, + "@extends": "member", + "@properties": { + "@": { + "@": "string", + "@nullable": false, + "@pattern": "any" + }, + "@types": { + "@": "reference", + "@nullable": false, + "@type": "nonEmptyString", + "@use": "optional" } } }, "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 + "@": "object", + "@extends": "member", + "@properties": { + "@": { + "@": "string", + "@nullable": false, + "@pattern": "array" + }, + "@minIterate": { + "@": "reference", + "@doc": "Specifies the minimum inclusive number of iterations of child elements. Default: 1.", + "@nullable": false, + "@type": "min", + "@use": "optional" + }, + "@maxIterate": { + "@": "reference", + "@doc": "Specifies the maximum inclusive number of iterations of child elements. Default: 1.", + "@nullable": false, + "@type": "max", + "@use": "optional" + }, + "@elements": { + "@": "array", + "@maxIterate": "unbounded", + "@nullable": false, + "@elements": [{ + "@": "reference", + "@minOccurs": "0", + "@nullable": false, + "@type": "anyElement" }, { - "jx:type": "reference", - "type": "arrayElement", - "minOccurs": "0", - "nullable": false + "@": "reference", + "@minOccurs": "0", + "@nullable": false, + "@type": "arrayElement" }, { - "jx:type": "reference", - "type": "booleanElement", - "minOccurs": "0", - "nullable": false + "@": "reference", + "@minOccurs": "0", + "@nullable": false, + "@type": "booleanElement" }, { - "jx:type": "reference", - "type": "numberElement", - "minOccurs": "0", - "nullable": false + "@": "reference", + "@minOccurs": "0", + "@nullable": false, + "@type": "numberElement" }, { - "jx:type": "reference", - "type": "referenceElement", - "minOccurs": "0", - "nullable": false + "@": "reference", + "@minOccurs": "0", + "@nullable": false, + "@type": "referenceElement" }, { - "jx:type": "reference", - "type": "stringElement", - "minOccurs": "0", - "nullable": false + "@": "reference", + "@minOccurs": "0", + "@nullable": false, + "@type": "stringElement" }, { - "jx:type": "reference", - "type": "objectElement", - "minOccurs": "0", - "nullable": false + "@": "reference", + "@minOccurs": "0", + "@nullable": false, + "@type": "objectElement" }] } } }, "boolean": { - "jx:type": "object", - "extends": "member", - "properties": { - "jx:type": { - "jx:type": "string", - "pattern": "boolean", - "nullable": false - }, - "bindings": { - "jx:type": "reference", - "type": "typeBindings", - "use": "optional", - "nullable": false + "@": "object", + "@extends": "member", + "@properties": { + "@": { + "@": "string", + "@nullable": false, + "@pattern": "boolean" } } }, "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:\n Open (exclusive) interval: (min,max)\n Closed (inclusive) interval: [min,max]\n Half-open or half-closed interval: [min,max)\n 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." - }, - "bindings": { - "jx:type": "reference", - "type": "typeBindings", - "use": "optional", - "nullable": false + "@": "object", + "@extends": "member", + "@properties": { + "@": { + "@": "string", + "@nullable": false, + "@pattern": "number" + }, + "@range": { + "@": "string", + "@doc": "Specifies the value range in interval notation:\n Open (exclusive) interval: (min,max)\n Closed (inclusive) interval: [min,max]\n Half-open or half-closed interval: [min,max)\n Degenerate interval: [val]", + "@nullable": false, + "@pattern": "[\\(\\[](-?(0|[1-9]\\d*)(\\.\\d+)?([eE][+-]?([1-9]\\d*))?)?,(-?(0|[1-9]\\d*)(\\.\\d+)?([eE][+-]?([1-9]\\d*))?)?[\\)\\]]", + "@use": "optional" + }, + "@scale": { + "@": "number", + "@doc": "The number of digits to the right of the decimal point. If a value is not specified, the scale is unbounded.", + "@nullable": false, + "@scale": 0, + "@use": "optional" } } }, "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": { + "@": "object", + "@abstract": true, + "@extends": "member", + "@properties": { + "@": { + "@": "string", + "@nullable": false, + "@pattern": "object" + }, + "@extends": { + "@": "string", + "@doc": "Specifies the name of the type to extend. Optional.", + "@nullable": false, + "@use": "optional" + }, + "@properties": { + "@": "object", + "@nullable": false, + "@use": "optional", + "@properties": { ".*": { - "jx:type": "any", - "types": "anyProperty arrayProperty booleanProperty numberProperty objectProperty referenceProperty stringProperty", - "nullable": false, - "bindings": [{ - "lang": "java", - "field": "properties" - }] + "@": "any", + "@nullable": false, + "@types": "anyProperty arrayProperty booleanProperty numberProperty objectProperty referenceProperty stringProperty" } } } } }, "objectType": { - "jx:type": "object", - "extends": "object", - "properties": { - "abstract": { - "jx:type": "boolean", - "use": "optional", - "nullable": false, - "doc": "Specifies whether the object is abstract. Default: false." + "@": "object", + "@extends": "object", + "@properties": { + "@abstract": { + "@": "boolean", + "@doc": "Specifies whether the object is abstract. Default: false.", + "@nullable": false, + "@use": "optional" } } }, "reference": { - "jx:type": "object", - "abstract": true, - "extends": "member", - "properties": { - "jx:type": { - "jx:type": "string", - "pattern": "reference", - "nullable": false - }, - "type": { - "jx:type": "reference", - "type": "nonEmptyString", - "nullable": false, - "doc": "Specifies the name of the referenced type. Required." + "@": "object", + "@abstract": true, + "@extends": "member", + "@properties": { + "@": { + "@": "string", + "@nullable": false, + "@pattern": "reference" + }, + "@type": { + "@": "reference", + "@doc": "Specifies the name of the referenced type. Required.", + "@nullable": false, + "@type": "nonEmptyString" } } }, "string": { - "jx:type": "object", - "extends": "member", - "properties": { - "jx:type": { - "jx:type": "string", - "pattern": "string", - "nullable": false - }, - "pattern": { - "jx:type": "reference", - "type": "nonEmptyString", - "use": "optional", - "nullable": false - }, - "bindings": { - "jx:type": "reference", - "type": "typeBindings", - "use": "optional", - "nullable": false + "@": "object", + "@extends": "member", + "@properties": { + "@": { + "@": "string", + "@nullable": false, + "@pattern": "string" + }, + "@pattern": { + "@": "reference", + "@nullable": false, + "@type": "nonEmptyString", + "@use": "optional" } } }, "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 - }, - "bindings": { - "jx:type": "reference", - "type": "fieldBindings", - "use": "optional", - "nullable": false + "@": "object", + "@extends": "any", + "@properties": { + "@nullable": { + "@": "boolean", + "@nullable": false, + "@use": "optional" + }, + "@use": { + "@": "reference", + "@nullable": false, + "@type": "use", + "@use": "optional" } } }, "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 - }, - "bindings": { - "jx:type": "reference", - "type": "fieldBindings", - "use": "optional", - "nullable": false + "@": "object", + "@extends": "array", + "@properties": { + "@nullable": { + "@": "boolean", + "@nullable": false, + "@use": "optional" + }, + "@use": { + "@": "reference", + "@nullable": false, + "@type": "use", + "@use": "optional" } } }, "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 - }, - "bindings": { - "jx:type": "reference", - "type": "typeFieldBindings" + "@": "object", + "@extends": "boolean", + "@properties": { + "@nullable": { + "@": "boolean", + "@nullable": false, + "@use": "optional" + }, + "@use": { + "@": "reference", + "@nullable": false, + "@type": "use", + "@use": "optional" } } }, "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 - }, - "bindings": { - "jx:type": "reference", - "type": "typeFieldBindings" + "@": "object", + "@extends": "number", + "@properties": { + "@nullable": { + "@": "boolean", + "@nullable": false, + "@use": "optional" + }, + "@use": { + "@": "reference", + "@nullable": false, + "@type": "use", + "@use": "optional" } } }, "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 - }, - "bindings": { - "jx:type": "reference", - "type": "fieldBindings", - "use": "optional", - "nullable": false + "@": "object", + "@extends": "object", + "@properties": { + "@nullable": { + "@": "boolean", + "@nullable": false, + "@use": "optional" + }, + "@use": { + "@": "reference", + "@nullable": false, + "@type": "use", + "@use": "optional" } } }, "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 - }, - "bindings": { - "jx:type": "reference", - "type": "fieldBindings", - "use": "optional", - "nullable": false + "@": "object", + "@extends": "reference", + "@properties": { + "@nullable": { + "@": "boolean", + "@nullable": false, + "@use": "optional" + }, + "@use": { + "@": "reference", + "@nullable": false, + "@type": "use", + "@use": "optional" } } }, "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 - }, - "bindings": { - "jx:type": "reference", - "type": "typeFieldBindings" + "@": "object", + "@extends": "string", + "@properties": { + "@nullable": { + "@": "boolean", + "@nullable": false, + "@use": "optional" + }, + "@use": { + "@": "reference", + "@nullable": false, + "@type": "use", + "@use": "optional" } } }, "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 + "@": "object", + "@extends": "any", + "@properties": { + "@nullable": { + "@": "boolean", + "@nullable": false, + "@use": "optional" + }, + "@minOccurs": { + "@": "reference", + "@nullable": false, + "@type": "min", + "@use": "optional" + }, + "@maxOccurs": { + "@": "reference", + "@nullable": false, + "@type": "max", + "@use": "optional" } } }, "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 + "@": "object", + "@extends": "array", + "@properties": { + "@nullable": { + "@": "boolean", + "@nullable": false, + "@use": "optional" + }, + "@minOccurs": { + "@": "reference", + "@nullable": false, + "@type": "min", + "@use": "optional" + }, + "@maxOccurs": { + "@": "reference", + "@nullable": false, + "@type": "max", + "@use": "optional" } } }, "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 + "@": "object", + "@extends": "boolean", + "@properties": { + "@nullable": { + "@": "boolean", + "@nullable": false, + "@use": "optional" + }, + "@minOccurs": { + "@": "reference", + "@nullable": false, + "@type": "min", + "@use": "optional" + }, + "@maxOccurs": { + "@": "reference", + "@nullable": false, + "@type": "max", + "@use": "optional" } } }, "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 + "@": "object", + "@extends": "number", + "@properties": { + "@nullable": { + "@": "boolean", + "@nullable": false, + "@use": "optional" + }, + "@minOccurs": { + "@": "reference", + "@nullable": false, + "@type": "min", + "@use": "optional" + }, + "@maxOccurs": { + "@": "reference", + "@nullable": false, + "@type": "max", + "@use": "optional" } } }, "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 + "@": "object", + "@extends": "object", + "@properties": { + "@nullable": { + "@": "boolean", + "@nullable": false, + "@use": "optional" + }, + "@minOccurs": { + "@": "reference", + "@nullable": false, + "@type": "min", + "@use": "optional" + }, + "@maxOccurs": { + "@": "reference", + "@nullable": false, + "@type": "max", + "@use": "optional" } } }, "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 + "@": "object", + "@extends": "reference", + "@properties": { + "@nullable": { + "@": "boolean", + "@nullable": false, + "@use": "optional" + }, + "@minOccurs": { + "@": "reference", + "@nullable": false, + "@type": "min", + "@use": "optional" + }, + "@maxOccurs": { + "@": "reference", + "@nullable": false, + "@type": "max", + "@use": "optional" } } }, "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 + "@": "object", + "@extends": "string", + "@properties": { + "@nullable": { + "@": "boolean", + "@nullable": false, + "@use": "optional" + }, + "@minOccurs": { + "@": "reference", + "@nullable": false, + "@type": "min", + "@use": "optional" + }, + "@maxOccurs": { + "@": "reference", + "@nullable": false, + "@type": "max", + "@use": "optional" } } } diff --git a/schema-0.5/schema-0.5.jsdx b/schema-0.5/schema-0.5.jsdx index 45a846a..5741583 100644 --- a/schema-0.5/schema-0.5.jsdx +++ b/schema-0.5/schema-0.5.jsdx @@ -24,65 +24,41 @@ + + + + - + + + + + + - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - + + + + @@ -93,112 +69,100 @@ - - + - - + - - + - - - - - - + + + + - + - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + \ No newline at end of file diff --git a/schema-0.5/schema-0.5.xsd b/schema-0.5/schema-0.5.xsd index 3aa5efe..d18f706 100644 --- a/schema-0.5/schema-0.5.xsd +++ b/schema-0.5/schema-0.5.xsd @@ -15,13 +15,17 @@ program. If not, see . --> + @@ -69,11 +73,10 @@ - - - Identifier pattern that must start with either a capital letter, or must include a '$' followed by a capital letter. - - + + + + @@ -82,8 +85,8 @@ Specifies the name. Required. - - + + @@ -92,7 +95,7 @@ - + Specifies the name of the referenced type. Required. @@ -100,89 +103,10 @@ - - - - - - - - - - - - - - - - - - - - - - - Specifies the language to which this binding applies. - - - - - - - - - - Specifies the "field" identifier. - - - - - - - - - - - - Specifies the "type" qualified identifier. - - - - - Specifies the "decode" qualified function identifier that accepts input as a string, or as the native JSON type of this property, and returns an output of the specified "type" (or the default type if "type" is unspecified). - - - - - Specifies the "encode" qualified function identifier that accepts input of the type specified in "type" (or the default type if "type" is unspecified), and returns an output as a string, or as the native JSON type of this property. - - - - - - - - - - - - Specifies the "field" identifier. - - - - - - - - - Specifies language-specific bindings. - - - @@ -193,10 +117,13 @@ - + Specifies a list of type names. Optional. + + + @@ -206,13 +133,6 @@ - - - - Specifies language-specific bindings. - - - @@ -232,13 +152,6 @@ - - - - Specifies language-specific bindings. - - - @@ -279,13 +192,6 @@ - - - - Specifies language-specific bindings. - - - @@ -308,13 +214,6 @@ - - - - Specifies language-specific bindings. - - - @@ -368,64 +267,31 @@ - - - - Specifies language-specific bindings. - - - - - - - - - - - Specifies language-specific bindings. - - - - - - - - - - - Specifies language-specific bindings. - - - - - - - @@ -455,13 +321,6 @@ - - - - Specifies language-specific bindings. - - - @@ -478,20 +337,6 @@ - - - - - - - - - - - - - - @@ -499,7 +344,7 @@ - + Specifies the name of the type to extend. Optional. @@ -511,13 +356,6 @@ - - - - Specifies language-specific bindings. - - - @@ -535,61 +373,28 @@ - - - - Specifies language-specific bindings. - - - - - - - - - - - Specifies language-specific bindings. - - - - - - - - - - - Specifies language-specific bindings. - - - - - - - @@ -624,32 +429,44 @@ - - - - - + + + + + + + + + + - + + + + + + + + + + + + - - + + - - - - - + \ No newline at end of file