XDS были созданы с использованием элементов, которые наследуются от суперкласса/ дочерние классы.
Эквивалент Protobuf был определен с использованием содержащихся «базовых» элементов для хранения общих свойств (поэтому каждый дочерний элемент содержит «базовое» свойство, которое является общим классом).Импортированный XSD создает:
Код: Выделить всё
public class Vehicle {
string make;
string model;
}
public class Car extends Vehicle {
integer doors;
}
public class Truck extends Vehicle {
integer weight
}
Код: Выделить всё
{
"base": {"make":"Ford", "model":"Ka"},
"doors": 2
}
Код: Выделить всё
public class Car {
Vehicle base;
integer doors;
}
Подробнее здесь: https://stackoverflow.com/questions/788 ... ild-object
Мобильная версия