А>Никто ничего похожего не делал или я объяснил криво?
Приветствую. Действительно, похоже мало кто имел с этими вопросами дело. В Вашем исходном сообщении меня заинтересовал факт "дублирования". Насколько я могу судить, мы своими WriteXml/ReadXml основательно вмешиваемся в обычный процесс сериализации и поэтому необходимы более глубокие знания для осознания происходящего.
К сожалению, я не понял когда, как и для чего используется метод, предоставляющий схему. Непонятно как её наличие влияет на процесс и чем/как она станет управлять. В моём случае, я не вижу отличий в результате сериализации со схемой и без неё (return null).
В моём случае ReadXml() вызывается кодом десериализации при состоянии reader'a, который указывает на элемент внутри родительского, что делает недоступными атрибуты, которые я рендерил во WriteXml(). Для того, чтобы сделать значения этих атрибутов доступными, удовлетворить существующую схему, используемую при валидации (которую мне вряд ли дадут просто так изменить), мне пришлось продублировать эти же атрибуты.
Мне было бы интересно услышать/прочитать мнение бывалых и/или указание на материалы, посвященные этой теме.