Я работаю над собственным форматом XML, который включает отформатированный список точек. Мы хотели бы поддерживать несколько типов систем координат, таких как декартова и сферическая. Можно ли это сделать?
Пример:
<point type="cartesian">
<c1>5.0</c1>
<c2>5.6</c2>
<c3>9.1</c3>
</point>
<point type="spherical">
<c1>5.0</c1>
<c2>5.6</c2>
<c3>9.1</c3>
</point>
Там, где автоматически устанавливаются границы для сферических координат, при которых c1 остается положительным, а c2, c3 в диапазоне от 0 до 2PI. Пока нет границ для c1 до c3 в декартовой версии. Если это не может быть записано как Схема, могу я хотя бы сделать это так?
<point type="cartesian">
<c1 type="cartesian">5.0</c1>
<c2 type="cartesian">5.6</c2>
<c3 type="cartesian">9.1</c3>
</point>
<point type="spherical">
<c1 type="spherical">5.0</c1>
<c2 type="spherical">5.6</c2>
<c3 type="spherical">9.1</c3>
</point>
В этом случае я знаю, что могу наложить ограничения на элемент по его типу, но могу ли я заставить конкретный элемент иметь тот же тип, что и его родитель?
Надеюсь, это достаточно ясно, чтобы понять, что я пытаюсь сделать здесь. Я хочу ограничить тип данных, которые будут принимать типы c1 - c3, установив тип точечного элемента.