Пространство имен XML, предназначенное для хранения объектов

Как следует из названия, XML (расширяемый язык разметки) разработан как язык разметки, а не как модель представления объектов данных. Для этой цели есть другие варианты, такие как JSON или YAML, которые лучше подходят.

В ответе @Daniel Earwicker в этой теме есть действительно хорошее объяснение: в чем разница между json и xml.

Однако гибкость XML заставила людей использовать много XML в качестве модели представления объектов данных.

Мой вопрос: существует ли какое-либо пространство имен XML, цель которого именно в этом? Или что больше всего подходит? Если такое пространство имен существует, оно, несомненно, преднамеренно ограничило бы гибкость XML. Может быть, не разрешать атрибуты или многослойность, я не знаю. Может быть, это пространство имен SOAP? Но это идет дальше, потому что это данные протокола веб-сервиса. Я слишком невежественен, но, возможно, эквивалентным вопросом будет, существует ли какое-либо стандартное пространство имен xml для сериализации.


person Waiting for Dev...    schedule 06.03.2012    source источник


Ответы (1)


Возможно, вас заинтересует использование формата XAML. XAML был специально разработан для отражения структуры объектов и значений, которыми должны быть инициализированы свойства, поэтому я предполагаю, что это идеальный формат для сериализации (хотя сам я не использовал его для этой цели). Вот запись в блоге с описанием того, как ее можно использовать в .Net с помощью XamlServices. Я не уверен, есть ли какие-либо API-интерфейсы XAML, отличные от Microsoft.

person Ken Wayne VanderLinde    schedule 06.03.2012
comment
Спасибо @Кен! Да, я думаю, что цель XAML - это более или менее то, о чем я думаю. Но я думаю, если есть что-то более стандартизированное... - person Waiting for Dev...; 07.03.2012
comment
@cram1010: Да, я понимаю, что ты имеешь в виду. XAML — это открытая спецификация, но не похоже, что многие люди написали другие API-интерфейсы XAML. Я нашел несколько, хотя. Например, Soyatec имеет реализацию для Java, а CodeJock добавляет поддержку XAML для C++, согласно их выпуск 2008 года. И, конечно же, Mono имеет реализацию .Net XAML API благодаря поддержке Silverlight. . - person Ken Wayne VanderLinde; 07.03.2012
comment
Я вижу @Ken Wayne VanderLinde ... В любом случае, я хотел бы также увидеть PHP, Ruby или Python XAML API :) Я удивлен, что для озера ответов, похоже, нет широкого стандарта, предназначенного для использования XML исключительно как формат сериализации объектов... - person Waiting for Dev...; 07.03.2012