Il 20/12/2013 12:57, Amos Kong ha scritto: > { 'type': 'DataObjectBase', > 'data': { '*name': 'str', 'type': 'str' } } > { 'union': 'DataObjectMemberType', > 'discriminator': {}, > 'data': { 'reference': 'str', > 'undefined': 'DataObject', > 'extend': 'DataObject' } }
What is the purpose of "undefined"? I don't see any occurrence of any of "undefined" or "extend" in the sample. > { 'type': 'DataObjectMember', > 'data': { 'type': 'DataObjectMemberType', '*name': 'str', > '*optional': 'bool', '*recursive': 'bool' } } > { 'type': 'DataObjectCommand', > 'data': { '*data': [ 'DataObjectMember' ], > '*returns': 'DataObject', > '*gen': 'bool' } } > { 'type': 'DataObjectEnumeration', > 'data': { 'data': [ 'str' ] } } > { 'type': 'DataObjectType', > 'data': { 'data': [ 'DataObjectMember' ] } } > { 'type': 'DataObjectUndefinedStruct', Perhaps Unnamed or Anonymous? > 'data': { 'data': [ 'DataObjectMember' ] } } > { 'type': 'DataObjectUnion', > 'data': { 'data': [ 'DataObjectMember' ], '*base': 'str', > '*discriminator': 'str' } } > { 'union': 'DataObject', > 'base': 'DataObjectBase', > 'discriminator': 'type', > 'data': { > 'command': 'DataObjectCommand', > 'enumeration': 'DataObjectEnumeration', > 'type': 'DataObjectType', > 'undefined-struct': 'DataObjectUndefinedStruct', > 'reference-type': 'String', > 'unionobj': 'DataObjectUnion' } } > { 'command': 'query-qmp-schema', 'returns': ['DataObject'] } I think forcing expansion of everything that isn't unnamed/anonymous makes the schema much larger and unwieldy. Otherwise looks great! Paolo