This Schema Document defines two Atomic Types in the "http://www.example.com/my-schema" namespace and with the local names "small-number" and "big-number".
{
"$namespace" : "http://www.example.com/my-schema",
"$types" : [
{
"$kind" : "atomic",
"$name" : "small-number",
"$baseType" : "integer",
"$enumeration" : [ 1, 2, 4, 8 ]
},
{
"$kind" : "atomic",
"$name" : "Q{http://www.example.com/my-schema}big-number",
"$baseType" : "integer",
"$enumeration" : [ 1000, 2000, 4000, 8000 ]
}
]
}
This Schema Document defines one Object Type in the "http://www.example.com/my-new-schema" namespace named "small-and-big".
{
"$namespace" : "http://www.example.com/my-new-schema",
"$imports" : [
{
"$namespace" : "http://www.example.com/my-schema",
"$prefix" : "other"
}
],
"$types" : [
{
"$kind" : "object",
"$name" : "small-and-big",
"$content" : {
"small" : { "$type" : "other:small-number" },
"big" : { "$type" : "other:big-number", "$optional" : true }
}
}
]
}
Given this set of two Schema Documents, the following JSON object:
{
"small" : 4
}
is valid against the Type named "Q{http://www.example.com/my-new-schema}small-and-big".
This JSON object is not valid, because the value associated with "big" is not in the value space of the Type "Q{http://www.example.com/my-schema}big-number".
{
"small" : 4,
"big" : 3
}