让Schema_A成为具有属性P_a的给定模式,使得P_a是0.1到10.0之间的数字,增量为0.1。我想知道是否可以选择属性Z s.t.的子集。 Z是使用P_a作为选择器的Schema_B属性的子集。
例如,如果Schema_B的属性是Pb1,Pb2,Pb3,我想将Schema_B限制为仅包含Pb1和Pb2,如果P_a<如果3.0< 3.0,则Schema_B应该仅包含Pb1。 P_a< 3.5,否则Schema_B应包含所有属性(即Pb1,Pb2和Pb3)
Schema_A:
{
"$schema": "http://localhost/draft-04/schema#",
"id": "http://localhost/schemas/schemaA.json",
"type": "object",
"title": "Schema_A",
"properties": {
"P_a": {"type":"number",
"multipleOf": 0.1,
"exclusiveMinimum":0,
"maximum": 10
}
},
"required": ["key_A1"]
}
Schema_B
{
"$schema": "http://localhost/draft-04/schema#",
"id": "http://localhost/schemas/schemaB.json",
"type": "object",
"title": "Schema_B",
"properties": {
"Pb1": {"type":"string", "enum":["X1", "Y1", "Z1"},
"Pb2": {"type":"string", "enum":["X2", "Y2", "Z2"},
"Pb3": {"type":"string", "enum":["X3", "Y3", "Z3"}
}
}
例如,让P_a = 2.0,然后下面将是Schema_B的有效json实例:
{"Pb1":"X1", "Pb2":"Y2"}
以下是无效实例:
{"Pb1":"X1"}
{"Pb1":"X1", "Pb2":"Y2", "Pb3":"Y3"}
非常感谢任何帮助。